700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 树莓派 Pico仅4美元 IoT物联网开发实战

树莓派 Pico仅4美元 IoT物联网开发实战

时间:2018-12-17 23:47:59

相关推荐

树莓派 Pico仅4美元  IoT物联网开发实战

树莓派基金会发布了基于一款全新的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 /packages/bd/cf/697e3418b2f44222b3e848078b1e33ee76aedca9b6c2430ca1b1aec1ce1d/micropython-umqtt.simple-1.3.4.tar.gz

使用设备三元组,建立MQTT连接

importutimefromumqtt.simpleimportMQTTClientimportujsonproduct_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--'.format(product_key)broker_port=1883client=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程序后,我们看到设备状态为在线物模型数据中可以看到最新上报的温度和湿度值

监控运维日志服务里,也可以看到设备上报数据的日志。如下图:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。