您的位置:首页 > 编程语言 > ASP

RaspberryPi和Arduino温室恒温改进

2016-01-24 00:34 537 查看
前一篇文章使用RaspberryPi和Arduino控制温室的温度,发现树莓派读取温度是总会出错,原因在于DHT11的控制协议是微秒级别的,但是树莓派达不到,因此改成传感器都有Arduino控制,树莓派和Arduino之间使用串口通信。

Arduino上运行的程序如下:Arduino Commander,这个程序用到了SimpleSerialSimpleDHT这两个库。

树莓派上运行的程序是:RaspberryPi Greenhouse,用到了Python的串口通信库SimpleSerial

主要的改进是:

Arduino控制温度传感器,读取数据最高频率为1秒,数据几乎不出错,比树莓派上读取温度湿度信息好非常多了。

树莓派和Arduino通过SImpleSerial串口命令协议通信,该协议使用了容错,也意味着程序需要考虑命令可能没有成功执行的情况。

树莓派发送升温命令给Arduino,同时有目标温度和有效时间,Arduino开启继电器加热时,会检测目标温度以及有效时间,如果温度达到或者有效时间超时都会停止加热。也就是部分控制逻辑也在Arduino上,Arduino不仅仅是个执行器。

最后,上图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: