資料介紹
描述
MQTT 使用 Micropython 將 W5100S-EVB-Pico 連接到 Azure IoT Hub 并發(fā)送和接收消息的過程。
我為 IoT Hub 使用了 SAS 令牌身份驗證方法。
成分
硬件
W5100S-EVB-Pico
微型 5pin USB 數(shù)據(jù)線
網(wǎng)線
軟件/軟件
- 托尼
RP2040 Micropython 開發(fā)環(huán)境
檢查設(shè)備信息
遙測監(jiān)控
C2D傳輸
準(zhǔn)備 Azure 資源
創(chuàng)建 Azure IoT 中心
創(chuàng)建 Azure IoT Hub 的方式有很多種,比如 Azure 門戶、Azure CLI、REST API 等,一開始我們主要使用通過 Azure 門戶創(chuàng)建的方法。
說明可以在下面的鏈接中找到。
微蟒固件
建造
構(gòu)建操作使用 WSL2 (Ubuntu 20.04.4 LTS) 環(huán)境。
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
搭建構(gòu)建環(huán)境的信息,如安裝工具,可以參考Micropython的官方文檔。
Micropython 存儲庫中的自述文件中引用了構(gòu)建過程。
https://github.com/micropython/micropython/tree/master/ports/rp2
存儲庫克隆
克隆包含子模塊的存儲庫并檢索子模塊。
git clone https://github.com/micropython/micropython.git
cd micropython
git submodule update --init
構(gòu)建子模塊
make -C ports/rp2 submodules
mpy-cross build(MicroPython 交叉編譯器)
在構(gòu)建設(shè)備固件之前,必須先進(jìn)行 mpy-cross 構(gòu)建。
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)
構(gòu)建 W5100S-EVB-Pico 設(shè)備固件
W5100S_EVB_PICO 使用任何支持的設(shè)備構(gòu)建固件。
可以在Micropython 中找到支持列表:ports/rp2/boards。
cd ports/rp2
make BOARD=W5100S_EVB_PICO submodules
make BOARD=W5100S_EVB_PICO
這是最終的構(gòu)建過程。至少需要幾分鐘。
![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)
固件上傳
將固件上傳到設(shè)備。
進(jìn)入引導(dǎo)模式
H/W v1.0和v1.1的形狀略有不同,但是我的板子是v1.0,所以在按下板子的BOOTSEL按鈕的同時提供電源(USB線),它進(jìn)入了Boot模式。
在v1.1的情況下,如果在按住BOOTSEL鍵的同時按下RUN鍵,則進(jìn)入開機(jī)模式,無需重新上電。
固件上傳
內(nèi)置固件位于以下路徑。
-
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
。
現(xiàn)在固件的工作已經(jīng)完成。
接下來,安裝 umqtt 庫,使用 Thonny 編寫一些代碼,向 IoT Hub 發(fā)送/接收數(shù)據(jù),并使用 Azure IoT Explorer 監(jiān)控數(shù)據(jù)。
編寫設(shè)備代碼
Azure-Samples 中的 IoTMQTTSample 代碼中引用了示例代碼。
從 IoT Explorer 獲取設(shè)備信息
您需要獲取信息以連接到 Azure IoT 中心并將其寫入您的代碼中。
請參閱Azure IoT 中心指南:使用 MQTT 協(xié)議與 IoT 中心通信,了解與 MQTT 通信時每個字段的要求
在示例代碼的情況下,應(yīng)該獲得以下數(shù)據(jù)。
- 設(shè)備連接字符串
- 設(shè)備 SAS 令牌
如果您查看代碼,它的實現(xiàn)是解析連接字符串以獲取主機(jī)名、設(shè)備 ID 和共享訪問密鑰值。
獲取信息的方法有多種,其中我使用了 IoT Explorer。
設(shè)置 IoT Explorer IoT Hub 連接
首先,需要授予訪問權(quán)限,以便 IoT Explorer 可以訪問 IoT Hub。
在默認(rèn)權(quán)限中,iothubowner
包括所有權(quán)限的權(quán)限都將授予 IoT Explorer。
單擊iothubonwer
,單擊主連接字符串右側(cè)的按鈕,復(fù)制該值,然后將其粘貼到在 IoT Explorer 中單擊添加連接時出現(xiàn)的窗口并保存。
![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)
如果一開始只設(shè)置一次此設(shè)置,則可以在工具中執(zhí)行 IoT 中心和設(shè)備的大部分任務(wù)。
創(chuàng)建設(shè)備后,獲取如圖所示的信息值。
設(shè)備創(chuàng)建
![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)
復(fù)制連接字符串
![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 令牌創(chuàng)建和復(fù)制
![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)
設(shè)備源代碼
我將設(shè)備代碼上傳到下面的鏈接。
原示例代碼中新增和修改了以下內(nèi)容。
- W5100S 網(wǎng)絡(luò)連接設(shè)置
- 遙測消息傳輸修改:String -> JSON string
如果不更改為 JSON,很難在 IoT Explorer 中識別數(shù)據(jù)。
安裝庫
在 Thonny 環(huán)境中安裝庫。
從頂部菜單中選擇工具 - 管理包后,輸入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)
如果安裝成功,點(diǎn)擊左側(cè)列表中的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)
執(zhí)行和監(jiān)控
遙測
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以太網(wǎng):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服務(wù)器w5100S(W5500)
- 如何將手機(jī)連接到Azure IoT Central
- 制作測試Wiznet模(W5500 io/W5100S io)的測試夾具
- 樹莓派Raspberry Pi Pico快速上手教程之MicroPython使用說明
- W5100與MCU的連接方式
- 基于Si5100-EVB光收發(fā)器的參考設(shè)計
- micropython的詳細(xì)中文教程資料免費(fèi)下載 373次下載
- 傳承自W5100全部優(yōu)點(diǎn)的W5100S 43次下載
- W5100 Arduino W5100 Test 43次下載
- 使用SPI驅(qū)動wiznet的網(wǎng)絡(luò)接口芯片W5xxx 2431次閱讀
- 樹莓派Pico文件系統(tǒng)應(yīng)用:數(shù)據(jù)記錄器 1427次閱讀
- 使用Raspberry Pi Pico W和MicroPython開發(fā)物聯(lián)網(wǎng)應(yīng)用 2180次閱讀
- Pico W的無線功能 1085次閱讀
- IntelliJ上Azure Event Hubs全新支持來了 551次閱讀
- ESP8266上的MicroPython入門-3 1350次閱讀
- 如何用RaspberryPi Pico來控制直流電機(jī)? 4160次閱讀
- dfrobotEthernet W5100擴(kuò)展板簡介 2393次閱讀
- W5100與MCU三種連接方法 5661次閱讀
- W5100學(xué)習(xí)之電氣規(guī)格 1337次閱讀
- W5100學(xué)習(xí)之應(yīng)用資料 2999次閱讀
- W5100學(xué)習(xí)之功能描述 3895次閱讀
- W5100學(xué)習(xí)之W5100寄存器 2308次閱讀
- W5100學(xué)習(xí)之引腳定義、引腳布局 4510次閱讀
- W5100單片網(wǎng)絡(luò)接口芯片簡單介紹 8408次閱讀
下載排行
本周
- 1IP6823 支持 qi 認(rèn)證的無線充電發(fā)射控制 SOC
- 1.01 MB | 1次下載 | 免費(fèi)
- 2IP6824? 全集成QI?無線充電發(fā)射控制SOC
- 1.22 MB | 1次下載 | 免費(fèi)
- 3PESD18VY1BBIF保護(hù)二極管規(guī)格書
- 4.56MB | 次下載 | 免費(fèi)
- 474HC4050緩沖器規(guī)格書
- 217.58KB | 次下載 | 免費(fèi)
- 574HC193;74HC7193二進(jìn)制加減計數(shù)器規(guī)格書
- 327.93KB | 次下載 | 免費(fèi)
- 674HC73-Q100雙JK觸發(fā)器規(guī)格書
- 220.85KB | 次下載 | 免費(fèi)
- 7ASW3410 USB3.1高速數(shù)據(jù)開關(guān)切換規(guī)格書
- 1.39 MB | 次下載 | 免費(fèi)
- 8多款常用電子電路分享
- 7.96 MB | 次下載 | 2 積分
本月
- 1A7159和A7139射頻芯片的資料免費(fèi)下載
- 0.20 MB | 55次下載 | 5 積分
- 2零死角玩轉(zhuǎn)STM32F103—指南者
- 26.78 MB | 41次下載 | 1 積分
- 3PIC12F629/675 數(shù)據(jù)手冊免費(fèi)下載
- 2.38 MB | 36次下載 | 5 積分
- 4PIC16F716 數(shù)據(jù)手冊免費(fèi)下載
- 2.35 MB | 18次下載 | 5 積分
- 5dsPIC33EDV64MC205電機(jī)控制開發(fā)板用戶指南
- 5.78MB | 8次下載 | 免費(fèi)
- 6STC15系列常用寄存器匯總免費(fèi)下載
- 1.60 MB | 7次下載 | 5 積分
- 7AN-1267: 使用ADSP-CM408F ADC控制器的電機(jī)控制反饋采樣時序
- 1.41MB | 5次下載 | 免費(fèi)
- 8模擬電路仿真實現(xiàn)
- 2.94MB | 4次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935124次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73813次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論