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

相关文章

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

Python获取C++中返回的char*字段的两种思路

《Python获取C++中返回的char*字段的两种思路》有时候需要获取C++函数中返回来的不定长的char*字符串,本文小编为大家找到了两种解决问题的思路,感兴趣的小伙伴可以跟随小编一起学习一下... 有时候需要获取C++函数中返回来的不定长的char*字符串,目前我找到两种解决问题的思路,具体实现如下:

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于