用 Raspberry Pi 与 Arduino 制作的邮件通知监护系统:温度危险时发邮件提醒
盛夏高温时,独居老人因没察觉室内温度持续升高而中暑被送医的情况越来越多。Zenn 上公开的个人开发项目「THSense」面向照顾异地家人的人群,它监测房间的温湿度,温度达到危险水平时通过邮件通知。
功能很简单:每分钟测量一次室内温湿度,超过 35℃ 就发送邮件,并能在浏览器中以图表查看当前数值和历史走势。据作者说,之所以做成图表,是为了及早发现温度持续上升之类的预兆。
系统的构成很有意思。温度传感器(DHT20)的读取没有交给 Raspberry Pi,而是交给了 Grove Beginner Kit 上的 Arduino,因为它实时性更好,也更容易取得准确的数值。Arduino 每 60 秒通过 USB 串口向 Raspberry Pi 发送一串字符,Raspberry Pi 上的 Python 程序用 pyserial 接收并还原成数值,然后负责温度判断、发送邮件以及存入数据库。数据库是部署在 Azure 虚拟机上的 MariaDB,页面则用 Flask 和 Chart.js 实现。邮件通过 smtplib 经由 Gmail 的 SMTP 发出,账户信息不写在代码里,而是从 .env 文件读取。
分工非常清楚,是一个很好的小型物联网设计范例。由 Arduino 负责采集、Raspberry Pi 负责判断和通知,这种分法在我自己考虑类似的小制作时也用得上。作者说源代码已在 GitHub 上公开。
出处:Zenn
功能很简单:每分钟测量一次室内温湿度,超过 35℃ 就发送邮件,并能在浏览器中以图表查看当前数值和历史走势。据作者说,之所以做成图表,是为了及早发现温度持续上升之类的预兆。
系统的构成很有意思。温度传感器(DHT20)的读取没有交给 Raspberry Pi,而是交给了 Grove Beginner Kit 上的 Arduino,因为它实时性更好,也更容易取得准确的数值。Arduino 每 60 秒通过 USB 串口向 Raspberry Pi 发送一串字符,Raspberry Pi 上的 Python 程序用 pyserial 接收并还原成数值,然后负责温度判断、发送邮件以及存入数据库。数据库是部署在 Azure 虚拟机上的 MariaDB,页面则用 Flask 和 Chart.js 实现。邮件通过 smtplib 经由 Gmail 的 SMTP 发出,账户信息不写在代码里,而是从 .env 文件读取。
分工非常清楚,是一个很好的小型物联网设计范例。由 Arduino 负责采集、Raspberry Pi 负责判断和通知,这种分法在我自己考虑类似的小制作时也用得上。作者说源代码已在 GitHub 上公开。
出处:Zenn
评论 0
来写第一条评论吧,用任何语言都行。
登录后评论