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

2024-02-26 09:28

本文主要是介绍【嵌入式实践】【芝麻】【设计篇-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. 小结

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

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

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

这篇关于【嵌入式实践】【芝麻】【设计篇-1】从0到1给电动车添加指纹锁:项目设计思路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/748404

相关文章

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired