扫描关注一起学嵌入式,一起学习,一起成长
大家好,之前分享过一篇关于时钟的项目
一个软硬件开源的低功耗时钟项目
今天再分享一个开源时钟项目。
这是一个非常完整的智能手表开源项目,功能齐全,且资料开源。
如果你是:自己平时喜欢diy的工程师,想要提升开发技能的学生,马上要做毕设的大四学生,这个手表很值得一做,别错过了~~
所有开源的资料以及原文链接见文末。
先来看下这个手表的功能:
- 还具有可交换的 MAC 地址、扫描 WiFi 网络的能力
测距:使用的LiDAR是意法半导体(STMicroelectronics)的超简洁VL53L1X ToF(飞行时间)距离传感器。精度 <±1% ,可以测量从 4 厘米到 4 米的任何距离。由于它使用 940 nm 激光(它是红外线,因此人眼看不见),因此还在它旁边加入了一个可切换的亮红色 650nm 5mW 激光器,以帮助瞄准或进行演示。无线部分:手表利用 ESP-NOW 以超低功耗快速广播数据。之所以选择这种无线协议,是因为它能够绕过传统的WiFi连接设置,这使得其他设备之间的动作反应时间几乎是瞬时的,适用于大多数 32 位 MCU。扫描 WiFi 网络:手表还可用于扫描 WiFi 网络,并提供网络 SSID、RSSI(信号强度)和身份验证模式(网络的安全性 0-7)。由于广播无线数据非常耗电,手表编程为仅暂时激活 WiFi 以发送/接收数据,然后自动禁用。它还具有自动 1.5 秒睡眠模式计时器和倾斜唤醒检测功能,与 Apple Watch 非常相似,但Apple Watch 是无法连接到 DIY 门锁/电灯开关的。数字水平/坡度检测器:只需将手表放在有问题的表面上,然后单击 IMU 模式按钮即可访问实时倾斜和加速度数据。空气检测:手表内置的挥发性有机化合物 (VOC) 传感器,观察 IAQ 读数因目标气体与 BME680 加热的金属氧化层接触的结果而变化,还监测湿度和大气压力。
主题修改:手表还带有多个主题,可以选择最喜欢的颜色。主电路由ESP32-S3、五个传感器(可选第六个)、一个 LiPo 电池、一个激光模块驱动器以及用于为 ESP32-S3 微控制器供电、通信和设置的典型电路组成,还有一些按钮和连接器。更详细的原理图详解看这里(复制到浏览器打开):https://www.roboticworx.io/p/build-custom-esp32-boards-from-scratch#%C2%A7the-schematic要在如此小的空间(43x36mm)中塞得下如此多的器件,2层板肯定不够的,直接使用了4层本。在背面可以放置一些器件,并且中间的两层接地层,这样还能获得良好的隔离效果。bom清单在这里(复制到浏览器打开):https://github.com/RoboticWorx/Gateway-Smartwatch/blob/main/Gateway%20Part%20List%20and%20BOM.csv为确保一切正常,需要进行简单的测试。通过 USB-C 端口上传主程序,并确保一切正常。如果上传程序后看到屏幕似乎没有响应,可以断开电源,然后重启。也可以尝试按下重置按钮(最左侧的按钮)并重启电路板的电源。作为一个非常复杂的项目,下面是关于如何使用手表和操作不同按钮/组合的部分。下面是常规按钮布局及其作用:按钮 1 :通用主页按钮。在单击此按钮的任何时候,返回主表盘,手表能够进入睡眠模式(启用 1.5 秒计时器)。如果手表处于睡眠模式,还会唤醒手表(除了倾斜唤醒之外)。按钮 2:无线模式。按下这个按钮,按钮 2-5就 被重新分配以帮助导航不同的 MAC 地址。按钮 3 切换 MAC 地址,按钮 4 更改所选的 MAC 地址数字,按钮 5 遍历当前所选 MAC 地址的数字。按钮 3:惯性测量单元 (IMU) 模式按钮。单击按钮 3 后,将出现一个菜单,显示来自板载ICM42670的当前陀螺仪和加速读数。按钮 4 和 5 很特别,本身不会做任何事情,但可以1,2,3组合,完成一些功能:按住按钮 4 并单击按钮 1 ,将打开手表的手电筒屏幕。 按住按钮 4 并单击按钮 2 将通知手表开始 WiFi 扫描。这会将手表更改为新的空白屏幕,几秒钟后将出现本地 2.4GHz 网络。网络数据将包括 SSID(名称)、RSSI(信号强度)和身份验证模式(网络的安全性 0-7)。按住按钮 4 并单击按钮 3 将使手表进入时钟更改模式。 按钮 5 组合是独一无二的,因为它们都充当无线热键。这样,您不必在每次想要发送无线信号时都导航到无线菜单。按住按钮 5 并单击按钮 1 将向 菜单中的第一个 MAC 地址发送 1,按住按钮 5 并单击按钮 2 将向 菜单中的第二个 MAC 地址发送 1,依此类推最多三个。应该注意的是,手表必须处于打开状态才能使所有这些工作正常,除非将数据发送到第一个 MAC 地址(按钮 1 将其唤醒)。要激活 LiDAR,按住按钮 1 并按下按钮 2。要激活激光指示器,按住按钮 1 并按下按钮 3。如果在任何时候出现问题,可以随时单击启动按钮旁边的硬件重置按钮。最后是编程部分,这个项目太复杂了,直接使用 ESP-IDF(ESP32 微控制器的官方物联网开发框架)。代码在这里(复制到浏览器打开):https://github.com/RoboticWorx/Gateway-Smartwatch/tree/main/Code这绝对是一个非常实用的项目,但还是可以继续改进的:- 类似于 Flipper Zero 可以执行的更多 RFID 功能
- 手表内置的红外摄像头(用于热成像),用于以 32x24 分辨率进行温度感应。
- 5GHz 无线功能(希望 ESP32-C5 能为此而推出)。
好了,这里只是整理了部分的内容,想要复刻的,一定要认真看原文:原文链接:
https://www.roboticworx.io/p/build-the-ultimate-smartwatch-lidar
版权所属:ROBOTICWORX
文章来源于网络,版权归原作者所有,如有侵权,请联系删除。
关注【一起学嵌入式】,回复“加群”进技术交流群。
觉得文章不错,点击“分享”、“赞”、“在看” 呗!