使用C#編寫STM32對接物聯網平台IoTSharp發送遙測數據


在之前的文章中,  我們闡述了如何用C#在STM32上寫第一個Hello world  , 有朋友抱怨國內介紹文章, 都是一個 Hello world , 然后再也沒有音訊, 寫到這里我想提一下我的初心, 那就是告訴所有人C#無所不能, C#可以寫單片機, 也可以寫Web應用, 也可以寫移動應用, 也可以寫桌面應用, 又有人提到 nanoFramework 的性能問題, 這點我認為跟MicroPython 等解釋型STM32應用一致的, 跟C寫的 代碼我認為是無法匹敵的!工作中長期使用C來寫應用, 這點是公認也是非常有感觸的。 那么今天我再介紹一下如何使用 nanoFramework 在STM32下面對接物聯網平台IoTSharp !

 

一、選用開發板

這次我們選擇了開發板 ST NUCLEO-F746ZG 

 

 

 

 

NUCLEO-F746ZG 是ST公司推出的一款針對STM32F7系列設計的Cortex-M7 Nucleo-144開發板,支持mbed,兼容Arduino、還帶有ST Zio和 ST Morpho 擴展接口,可連接微控制器的所有周邊外設。

 

開發板基於STM32F746ZGT6設計,開發板還集成了ST-LINK/V2-1仿真下載器(但僅對外提供SWD接口),免除您另外采購仿真器或下載器的麻煩。並且具備Arduino接口,可接入 Arduino 巨大生態系統的各種 Shield 擴展板,讓您能夠輕松快速增加特殊功能。

之所以選擇NUCLEO-F746ZG 是因為 他具有網口, 用C#在STM32上寫第一個Hello world  文章中選擇的開發板不具有網絡功能。 

 

二、創建應用:

如果看過用C#在STM32上寫第一個Hello world  這篇文章, 我們就不必再闡述如何創建項目了, 具體demo 我已經提交到了 https://github.com/IoTSharp/IoTSharp.Edge.nanoFramework , 項目中需要引用到 nanoFramework.M2Mqtt , 我們通過他來連接 IoTSharp的 Mqtt Broker , 首先, 啟動IoTSharp 項目 https://github.com/IoTSharp/IoTSharp ,  啟動項目https://github.com/IoTSharp/Cicada  , 這里如果有所有問題, 可以到相關項目里面提問, 這里不再闡述, 我們首先在Cicada 中創建一個設備

 

 

, 復制粘貼 Token , 

在項目  oTSharp.Edge.nanoFramework 的 Program.cs 中 修改 

private const string _token = "581e918118a34c9faf2b9ede8245be33";//修改合理為Token private const string   BrokerAddress = "192.168.0.23";//啟動IoTSharp的IP地址

 

三、連接並部署項目至ST NUCLEO-F746ZG 

由於ST NUCLEO-F746ZG 跟之前文章不同 , 一個Micro USB線 即能跟ST-LINK連接, 又支持串口, 還能識別出來存儲, 因此一根線搞定一切, 也不需要弄烏七八糟的杜邦線之類的, 因此簡單很多。 按照用C#在STM32上寫第一個Hello world  的方法, 我們依然需要下載他的  https://bintray.com/nfbot/nanoframework-images-community-targets/ST_NUCLEO144_F746ZG/_latestVersion   解壓后, 燒寫, 然后VS中Device Explorer 中就可以看到設備, 如下圖:

 

 

點擊VS中的啟動, 來啟動調試項目

啟動后, 你可以看到我們的應用已經啟動了, 如下圖所示:

 

 , 通過IoTSharp的客戶端可以看到上傳的遙測數據和客戶端屬性數據:

 

 

關於rpc和屬性更新, 我們會在基於此項目基礎上進行進一步完善。 

 

如果有任何相關問題, 大家可以在相關項目提Issuse 或者加入QQ群: 63631741 , 共同學習, 共同進步。 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM