【嵌入式实践】【芝麻】【设计篇-1】从0到1给电动车添加指纹锁:项目设计思路

0. 前言

       该项目是基于stm32F103和指纹模块做了一个通过指纹锁控制电动车的小工具。支持添加指纹、删除指纹,电动车进入P档等待时计时,计时超过5min则自动锁车,计时过程中按刹车可中断P档状态,同时中断锁车计时。改项目我称之为“芝麻”,取自芝麻开门(明明是车,哪里来的“门”,因为插钥匙的地方被修车师傅称之为“电门锁”)。

 专栏目录:快速导航

视频地址:b站链接

软件、硬件、机械原件存放位置:https://gitee.com/sunkai64/zhima


1. 项目背景

        这个项目的idea起源于一个夏天。我在公司附近住,骑电动车也就十几分钟,所以一直骑电动车上下班,但是停车的地方距离我上班的工位,走过去也差不多5-10min,这是前提。在23年6月份的上海,正是天气比较热的时候,夏天穿着比较清凉,兜里有个任何东西都会觉得,贴身,难受。所以身上不会随身装着车钥匙什么的。

        有一天,因为家里有事,我就打算趁着中午午休的时间回去一趟,直到快走到停车场我才发现我忘记带钥匙了,当时真的是一整个无语住了,回去取一趟钥匙,又得白白耽搁十几分钟的时间。这个时候我就想能否在不带钥匙的情况下给开自己的小电车?

        能达到这个目的的想法看似很多,其实一点也不少。市面上就有现成的解决方案,比如用NFC卡或者NFC信息录入手机后,用手机开锁。我的小电车类似下图,功能比较简单,界面上只能显示电量、P档和大灯开关信息。电门锁功能也比较简单,只有关闭、打开电车、打开大灯者三个功能。为了这个小需求,换一个电动车,有点不值得,不如自己做一个。

2. 初步想法

        如果我要引入指纹模块,那么我还需要引入一个MCU用来处理指纹模块的信息,MCU供电基本就在5V以下,解决MCU供电问题由2种思路,一种是加一个额外的电源,比如加锂电池(同时需要加充电电路),另一种就是直接从电瓶供电。考虑到易用性,我pass掉了第一个方案。既然我都引入了单片机,我是不是就能够做更复杂的功能了?答案是肯定的。就功能上,我列了如下3点,如果大家有自己的想法,还可以继续扩展。

        最基本的功能就是能够通过指纹模块来打开电动车,在使用过程中,要能够添加指纹和删除指纹,这样能够确保同一台电动车,可以给多个人使用。第2个功能就是把电动车的电瓶当做一个大的充电宝,毕竟按照计划,我已经能够获取5V的电源了。这个功能的灵感来自于外卖小哥,每次走在上班的路上看到外卖小哥,他们都会抱着个手机和大的移动电源,如果电动车能当做移动电源,那么他们是不是更方便了一些?(在zhima version 1版本中我添加了这个方案,不过version 2版本中去掉了,因为想给电路板节省一些空间,这个后面再聊。)。

        第3个功能就是电动车能够自动关机。灵感就来源于地铁口一台忘记拔掉车钥匙的车主,还有外卖小哥。外卖小哥为了赶时间,在送上楼送外卖时一般都不会锁车,也不会拔掉钥匙,这个行为是基于对大家的信任做出的,大家也没有辜负这份信任。但是如果电动车能够在进入P档后,等待一段时间自动关机,那不更好了。

3. 如果【芝麻】是个产品,我应该怎么做? 

        1)产品定位:从第2章将的产品灵感来源,大家也能看出来我设想的目标群体是“外卖小哥”。(以下纯属个人推测,因为不是想真正做出产品,所以也未做市场调研)经常骑电动车的群体应该有:外卖小哥,工作不久的打工人。针对这些群体,他们有一个共同点,都期望产品成本低,产品“耐造”。所以控制成本,提高产品稳定性是做【芝麻】时贯穿始终的意思。

        2)控制成本:就我有限的知识来看,我大概能识别到这些需要计算到成本里的事项:元器件选型、电路板制作、电路板焊接、外壳制作、物流、产品组装、产品手册,除了这些有形的成本,还需要考虑软件设计、机械设计、整体设计思考时花费的时间成本。其中对产品成本影响比较大的就是元器件选项和外壳的制作,而外壳制作这块,成本不太好压缩,所以后面控制成本的主要发力点就是精简电路设计,做好元器件选型。

        3)易用性:如果【芝麻】做成产品后,销售点应该就只能选在修车店,需要修车师傅拆开点车头安装。所以这里的易用性就需要考虑两个群体,第一个群体就是修车师傅侧的易用性,产品应该好拆卸、安装和维修,涉及到的知识点越少,越容易推广;第二个群体就是客户,产品应该能够满足客户的基本诉求。

4. 小结

        我们要能制作一个能够通过指纹来控制电车开关的设备,这个设备能够录入其他用户指纹,超时等待后自动关机,最好还具备充电宝的功能。在实现时,我们应考虑修车师傅用最少的步骤安装,用户能够快速学习使用。这个设备要控制成本,以匹配目标用户。机械设计时,可以利用电车头里里的这个空间来固定电路板:

---------------------【芝麻】项目相关文章都会收集在此专栏----------------------

感谢你看到这里,如果不介意的话,帮忙点个赞、关注支持一下~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/408846.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

NVIDIA Workbench 安装使用图文教程

NVIDIA Workbench 安装使用教程 文章目录 NVIDIA Workbench 安装使用教程1.安装1.1 下载软件1.2 安装软件 2.使用NVIDIA Workbench2.1 创建一个新项目 3.额外提示3.1 当我们没有停止直接关闭或者直接重启电脑后, 再打开我们已经创立的项目的时候可能会出现创建失败等错误信息.3…

Java核心-核心类与API(3)

话接上回,继续核心类与API的学习,这次介绍一下枚举类以及与系统、交互有关的类,需要了解并能使用即可。 一、枚举类 1、概述 枚举也称穷举,简单理解就是把所有可能一一列举出来(穷尽所有可能)。枚举是一…

申请攻读博士学位研究生相关模板资料(包括专家推荐信、学术简历、研究计划及范文、回复导师邮件)

申请攻读博士学位研究生相关模板资料(包括专家推荐信、学术简历、研究计划及范文、回复导师邮件) 博士是对攻读博士学位的研究生的称呼,同样也可用来称呼已获得博士学位的人员。 主要通过拥有博士点的普通高等学校和拥有博士研究生培养资格…

[SUCTF 2019]EasySQL1 题目分析与详解

一、题目介绍 1、题目来源: BUUCTF网站,网址:https://buuoj.cn/challenges 2、题目描述: 通过以上信息,拿到flag。 二、解题思路 首先打开靶机,尝试输入1查看回显,回显如图所示:…

图像读取裁剪与人脸识别

图像读取 Image read ⇒ \Rightarrow ⇒ torchvision.datasets from torchvision import datasets dataset datasets.ImageFolder(data_dir, transformtransforms.Resize((512, 512)))Return value illustration dataset[0][0]是PIL.Image objects,这利用IPyth…

数据结构-列表LinkedList

一,链表的简单的认识. 数组,栈,队列是线性数据结构,但都算不上是动态数据结构,底层都是依托静态数组,但是链表是确实真正意义上的动态数组. 为什么要学习链表? 1,链表时最简单的动态数据结构 2,掌握链表有助于学习更复杂的数据结构,例如,二叉树,trie. 3,学习链表有助于更深入…

LeetCode 1038.从二叉搜索树到更大和树

给定一个二叉搜索树 root (BST),请将它的每个节点的值替换成树中大于或者等于该节点值的所有节点值之和。 提醒一下, 二叉搜索树 满足下列约束条件: 节点的左子树仅包含键 小于 节点键的节点。 节点的右子树仅包含键 大于 节点键的节点。 左…

js逆向-2

#md5加密,某宝案例演示。 #免责声明:本文仅供学习使用,请勿用于其他违法行为(╥ω╥)

软件性能测试和功能测试有何联系和区别?第三方软件检测机构简析

软件性能测试和功能测试是软件开发过程中非常重要的两个环节。从根本上说,它们都是为了保证软件质量和可靠性,但它们的目标和方法却有所不同。 软件性能测试是评估软件在特定负载下的性能表现,包括响应时间、吞吐量、并发能力等指标。它通过…

MySQL 学习记录 2

原文:https://blog.iyatt.com/?p13818 13 存储引擎 查看一下前面创建的一张表的创建语句,当时并没有显式指定引擎,MySQL 自动指定的 InnoDB,即默认引擎是这个。 创建表的时候要显式指定引擎可以参考这个语句 查看当前 MySQL …

如何正确使用Postman变量?又该如何灵活设置变量?

引言 Postman变量可以帮助你快速生成测试数据、模拟不同的场景和环境。 但是,如何正确使用Postman变量?又该如何灵活设置变量?这些问题不用担心,接着往下看吧! 理解变量 为什么要使用变量? 如果在多个…

探索Java11新世界:JDK 11新特性详解

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

设计模式篇---观察者模式

文章目录 概念结构实例总结 概念 观察者模式:定义对象之间的一种一对多的依赖关系,使得每当一个对象状态发生改变时,其他相关依赖对象都得到通知并被自动更新。 观察者模式是使用频率较高的一个模式,它建立了对象与对象之间的依赖…

一文读懂列表解析、字典解析、集合解析

一、所谓解析/解析式,也称为推导/推导式,对应英语单词为comprehension,是Python的一种独有特性。解析就是从一个数据序列构建另一个新的数据序列的结构体,其本质是使用一个可迭代对象,按一定规则通过表达式、函数等运算…

Git的基本操作和原理

目录 写在前面的话 为什么要有Git(git初识)? Git安装(Centos为例) Git基本操作 创建Git本地仓库 Git配置 认识工作区、暂存区、版本库 概念认识 添加文件 查看.git文件 修改文件 版本回退 撤销修改 情况一:…

[数据集][目标检测]游泳者溺水数据集VOC+YOLO格式2类别895张

数据集制作单位:未来自主研究中心(FIRC) 数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):895 标注数量(xml文件个数)&#xff1a…

博途PLC PID仿真(单容水箱液位高度控制含变积分变增益测试)

单容水箱和双荣水箱的微分方程和数值求解,可以参考下面文章链接: https://rxxw-control.blog.csdn.net/article/details/131139432https://rxxw-control.blog.csdn.net/article/details/131139432这篇博客我们利用欧拉求解器在PLC里完成单容水箱的数学建模。PLC也可以和MATL…

SpringBoot Admin 详解

SpringBoot Admin 详解 一、Actuator 详解1.Actuator原生端点1.1 监控检查端点:health1.2 应用信息端点:info1.3 http调用记录端点:httptrace1.4 堆栈信息端点:heapdump1.5 线程信息端点:threaddump1.6 获取全量Bean的…

基于SSM的萌宠宜家商城系统(有报告)。Javaee项目。ssm项目。

演示视频: 基于SSM的萌宠宜家商城系统(有报告)。Javaee项目。ssm项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring …

【黑马程序员】3、TypeScript常用类型_黑马程序员前端TypeScript教程,TypeScript零基础入门到实战全套教程

课程地址:【黑马程序员前端TypeScript教程,TypeScript零基础入门到实战全套教程】 https://www.bilibili.com/video/BV14Z4y1u7pi/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 目录 3、TypeScript常用类型 3.1 类型注解 …