资料介绍
描述
MQTT 使用 Micropython 将 W5100S-EVB-Pico 连接到 Azure IoT Hub 并发送和接收消息的过程。
我为 IoT Hub 使用了 SAS 令牌身份验证方法。
成分
W5100S-EVB-Pico
微型 5pin USB 数据线
网线
软件/软件
- 托尼
RP2040 Micropython 开发环境
检查设备信息
遥测监控
C2D传输
准备 Azure 资源
创建 Azure IoT 中心
创建 Azure IoT Hub 的方式有很多种,比如 Azure 门户、Azure CLI、REST API 等,一开始我们主要使用通过 Azure 门户创建的方法。
说明可以在下面的链接中找到。
微蟒固件
建造
构建操作使用 WSL2 (Ubuntu 20.04.4 LTS) 环境。
rena@Rena-PC:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.4 LTS
Release: 20.04
Codename: focal
搭建构建环境的信息,如安装工具,可以参考Micropython的官方文档。
Micropython 存储库中的自述文件中引用了构建过程。
https://github.com/micropython/micropython/tree/master/ports/rp2
存储库克隆
克隆包含子模块的存储库并检索子模块。
git clone https://github.com/micropython/micropython.git
cd micropython
git submodule update --init
构建子模块
make -C ports/rp2 submodules
mpy-cross build(MicroPython 交叉编译器)
在构建设备固件之前,必须先进行 mpy-cross 构建。
make -C mpy-cross
构建 W5100S-EVB-Pico 设备固件
W5100S_EVB_PICO 使用任何支持的设备构建固件。
可以在Micropython 中找到支持列表:ports/rp2/boards。
cd ports/rp2
make BOARD=W5100S_EVB_PICO submodules
make BOARD=W5100S_EVB_PICO
这是最终的构建过程。至少需要几分钟。
固件上传
将固件上传到设备。
进入引导模式
H/W v1.0和v1.1的形状略有不同,但是我的板子是v1.0,所以在按下板子的BOOTSEL按钮的同时提供电源(USB线),它进入了Boot模式。
在v1.1的情况下,如果在按住BOOTSEL键的同时按下RUN键,则进入开机模式,无需重新上电。
固件上传
内置固件位于以下路径。
-
micropython/ports/rp2/build-W5100S_EVB_PICO
上传文件firmware.uf2
。
现在固件的工作已经完成。
接下来,安装 umqtt 库,使用 Thonny 编写一些代码,向 IoT Hub 发送/接收数据,并使用 Azure IoT Explorer 监控数据。
编写设备代码
Azure-Samples 中的 IoTMQTTSample 代码中引用了示例代码。
从 IoT Explorer 获取设备信息
您需要获取信息以连接到 Azure IoT 中心并将其写入您的代码中。
请参阅Azure IoT 中心指南:使用 MQTT 协议与 IoT 中心通信,了解与 MQTT 通信时每个字段的要求
在示例代码的情况下,应该获得以下数据。
- 设备连接字符串
- 设备 SAS 令牌
如果您查看代码,它的实现是解析连接字符串以获取主机名、设备 ID 和共享访问密钥值。
获取信息的方法有多种,其中我使用了 IoT Explorer。
设置 IoT Explorer IoT Hub 连接
首先,需要授予访问权限,以便 IoT Explorer 可以访问 IoT Hub。
在默认权限中,iothubowner
包括所有权限的权限都将授予 IoT Explorer。
单击iothubonwer
,单击主连接字符串右侧的按钮,复制该值,然后将其粘贴到在 IoT Explorer 中单击添加连接时出现的窗口并保存。
如果一开始只设置一次此设置,则可以在工具中执行 IoT 中心和设备的大部分任务。
创建设备后,获取如图所示的信息值。
设备创建
复制连接字符串
SAS 令牌创建和复制
设备源代码
我将设备代码上传到下面的链接。
原示例代码中新增和修改了以下内容。
- W5100S 网络连接设置
- 遥测消息传输修改:String -> JSON string
如果不更改为 JSON,很难在 IoT Explorer 中识别数据。
安装库
在 Thonny 环境中安装库。
从顶部菜单中选择工具 - 管理包后,输入umqtt
并搜索。
在找到的包中,依次安装 umqtt.simple 和 umqtt.robust。
如果安装成功,点击左侧列表中的umqtt,安装的包显示如下。
执行和监控
遥测
connecting
Publishing
Sending message 0
Sending message 1
Sending message 2
Sending message 3
Sending message 4
Sending message 5
Sending message 6
Sending message 7
Sending message 8
Sending message 9
Sending message 10
waiting for message
Received message
b'message from IoT Hub'
C2D 消息
过程视频
参考
- Arduino Raspberry Pi Pico/RP2040以太网:W5100S EVB Pico
- 如何使用W5100S EVB Pico连接到Azure IoT Central
- W5100S EVB Pico与Node RED开源
- 将W5100S作为3线SPI连接到Pico
- 将WizFi360 EVB Pico连接到Azure IoT Cloud
- 使用RP2040和W5100S的无套接字功能
- RaspberryPi Pico Web服务器w5100S(W5500)
- 如何将手机连接到Azure IoT Central
- 制作测试Wiznet模(W5500 io/W5100S io)的测试夹具
- 树莓派Raspberry Pi Pico快速上手教程之MicroPython使用说明
- W5100与MCU的连接方式
- 基于Si5100-EVB光收发器的参考设计
- micropython的详细中文教程资料免费下载 366次下载
- 传承自W5100全部优点的W5100S 43次下载
- W5100 Arduino W5100 Test 43次下载
- 使用SPI驱动wiznet的网络接口芯片W5xxx 1760次阅读
- 树莓派Pico文件系统应用:数据记录器 998次阅读
- 使用Raspberry Pi Pico W和MicroPython开发物联网应用 1671次阅读
- Pico W的无线功能 883次阅读
- IntelliJ上Azure Event Hubs全新支持来了 379次阅读
- ESP8266上的MicroPython入门-3 1049次阅读
- 如何用RaspberryPi Pico来控制直流电机? 3969次阅读
- dfrobotEthernet W5100扩展板简介 2211次阅读
- W5100与MCU三种连接方法 5491次阅读
- W5100学习之电气规格 1223次阅读
- W5100学习之应用资料 2751次阅读
- W5100学习之功能描述 3804次阅读
- W5100学习之W5100寄存器 2156次阅读
- W5100学习之引脚定义、引脚布局 4327次阅读
- W5100单片网络接口芯片简单介绍 8185次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多