树莓派基金会发布了基于一款全新的 RP2040 芯片构建的首款微控制器级产品:Raspberry Pi Pico,售价仅 4 美元。
如果你使用过 Arduino 或支持 MicroPython 的开发板,那么树莓派 Pico 上手会很容易,并且能快速搭建起 IoT 物联网应用。
Pi Pico 开发板
树莓派 Pico 规格参数:
在Pico 使用MicroPython
安装 MicroPython
你可以通过将 Pico 由 USB 连接到 PC,然后将程序文件拖放到 Pico 上来实现编程。安装步骤如下:
1、通过下面的按钮下载 MicroPython 的 UF2 文件。
2、按住 Pico 开发板上的 BOOTSEL 按钮,然后将 Pico 插入树莓派或 PC 的 USB 接口,然后松开 BOOTSEL 按钮。
3、Pico 会被识别为大容量存储设备。
4、将下载的 MicroPython UF2 文件放入 RPI-RP2 卷上。你的 Pico 将自动重启,然后 MicroPython 就开始运行了。
IoT物联网开发
1.云端开发
我们在 IoT 控制台的设备管理页面,我们需要先创建一个产品Pico温湿度计,数据通信以JSON格式,认证方式为设备秘钥,功能定义添加物模型属性温度和湿度。如下图:
我们在设备管理页面,基于Pico温湿度计产品,注册一个设备,并获取设备身份认证的三元组。如下图:
2.设备端开发
通过命令行安装 umqtt
-
>>> import upip
-
>>> upip.install(
'micropython-umqtt.simple')
-
Installing
to: /lib/
-
Installing micropython-umqtt.simple
1.3.
4 from
https:/
/files.pythonhosted.org/packages
/bd/cf
/697e3418b2f44222b3e848078b1e33ee76aedca9b6c2430ca1b1aec1ce1d/micropython-umqtt.simple-
1.3.
4.tar.gz
使用设备三元组,建立MQTT连接
-
import utime
-
from umqtt.simple
import MQTTClient
-
import ujson
-
-
product_key =
'产品productKey'
-
device_name =
'设备deviceName'
-
device_secret =
'设备deviceSecret'
-
-
client_id =
'pico'
-
sign_method =
'hmacsha1'
-
-
mqtt_client_id =
'{0}|securemode=3,signmethod={1}|'.format(client_id,sign_method)
-
username =
'{0}&{1}'.format(device_name, product_key)
-
password = get_password(client_id,product_key,device_name,device_secret,sign_method)
-
-
broker_address =
'{0}.iot-as-mqtt.cn-shanghai.aliyuncs.com'.format(product_key)
-
broker_port =
1883
-
-
client = MQTTClient(client_id=mqtt_client_id,
-
server=broker_address,
-
port=broker_port,
-
user=username,
-
password=password,
-
keepalive=
300)
-
-
client.set_callback(callback)
-
client.connect()
设备主动上报物模型数据:
-
publish_topic =
'/sys/{0}/{1}/thing/event/property/post'.format(product_key, device_name)
-
data = {
-
'id':
'13548753493',
-
'version':
'1.0',
-
'params': {
-
'temperature':
21,
-
'humidity':
68
-
}
-
}
-
message = ujson.dumps(data)
-
client.publish(publish_topic, message)
3.联机运行
烧录Python程序后,我们看到设备状态为在线,物模型数据中可以看到最新上报的温度和湿度值。
在监控运维的日志服务里,也可以看到设备上报数据的日志。如下图:
转载:https://blog.csdn.net/klandor2008/article/details/113211005