DIY及创意
直播中

听我讲

9年用户 685经验值
擅长:电源/新能源 MEMS/传感技术
私信 关注

基于ESP32的终极智能手表,全过程!全开源!

这是一个资料非常非常完整的基于ESP32的无线智能手表项目,手表的功能齐全,且资料开源。

如果你是:自己平时喜欢DIY的工程师,想要提升开发技能的学生,以后要做毕设的大四学生,这个手表很值得一做,别错过了~~

图片

图片

所有开源的资料以及原文链接见文末。

先来看下这个手表的功能:

  • 首先,是一个可以佩戴的手表
  • 可以充当紧凑的无线访问设备,控制所有物联网设备
  • 还具有可交换的 MAC 地址、扫描 WiFi 网络的能力
  • 内置距离感应的 LiDAR
  • 实时温度、海拔、湿度、压力、气体、倾斜度和加速度
  • 通过按键控制所有操作

主要功能详解

测距

使用的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 分辨率进行温度感应。
  • 更改为触摸屏
  • LoRa 模块发送命令的远程无线电通信
  • 5GHz 无线功能(希望 ESP32-C5 能为此而推出)。
  • GPS实时坐标功能、磁力计
  • 实时摄像头监控(外部摄像头馈送到手表显示屏上)。
  • 延长电池续航时间。

好了,这里只是整理了部分的内容,想要复刻的,一定要认真看原文:

原文链接:https://www.roboticworx.io/p/build-the-ultimate-smartwatch-lidar

版权所属:ROBOTICWORX

更多回帖

发帖
×
20
完善资料,
赚取积分