【嵌入式实践】【芝麻】【设计篇-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

相关文章

MySQL 迁移至 Doris 最佳实践方案(最新整理)

《MySQL迁移至Doris最佳实践方案(最新整理)》本文将深入剖析三种经过实践验证的MySQL迁移至Doris的最佳方案,涵盖全量迁移、增量同步、混合迁移以及基于CDC(ChangeData... 目录一、China编程JDBC Catalog 联邦查询方案(适合跨库实时查询)1. 方案概述2. 环境要求3.

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.

全面掌握 SQL 中的 DATEDIFF函数及用法最佳实践

《全面掌握SQL中的DATEDIFF函数及用法最佳实践》本文解析DATEDIFF在不同数据库中的差异,强调其边界计算原理,探讨应用场景及陷阱,推荐根据需求选择TIMESTAMPDIFF或inte... 目录1. 核心概念:DATEDIFF 究竟在计算什么?2. 主流数据库中的 DATEDIFF 实现2.1

Spring WebFlux 与 WebClient 使用指南及最佳实践

《SpringWebFlux与WebClient使用指南及最佳实践》WebClient是SpringWebFlux模块提供的非阻塞、响应式HTTP客户端,基于ProjectReactor实现,... 目录Spring WebFlux 与 WebClient 使用指南1. WebClient 概述2. 核心依

MyBatis-Plus 中 nested() 与 and() 方法详解(最佳实践场景)

《MyBatis-Plus中nested()与and()方法详解(最佳实践场景)》在MyBatis-Plus的条件构造器中,nested()和and()都是用于构建复杂查询条件的关键方法,但... 目录MyBATis-Plus 中nested()与and()方法详解一、核心区别对比二、方法详解1.and()

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

Spring事务传播机制最佳实践

《Spring事务传播机制最佳实践》Spring的事务传播机制为我们提供了优雅的解决方案,本文将带您深入理解这一机制,掌握不同场景下的最佳实践,感兴趣的朋友一起看看吧... 目录1. 什么是事务传播行为2. Spring支持的七种事务传播行为2.1 REQUIRED(默认)2.2 SUPPORTS2

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.