基于MicroPython 和ESP32 的家庭环境监控系统设计
2021-12-02李东明
李东明
(广西科技职业学院,广西 崇左 532200)
目前Python 编程语言是市场较受欢迎的编程语言之一,而MicroPython 是基于Python3 语法实现的一种可以在单片机上运行的Python 语言分支[1],它拥有独立的解析器、类库、编译器等完全可以实现对单片机底层的访问与操作,可以轻松实现I2C 读取数据,ADC、DAC 的转换,SD 卡的访问,对电机的控制等功能。MicroPython 支持的单片机类型有 STM32F4 系列、ESP32、W800、TI CC3200 等[2-3],它的创始人是一位澳大利亚的程序员、物理学家Damien George。
众多的通信协议和云计算数据的交换,在智能家居的开发中给开发者带来了更高的门槛和不便[4],这些问题运用MicroPython 编写系统可以得到很好地解决。MicroPython 对大部分的通信协议做了封装且使其具有良好的二次开发特性,还具有脚本语言易读的性质[5-9]。因此本设计采用ESP32 作为载体MicroPython 编写逻辑与通信协议来实现一种家庭环境监测和控制系统。
1 总体设计
监测系统的总体框架如图1 所示,通信Wi-Fi 模块集成在ESP32 单片机模块中,远程控制运用手机APP 实现,ESP32 模块通过传感器获取室内的环境信息并通过Wi-Fi 上传到网络从而传送到使用者的手机,使用者可以通过手机APP 查看家里的煤气是否泄漏、环境质量情况和温湿度等情况,系统会根据检测到的环境值自动驱动相关设备工作,如有可燃气体泄漏时会自动实现驱动外接设备,使用者可以在手机APP控制继电器外接设备。可在OLED 屏幕显示可燃气体与空气质量情况。

图1 家庭监测系统总体框架
2 系统硬件选用及物联网平台的选用
2.1 ESP32 的选用
ESP32 采用两个哈佛结构Xtensa LX6 CPU 构成双核系统。……
