資料介紹
描述
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
![pico-micropython-azure-01.png?auto=compress%2Cformat&w=740&h=555&fit=max](https://hackster.imgix.net/uploads/attachments/1492728/pico-micropython-azure-01.png?auto=compress%2Cformat&w=740&h=555&fit=max)
構建 W5100S-EVB-Pico 設備固件
W5100S_EVB_PICO 使用任何支持的設備構建固件。
可以在Micropython 中找到支持列表:ports/rp2/boards。
cd ports/rp2
make BOARD=W5100S_EVB_PICO submodules
make BOARD=W5100S_EVB_PICO
這是最終的構建過程。至少需要幾分鐘。
![pico-micropython-azure-02.png?auto=compress%2Cformat&w=740&h=555&fit=max](https://hackster.imgix.net/uploads/attachments/1492729/pico-micropython-azure-02.png?auto=compress%2Cformat&w=740&h=555&fit=max)
固件上傳
將固件上傳到設備。
進入引導模式
H/W v1.0和v1.1的形狀略有不同,但是我的板子是v1.0,所以在按下板子的BOOTSEL按鈕的同時提供電源(USB線),它進入了Boot模式。
在v1.1的情況下,如果在按住BOOTSEL鍵的同時按下RUN鍵,則進入開機模式,無需重新上電。
固件上傳
內置固件位于以下路徑。
-
micropython/ports/rp2/build-W5100S_EVB_PICO
![pico-micropython-azure-03.png?auto=compress%2Cformat&w=740&h=555&fit=max](https://hackster.imgix.net/uploads/attachments/1492730/pico-micropython-azure-03.png?auto=compress%2Cformat&w=740&h=555&fit=max)
上傳文件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 中單擊添加連接時出現的窗口并保存。
![pico-micropython-azure-04_0.png?auto=compress%2Cformat&w=740&h=555&fit=max](https://hackster.imgix.net/uploads/attachments/1492731/pico-micropython-azure-04_0.png?auto=compress%2Cformat&w=740&h=555&fit=max)
如果一開始只設置一次此設置,則可以在工具中執行 IoT 中心和設備的大部分任務。
創建設備后,獲取如圖所示的信息值。
設備創建
![pico-micropython-azure-04.png?auto=compress%2Cformat&w=740&h=555&fit=max](https://hackster.imgix.net/uploads/attachments/1492732/pico-micropython-azure-04.png?auto=compress%2Cformat&w=740&h=555&fit=max)
復制連接字符串
![pico-micropython-azure-05.png?auto=compress%2Cformat&w=740&h=555&fit=max](https://hackster.imgix.net/uploads/attachments/1492733/pico-micropython-azure-05.png?auto=compress%2Cformat&w=740&h=555&fit=max)
SAS 令牌創建和復制
![pico-micropython-azure-06.png?auto=compress%2Cformat&w=740&h=555&fit=max](https://hackster.imgix.net/uploads/attachments/1492734/pico-micropython-azure-06.png?auto=compress%2Cformat&w=740&h=555&fit=max)
設備源代碼
我將設備代碼上傳到下面的鏈接。
原示例代碼中新增和修改了以下內容。
- W5100S 網絡連接設置
- 遙測消息傳輸修改:String -> JSON string
如果不更改為 JSON,很難在 IoT Explorer 中識別數據。
安裝庫
在 Thonny 環境中安裝庫。
從頂部菜單中選擇工具 - 管理包后,輸入umqtt
并搜索。
![pico-micropython-azure-07.png?auto=compress%2Cformat&w=740&h=555&fit=max](https://hackster.imgix.net/uploads/attachments/1492735/pico-micropython-azure-07.png?auto=compress%2Cformat&w=740&h=555&fit=max)
在找到的包中,依次安裝 umqtt.simple 和 umqtt.robust。
![pico-micropython-azure-08.png?auto=compress%2Cformat&w=740&h=555&fit=max](https://hackster.imgix.net/uploads/attachments/1492736/pico-micropython-azure-08.png?auto=compress%2Cformat&w=740&h=555&fit=max)
![pico-micropython-azure-09.png?auto=compress%2Cformat&w=740&h=555&fit=max](https://hackster.imgix.net/uploads/attachments/1492737/pico-micropython-azure-09.png?auto=compress%2Cformat&w=740&h=555&fit=max)
如果安裝成功,點擊左側列表中的umqtt,安裝的包顯示如下。
![pico-micropython-azure-10.png?auto=compress%2Cformat&w=740&h=555&fit=max](https://hackster.imgix.net/uploads/attachments/1492738/pico-micropython-azure-10.png?auto=compress%2Cformat&w=740&h=555&fit=max)
執行和監控
遙測
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'
![pico-micropython-azure-11.png?auto=compress%2Cformat&w=740&h=555&fit=max](https://hackster.imgix.net/uploads/attachments/1492739/pico-micropython-azure-11.png?auto=compress%2Cformat&w=740&h=555&fit=max)
![pico-micropython-azure-12.png?auto=compress%2Cformat&w=740&h=555&fit=max](https://hackster.imgix.net/uploads/attachments/1492740/pico-micropython-azure-12.png?auto=compress%2Cformat&w=740&h=555&fit=max)
C2D 消息
![pico-micropython-azure-13.png?auto=compress%2Cformat&w=740&h=555&fit=max](https://hackster.imgix.net/uploads/attachments/1492741/pico-micropython-azure-13.png?auto=compress%2Cformat&w=740&h=555&fit=max)
![pico-micropython-azure-14.png?auto=compress%2Cformat&w=740&h=555&fit=max](https://hackster.imgix.net/uploads/attachments/1492742/pico-micropython-azure-14.png?auto=compress%2Cformat&w=740&h=555&fit=max)
?
過程視頻
參考
- 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的詳細中文教程資料免費下載 373次下載
- 傳承自W5100全部優點的W5100S 43次下載
- W5100 Arduino W5100 Test 43次下載
- 使用SPI驅動wiznet的網絡接口芯片W5xxx 2431次閱讀
- 樹莓派Pico文件系統應用:數據記錄器 1427次閱讀
- 使用Raspberry Pi Pico W和MicroPython開發物聯網應用 2180次閱讀
- Pico W的無線功能 1085次閱讀
- IntelliJ上Azure Event Hubs全新支持來了 551次閱讀
- ESP8266上的MicroPython入門-3 1350次閱讀
- 如何用RaspberryPi Pico來控制直流電機? 4160次閱讀
- dfrobotEthernet W5100擴展板簡介 2393次閱讀
- W5100與MCU三種連接方法 5661次閱讀
- W5100學習之電氣規格 1337次閱讀
- W5100學習之應用資料 2999次閱讀
- W5100學習之功能描述 3895次閱讀
- W5100學習之W5100寄存器 2308次閱讀
- W5100學習之引腳定義、引腳布局 4510次閱讀
- W5100單片網絡接口芯片簡單介紹 8408次閱讀
下載排行
本周
- 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次下載 | 免費
評論