
人在感应灯
简介
使用了24G雷达的人体存在传感器,可感应微动/静止人体存在。并可作为感应小夜灯使用,可调光调色。软件层面使用了RTOS作为基础框架,因此系统运行实时、快速和稳定。从上电到连接MQTT只需要2秒。
简介:使用了24G雷达的人体存在传感器,可感应微动/静止人体存在。并可作为感应小夜灯使用,可调光调色。软件层面使用了RTOS作为基础框架,因此系统运行实时、快速和稳定。从上电到连接MQTT只需要2秒。开源协议
:CC BY-NC-SA 3.0
描述
人在感应灯
使用了24G雷达的人体存在传感器,可感应微动/静止人体存在。并可作为感应小夜灯使用,可调光调色。软件层面使用了RTOS作为基础框架,因此系统运行实时、快速和稳定。从上电到连接MQTT只需要2秒。
免责声明:
1.DIY及使用时可能存在电击、高温烫伤等多种可能至人伤、残、死亡的风险。请严格按照安全规范操作并做好充足的保护,未成年人请在监护人的辅助下操作。使用本方案,表示你已经对安全风险有充足的认知,请确认自己有足够的知识储备再行操作。造成的任何损失和后果自负,本人不承担任何法律上的责任。
2.本人所做项目,纯属自己学习或使用需要而建立,没有性价比。
3.本人是软件方向,非电子硬件科班生,只是业余爱好者,因此可能很多基本的硬件常识都不知道。电路图上如有任何不妥,还望各位不吝赐教,拱手致谢。
缘起:
之前我做 计量插座 的时候,隐隐约约一直都觉得软件运行不顺畅。
虽然是嵌入式设备本身资源有限,但是软件要做的事情还真不少。
要读按键输入KEY/要处理WIFI联网/MQTT连接/还要循环读BL0942计量芯片返回的数据。
虽然也可以用定时器处理,但定时器不能长时间运行代码,比如每秒1次的定时器就不能运行超过1秒时间的代码。
然后定时器也不能保证运行的及时性,被某段代码拖住导致到时间了没运行的情况也还是有的。
总之就是系统虽然写出来了,也可以正常运行。
但总感觉缺点意思,不够稳定。
有一次看孙老师的视频知道了RTOS(实时操作系统,追求实时响应和确定性)。
觉得这才是自己想要的效果。
所有又用了几个月的时间,从无到有,把之前的软件框架完全推翻,基于ESP8266_RTOS_SDK重新写了这套软件系统。
不得不说,效果确实是比以前使用arduino框架的时候要好。
最简单的例子,以前从上电到连上WIFI和MQTT,平均要5/6/7秒的时间。
而现在只需要不到2秒。
长时间运行也很稳定:
如果没有意外的话,以后我用ESP12F制作的其他项目,都将使用这个框架。
硬件说明:
1.需要打板2块,分别是灯板主体和直插模块,2块PCB的厚度都是1mm。
2.灯板主体最好使用白色,因为WS2812B要发彩色光,其他颜色的PCB会偏色。
3.24G雷达模块使用的是睿达科技的USRR235-C,这个模块加邮费不到10块钱。
4.彩色光显示使用的是WS2812B-2020,IC控制电路与RGB发光单元集成在一个2020封装的元器件中,构成一个完整的外控像素点。 每个像素点的三基色颜色可实现256级亮度显示,可完成共16777216种颜色的全真色彩显示。
5.MCU还是使用常见的ESP12F(ESP12E、ESP12S全兼容)。
6.调试时必须装上外壳测试,请爱惜自己的生命。
7.如果在PCB打板过程中,厂家提示:中间铣槽连接位太小、会断板等,请回复:我已悉知并可接受此原因带来的风险,请直接按Gerber文件生产,谢谢!
软件说明:
1.编译环境为Ubuntu 22.04.5 LTS,使用ESP8266_RTOS_SDK框架。
2.使用开源的MQTT方案,不花一分钱就可以获得一个不限制设备数量和使用期限的云服务器。
3.实际使用中发现公共、免费的MQTT服务器虽然也能用,但延迟比较大。如果对实时性要求比较高的,建议在云服务器或者路由器上自建MQTT服务器(推荐软件EMQX,免费、性能强大)。
4.手机端使用附件里面的IoT MQTT Panel_0.45.18_Apkpure.apk,这个APP界面还行,使用也还方便,也完整的支持JSON,就是有广告这点不好。(有更合适的手机APP请在评论区留言)
软件主要功能:
1.支持网页配网
2.支持微信扫码配网(不推荐,不能100%成功)
3.支持网络对时NTP
4.支持MQTT,有助于更透彻的理解物联网工作机制。
5.支持OTA在线升级固件,通过网络就可以升级固件。
6.支持LittleFS文件系统,可以掉电保存各种参数。即使设备掉电重启,原先的参数还在。
7.支持HomeAssistant MQTT自动发现设备,可以使用MQTT集成,方便的进行控制。
相关元件来源:
1.外壳买这个-> 购买链接 ,把PCB拆掉就可以。4块钱还包邮,不可能会有更便宜的方案了吧?
2.雷达模块USRR235-C-> 购买链接
3.AC220V TO DC5V开关电源模块 右边的链接我都买过(注意:要买5V带脚的)-> 链接1 链接2 链接3
4.ESP-12F模块 可购买ESP12E/F/S,三种型号都是兼容的。我经常 -> 买这个,以前不到5块钱还包邮,现在涨价了。
5.WS2812B-2020,我以前买的是这个 -> 购买链接 但是现在好像有更便宜的,9块100个包邮 -> 购买链接1,购买链接2
6.微动开关是立式按键6*6*9mm,-> 购买链接
7.其他元件就没什么好说了,我基本上都是在TB买的。
8.(非必须)专用的烧录调试器,因为技术上的原因(详见下面原理图解析部分),烧录和调试需要在ESP12F的UART0/UART1之间切换,但普通的调试器没有这个功能。我前段时间专门做了一个调试器来应对这种情况-> 项目链接
但如果只烧录不调试,那普通的ESP12F调试器就可以,所以不是必须的。
原理图解析:
电源部分很简单,AC 220V->DC 5V->DC 3.3V
串口通信部分有点绕:
USRR235雷达模块使用UART协议跟单片机ESP12F通信,但ESP12F本身只有一个全功能的串口UART0,另外一个口UART1只有TX输出功能,不能RX输入。
电路设计成使用UART0通过内部交换功能 (UART SWAP)连接USRR235,UART1打印输出日志(不能输入)。
IO15这里有一个上电隔离,因为ESP12F的IO15上电需为低电平,上高电平会导致进入boot模式。上电 Q1 默认不导通。程序跑起来之后,通过IO14控制Q1导通,IO15连接⾄USRR235的RX。
因为默认的TX/RX不能再打印输出调试日志了,所以我专门开发了一个调试器来应对这种情况-> 项目链接
但如果只烧录固件不输出调试信息,那普通的ESP12F调试器就可以。
软硬件安装步骤:
1.先给ESP12F刷好固件
乐鑫官方刷机工具下载地址:
https://docs.espressif.com/projects/esp-test-tools/zh_CN/latest/esp32/production_stage/tools/flash_download_tool.html
固件包从附件里面下载,刷机配置见截图:
参数:
SPI SPEED:80M
SPI MODE:DIO
0x0 bootloader.bin
0x8000 partitions_4M_ota_littlefs.bin
0xd000 ota_data_initial.bin
0x10000 usrr235.bin
0x1F0000 littlefs.bin
第一次初始化需要刷5个文件,如果刷程序只要1个文件:
0x10000 usrr235.bin
COM口选择你自己的调试器所在的COM口。
2.给ESP12S配网设置好MQTT参数,参考附件里面的《使用说明》
3.在手机上安装MQTT APP,并设置好MQTT服务器参数。 设置参数在附件里面《APP设置参数》,设置方法参考: https://oshwhub.com/article/xin-guo-biao-wu-kong-ji-liang-cha-zuo-10A-pei-tao-shou-ji-APPan-zhuang-ji-she-zhi-shuo-ming
4.拆外壳
5.焊直插模块,把刷好固件的ESP12F焊接到PCB上
6.焊灯板主体,焊好的各角度图如下:
正面
反面
7.焊到外壳上
8.装壳
(完成)
硬件更新说明:
2025/1/6
1.硬件发布:(人在感应灯 V0.4 2025/1/6)
软件更新说明:
2025/1/6
1.软件发布:USRR235 (2025/1/4 19:40)
QQ群交流:

致谢:
感谢嘉立创yyds,每个月都要被我薅羊毛打板PCB。
感谢:@mxr123 @crino @S.Tsunami @QTEEE @www220 @sssfghseee2222 @tjdxryx @wangkj123 @baishao @gamefunc @zhenginfo1 @yu136 @squarer @lhjnmg @whj8315 @mylx_zydz @muyan2020 @edisonliu @全幼儿园最帅的男人
以及其他在评论区留言的大佬。因为你们的意见和建议,让我得到很多启发、学习到了更多的知识。
非常感谢!
设计图

BOM


评论