数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 3607|回复: 97

[Arduino] 使用 433M 数传搭建无线温度监控系统,为阳台囤菜保驾护航(原创)

    [复制链接]
发表于 2021-12-23 09:33:00 | 显示全部楼层 |阅读模式

认识众多玩家高手/拆客/DIY爱好者,查阅更多资源,一起学习技术知识

您需要 登录 才可以下载或查看,没有帐号?立即注册 微信登录

x
哈尔滨的冬天比较寒冷,从11月初就开始零下,整个冬天最冷能到 -30~-40℃.
既然冷的无处可逃,索性就好好利用一下:整个冬天的阳台就是个免费冰库,可以储藏各种冷冻食品。

今年随着疫情的影响,哈尔滨从十月就一波波的封 锁管控,甚至还出现一次冻雨导致大面积停电停水。
为了对抗这些极端的情况,今年早早就囤足了各种蔬菜肉类,因而也早早期待着阳台能有低温出现。

然而刚深秋气温不是很稳定,时常会在白天升至零上,给储藏的冻货带来不利影响。
既然手头有材料,索性搭建一套温度监控系统,随时观察阳台冷冻情况,以便及时抢救。


【原理】
由于室内外温差高达 40-50℃,因而阳台需要密封+保暖性能非常棒的门来隔离。这样一来基本排除了有线方案,需要上无线数传。

在频点上,特意避开已经用烂的 2.4G,从根源上避免与室内众多wifi、蓝牙、微波炉起冲突。
手头有 315M 和 433M 两种模块,考虑到小体积天线,最终选择了 433M ASK,自定义协议实现无线数传。

阳台安置发射节点 ThermTX ,定期广播当前温度数据;室内放置多个接收节点 ThermRX 以便查看。

IMG0.png


【发射节点】

发射结点功能不多:定期读取 DS18B20,驱动 433M-ASK 广播温度数据,要求可以承受 -30℃ 低温。

结构上采用 Arduino + 搭棚版方式实现:

IMG1A.JPG

IMG1B.JPG

之后整机塞入纸箱防尘,对外引出 DS18B20 探头置于储藏区域,供电由 DC9V 路由器电源完成:

IMG1C.JPG

传输协议使用简单的引导+同步+数据+校验格式,由于没啥敏感数据也就未作加扰/加密处理:

IMG1D.png


【接收节点#1】

接收节点就是个接收+数码管显示系统。由于需要长期使用,为降低对 Arduino 主板的消耗,这里用了自焊的精简版:

IMG2A.JPG

Arduino 扩展板上预留了蜂鸣器,原本预备温度异常时报警提示。
结果看我这最弱的睡眠,也就没去写滴滴乱响的代码了,运行起来直接显示阳台温度:

IMG2B.JPG

为降低对 433M 频段的占用比例,传输使用了较为简单的脉冲协议,因而有着一定的误码率。
实际 433M 接收端使用了类似于卡尔曼滤波的方式,确保显示稳定、正确。


【接收节点#2】

有了首个接收节点,理论上已可以随时监控阳台温度,但实际使用起来依旧存在漏洞:
阳台可能只在某个时间段出现冰点以上温度,单看当前温度,可能并不知道已出现解冻的事实。

因而需要一个带历史数据/温度曲线的接收端,可以回溯一段时间内的阳台冷冻历史,确保食材不解冻。

正巧手头有某二手的点阵屏,前阵子刚研究通驱动。屏幕整体非常新,店家因为没有资料而当二手处理:

IMG3A.jpg

背后的两团牛屎实则是 KS0108 *2,使用并口驱动很容易点亮,随手封装进 U8g2 类库,128x48 分辨率:

IMG3B.JPG

由于要长期使用,一直占用着排线并不好,索性搞块扩展板转接下。使用 16V8 作连线切换,使用 HC164 作串并转换:

IMG3C.JPG

最终插上芯片的样子:

IMG3D.JPG

ATF16V8 便宜又好用,可以灵活切换 Arduino 到液晶的连线,避免与其他模块(例如SPI-SD)冲突。
编译好的 jed 可直接用 Proteus 仿真,基本上不需要怎么调试:

IMG3E.png

先写个简单的巨幅数字将就显示下,确定接收+显示硬件没问题:

IMG3F.JPG


【温度曲线】

使用点阵液晶初衷就是回溯温度曲线,因而使用 Arduino+U8G2 环境折腾之。全嵌入式的系统,可省去电脑查看。
接收端在基础解码(含类卡尔曼滤波)基础上,添加一个顺序队列,回溯等间隔的 128 个温度样本:

IMG4D.png

实际选取样本间隔为 10min,即屏幕上 1px=10min,1div=6px=1h,阳台温度掉落冰点的效果:

IMG4A.JPG

阳台全天零下时,20h 内温度波动如下。早晨 7:00 日出后开始升温,下午 14:00 阳光直射造成短时间阶跃:

IMG4B.JPG

冬至当前哈尔滨大降温,从前一天夜里 22:00 开始连续掉了约 8℃,一直到上午 10:00 才消停:

IMG4C.JPG

看多了这曲线,唯有大片的零下黑块,才能安抚我对食材保存的焦虑,这大概与仓鼠无异.....


【固件打包】

附上前文涉及的固件包:

a. 公共发射端: FW1-ThermTX.zip (1.32 KB, 下载次数: 6)
b. 接收端#1-数码管: FW2-ThermRX(LED).zip (5.34 KB, 下载次数: 2)
c. 接收端#2-点阵屏: FW3-ThermRX(LCM).zip (2.73 KB, 下载次数: 2)
d. 接收端#2-16V8: FW4-ATF16V8-FuseMap.zip (500 Bytes, 下载次数: 2)

---------------------------------------------------------------------------------------------------------------------------------

以上,使用 Arduino 实现了一套无线温度监控系统,随时监控过去 20h 内阳台冷冻情况,为抗疫囤菜保驾护航。

最后祝大家远离新冠,生活愉快!



打赏

参与人数 21M币 +1403 收起 理由
pdsczg + 10
亚历山大 + 20
mydigit + 1000 恭喜获得原创文章热度奖励1000M.
vaoxxx + 60 優秀文章
kkdkj + 20 謝謝分享
moontree + 20 謝謝分享
hzw6834 + 20 原創內容
2n3055 + 20 謝謝分享
snowrose2000 + 20 高科技囤菜啊!
慕名而来 + 20 原創內容

查看全部打赏

发表于 2021-12-23 10:04:49 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-12-23 10:23:10 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 1 反对 0

使用道具 举报

发表于 2021-12-23 10:24:32 来自手机浏览器 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-12-23 10:27:49 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-12-23 10:43:48 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-12-23 11:34:03 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 1 反对 0

使用道具 举报

发表于 2021-12-23 12:08:11 来自手机浏览器 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-23 15:52:28 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 1 反对 0

使用道具 举报

发表于 2021-12-23 16:20:44 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 1 反对 0

使用道具 举报

发表于 2021-12-23 16:45:22 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-23 17:05:09 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-23 17:05:30 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-23 17:06:43 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 1 反对 0

使用道具 举报

发表于 2021-12-23 17:07:37 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-23 17:07:51 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-23 17:12:41 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-12-23 17:42:53 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

轻APP|手机版|小黑屋|关于我们|联系我们|法律条款|数码之家

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2022-1-20 13:51 , Processed in 0.093600 second(s), 12 queries , Redis On.

Powered by Discuz!

© 2006-2021, MyDigit.cn

快速回复 返回顶部 返回列表