使用C#编写STM32对接物联网平台IoTSharp发送遥测数据
在之前的文章中,??我們闡述了如何用C#在STM32上寫第一個(gè)Hello world ?, 有朋友抱怨國(guó)內(nèi)介紹文章, 都是一個(gè) Hello world , 然后再也沒(méi)有音訊,?寫到這里我想提一下我的初心, 那就是告訴所有人C#無(wú)所不能, C#可以寫單片機(jī), 也可以寫Web應(yīng)用, 也可以寫移動(dòng)應(yīng)用, 也可以寫桌面應(yīng)用, 又有人提到 nanoFramework 的性能問(wèn)題, 這點(diǎn)我認(rèn)為跟MicroPython 等解釋型STM32應(yīng)用一致的, 跟C寫的 代碼我認(rèn)為是無(wú)法匹敵的!工作中長(zhǎng)期使用C來(lái)寫應(yīng)用, 這點(diǎn)是公認(rèn)也是非常有感觸的。?那么今天我再介紹一下如何使用 nanoFramework 在STM32下面對(duì)接物聯(lián)網(wǎng)平臺(tái)IoTSharp !
一、選用開(kāi)發(fā)板
這次我們選擇了開(kāi)發(fā)板?ST NUCLEO-F746ZG?
NUCLEO-F746ZG 是ST公司推出的一款針對(duì)STM32F7系列設(shè)計(jì)的Cortex-M7 Nucleo-144開(kāi)發(fā)板,支持mbed,兼容Arduino、還帶有ST Zio和 ST Morpho 擴(kuò)展接口,可連接微控制器的所有周邊外設(shè)。
開(kāi)發(fā)板基于STM32F746ZGT6設(shè)計(jì),開(kāi)發(fā)板還集成了ST-LINK/V2-1仿真下載器(但僅對(duì)外提供SWD接口),免除您另外采購(gòu)仿真器或下載器的麻煩。并且具備Arduino接口,可接入 Arduino 巨大生態(tài)系統(tǒng)的各種 Shield 擴(kuò)展板,讓您能夠輕松快速增加特殊功能。
之所以選擇NUCLEO-F746ZG 是因?yàn)?他具有網(wǎng)口, 用C#在STM32上寫第一個(gè)Hello world ?文章中選擇的開(kāi)發(fā)板不具有網(wǎng)絡(luò)功能。?
二、創(chuàng)建應(yīng)用:
如果看過(guò)用C#在STM32上寫第一個(gè)Hello world? 這篇文章, 我們就不必再闡述如何創(chuàng)建項(xiàng)目了, 具體demo 我已經(jīng)提交到了?https://github.com/IoTSharp/IoTSharp.Edge.nanoFramework , 項(xiàng)目中需要引用到?nanoFramework.M2Mqtt , 我們通過(guò)他來(lái)連接 IoTSharp的 Mqtt Broker , 首先, 啟動(dòng)IoTSharp 項(xiàng)目 https://github.com/IoTSharp/IoTSharp ,? 啟動(dòng)項(xiàng)目https://github.com/IoTSharp/Cicada? , 這里如果有所有問(wèn)題, 可以到相關(guān)項(xiàng)目里面提問(wèn), 這里不再闡述, 我們首先在Cicada 中創(chuàng)建一個(gè)設(shè)備
, 復(fù)制粘貼 Token ,?
在項(xiàng)目??oTSharp.Edge.nanoFramework?的 Program.cs 中 修改?
private const string _token = "581e918118a34c9faf2b9ede8245be33";//修改合理為Tokenprivate?const?string???BrokerAddress?=?"192.168.0.23";//啟動(dòng)IoTSharp的IP地址三、連接并部署項(xiàng)目至ST NUCLEO-F746ZG?
由于ST NUCLEO-F746ZG?跟之前文章不同 , 一個(gè)Micro USB線 即能跟ST-LINK連接, 又支持串口, 還能識(shí)別出來(lái)存儲(chǔ), 因此一根線搞定一切, 也不需要弄烏七八糟的杜邦線之類的, 因此簡(jiǎn)單很多。?按照用C#在STM32上寫第一個(gè)Hello world ?的方法, 我們依然需要下載他的? https://bintray.com/nfbot/nanoframework-images-community-targets/ST_NUCLEO144_F746ZG/_latestVersion ??解壓后, 燒寫, 然后VS中Device Explorer 中就可以看到設(shè)備, 如下圖:
點(diǎn)擊VS中的啟動(dòng), 來(lái)啟動(dòng)調(diào)試項(xiàng)目
啟動(dòng)后, 你可以看到我們的應(yīng)用已經(jīng)啟動(dòng)了, 如下圖所示:
,?通過(guò)IoTSharp的客戶端可以看到上傳的遙測(cè)數(shù)據(jù)和客戶端屬性數(shù)據(jù):
關(guān)于rpc和屬性更新, 我們會(huì)在基于此項(xiàng)目基礎(chǔ)上進(jìn)行進(jìn)一步完善。?
如果有任何相關(guān)問(wèn)題, 大家可以在相關(guān)項(xiàng)目提Issuse 或者加入QQ群: 63631741 , 共同學(xué)習(xí), 共同進(jìn)步。?
總結(jié)
以上是生活随笔為你收集整理的使用C#编写STM32对接物联网平台IoTSharp发送遥测数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: .Net微服务实战之DevOps篇
- 下一篇: 龙芯团队完成CoreCLR MIPS64