(2)用Micropython将ESP32数据上云

之前我们尝试过直接把LED点亮并且闪烁。
今天尝试一下将LED的开关状态上云,并可以通过云来进行数据下发。
数据要上云,首先开发板要联网。
首先我们会用 Python的network 库, 在network库当中,提供STA_IF和AP_IF两种模式。其中进行连接的是使用STA_IF模式,如果使用AP_IF,则是将ESP32作为一个热点。后面的文章当中我们会用到。


import network 
import utime
WIFISSID = "Put your ssid here"
WIFIPWD = "Put yuou ssid password"
wlan = None
class ConnectWIFI:
    def connect_wifi(self): 
        # network.STA_IF 站点也称为客户端,连接到上游WiFi接入点
        # network.AP_IF 作为热点,允许其他WiFi客户端接入。热点模式允许用户将自己的设备配置为热点,这让多个设备之间的无线连接在不借助外部路由器网络的情况下成为可能。
        wlan = network.WLAN(network.STA_IF)  
        wifi_connected = False
        wlan.active(True)                  
        wlan.scan()                         
        wlan.connect(WIFISSID, WIFIPWD)       # 定义好的SSID 和 密码
        while True:
            # 判断是否已经连接网络
            wifi_connected = wlan.isconnected()    
            if wifi_connected:                     
                # 若没有连接成功,则一直连接
                break
            else:
                # 连接成功,进行提示
                utime.sleep_ms(2000)
                print("Wifi connet status :", wifi_connected)
        ifconfig = wlan.ifconfig()       
        # 打印网络情况              
        print(ifconfig)

当WI-FI已经连接成功后,我们的开发板已经有了通讯的能力,下一步我们将我们的开发板和阿里云物联网平台进行连接。
在连接之前需要保证:

  1. 自己拥有阿里云账户
  2. 开通了IOT服务
  3. 已经注册了对应的产品和设备。
    如果还没有设置IOT的请看下面:
    首先创建一个产品


    设定产品的名称,品类和其他信息

<think>嗯,用户想了解基于Thonny开发环境和华为平台搭建农业大棚环境监测与控制系统的硬件选型及优缺点。首先,我需要确定系统的核心功能:监测环境参数比如温湿度、光照、土壤湿度,还有控制设备如风机、灌溉、遮阳等。然后,硬件部分需要包括传感器、控制器、执行器、通信模块以及电源等。 首先,主控板方面,用户提到Thonny,这通常是用于Python开发的,所以主控板应该支持MicroPython。常见的选项有ESP32和树莓派Pico。ESP32的优点是有Wi-Fi和蓝牙,适合连接华为,但处理能力一般。树莓派Pico的GPIO多,价格低,但需要额外模块联网,可能不太方便。可能ESP32更适合,毕竟需要连接。 接下来是传感器。温湿度常用的有DHT22和SHT30。DHT22成本低,但精度和响应速度一般;SHT30更准更快,但贵一些。光照方面,BH1750是数字的,精度高,而光敏电阻便宜但需要模拟转换,可能增加复杂度。土壤湿度传感器,简单的是电阻式,便宜但易腐蚀;FDR电容式的耐用但贵。气体传感器如MQ-135检测有害气体,但需要定期校准。用户可能需要根据预算和精度需求选择。 执行器部分,继电器模块控制风机、水泵等,注意负载匹配。步进电机用于精确控制,比如遮阳帘,但需要驱动板。电磁阀用于灌溉,同样需要继电器。这部分需要根据具体控制对象选型。 通信模块,如果主控不带Wi-Fi,可能需要ESP8266模块,或者直接使用4G模块如SIM7600,适合无Wi-Fi覆盖的大棚,但成本高。华为一般用MQTT协议,要确保模块支持。 电源方面,太阳能+电池适合无市电的情况,但阴天可能供电不稳。市电转换模块稳定,但布线麻烦。UPS备用电源可以防止断电,但增加成本。 其他配件,比如扩展板方便接线,防水盒保护电路,OLED屏实时显示数据。这些根据实际需要添加。 选型推荐的话,主控选ESP32,集成Wi-Fi,方便上。传感器方面,预算足够用SHT30、BH1750、FDR电容式土壤传感器,提高数据准确性。执行器选继电器控制水泵和风机,步进电机控制遮阳。通信直接用ESP32的Wi-Fi,如果信号不好再加4G模块。电源用太阳能+市电双备份,加UPS确保稳定。 需要注意的地方是防潮和散热,大棚环境潮湿,所有硬件需要防水处理。还有华为接口的兼容性,确保数据传输稳定。可能还需要考虑扩展性,未来增加传感器或其他设备。 最后,用户可能需要一个具体的方案示例,列出每个部分的具体型号、优缺点,以及如何集成到系统中。同时,提醒他们注意安装和维护的问题,比如传感器的校准、执行器的耐用性等。</think>### 基于Thonny开发环境与华为平台的农业大棚监测控制系统硬件选型指南 --- #### **一、核心硬件组成** 系统需包含 **环境感知层**(传感器)、**控制执行层**(执行器)、**主控单元**(嵌入式开发板)、**通信模块**(数据传输)、**电源管理**(供电方案)。 --- #### **二、硬件选型推荐与对比** ##### 1. **主控单元** - **推荐型号**:ESP32开发板 - **优点**: - 支持MicroPython(兼容Thonny开发环境) - 内置Wi-Fi/蓝牙,直接对接华为(MQTT/HTTP协议) - 低功耗模式适合长期运行 - **缺点**: - 复杂算法处理能力较弱(如大规模数据分析需依赖端) - **备选型号**:树莓派Pico + ESP8266通信模块 - **优点**:GPIO接口丰富,成本更低 - **缺点**:需额外配置网络模块,系统集成复杂度略高 --- ##### 2. **环境传感器** | 传感器类型 | 推荐型号 | 优点 | 缺点 | |------------|------------------|-------------------------------|-------------------------------| | **温湿度** | DHT22 / SHT30 | 成本低(DHT22);高精度(SHT30) | 响应速度较慢(DHT22);价格高(SHT30) | | **光照** | BH1750 | 数字信号输出,精度高 | 需I2C通信,占用主控资源 | | **土壤湿度**| 电容式传感器 | 抗腐蚀(如YL-69电阻式易氧化) | 需校准,价格较高 | | **CO₂浓度**| MH-Z19C | 红外测量,精度±50ppm | 功耗较高,需定期预热 | --- ##### 3. **执行器** - **继电器模块**(控制风机、水泵) - **优点**:驱动能力强(支持AC 220V负载) - **缺点**:机械寿命有限(建议选固态继电器) - **步进电机**(控制遮阳帘开合) - **优点**:定位精准,适合线性控制 - **缺点**:需配套驱动板(如A4988) - **电磁阀**(灌溉系统) - **优点**:响应速度快,密封性好 - **缺点**:需匹配水管压力 --- ##### 4. **通信模块** - **华为对接方案**: - **ESP32内置Wi-Fi**:直接通过AT指令或MicroPython库连接华为IoTDA - **4G模块(如SIM7600)**:适用于无Wi-Fi覆盖的大棚,但需插入SIM卡 --- ##### 5. **电源管理** - **太阳能供电方案**: - **优点**:绿色能源,适合偏远地区 - **缺点**:阴雨天需搭配锂电池(如18650电池组) - **市电转换模块**: - **优点**:稳定性高,支持大功率设备 - **缺点**:需布线,存在安全隐患 --- #### **三、华为平台整合要点** 1. **数据上传**: - 使用MicroPython的`umqtt`库实现MQTT协议上传传感器数据至华为IoTDA。 2. **控制下发**: - 通过华为规则引擎触发控制指令(如远程开启水泵)。 3. **可视化监控**: - 利用华为Astro大屏工具生成实时数据看板。 --- #### **四、典型系统架构** ``` 传感器层(DHT22/BH1750) → 主控(ESP32) → 华为数据分析/存储) → 控制指令 → 执行器(继电器/电机) ``` --- #### **五、注意事项** 1. **防潮设计**:所有电路需做灌胶密封处理(尤其土壤传感器)。 2. **通信冗余**:建议同时本地存储数据(如SD卡),防止断网丢数据。 3. **成本控制**:初期可先用DHT22+电阻式土壤传感器,后期升级高精度型号。 如需具体型号采购链接或代码示例(如Thonny中读取传感器的MicroPython代码),可进一步补充说明!
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

炒陈饭老司机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值