前言ShineBlink 是一款零門檻、零開發(fā)環(huán)境、低代碼的萬能物聯(lián)網(wǎng)智能硬件開發(fā)板機(jī)智云為開發(fā)者提供低門檻硬件上云、接App/小程序、在線配置物聯(lián)網(wǎng)業(yè)務(wù)后臺系統(tǒng)的能力結(jié)合 ShineBlink 和 機(jī)智云 開發(fā)者即使不懂嵌入式物聯(lián)網(wǎng)開發(fā)、云和App開發(fā),也能很快實現(xiàn)一款包含硬件、云和App的物聯(lián)網(wǎng)智能硬件。
一、本章實現(xiàn)功能介紹
在工業(yè)場景中,有大量的傳感器設(shè)備是4-20mA輸出接口,這里我們設(shè)計一個電路板能夠采集4-20mA電流的并將采集到的電流通過4G通信模組發(fā)送至機(jī)智云,這樣我們就可以遠(yuǎn)程查看和管理現(xiàn)場的各種4-20mA設(shè)備了。ShineBlink核心板最多支持四路4-20mA采集,本章中只實現(xiàn)了一路,如果開發(fā)者需要更多路的話完全可以參考本章的教程實現(xiàn)更多的采集路數(shù)。
二、硬件端接線圖
三、材料清單
四、硬件端完整源代碼
--使能USB print輸出打印LIB_UsbConfig(“CDC”)--配置A0-A3這四個電壓采集通道同時開始工作,當(dāng)每個通道采集滿50個點時緩存滿,每個點的采集時間間隔為10msLIB_ADConfig(50,10000)--機(jī)智云平臺為每個產(chǎn)品類別分配的唯一PK和PS,一定要改成您自己的PK和PSPK = “7b424390d2de4c2fbcf6c729a365918e” PS = “2ce1bfcbdbd1490aaf4570f9dfd301af”--初始化4G模塊LIB_Giz4GConfig(PK,PS,1000,120,“UART0”,“D5”,“HIGH”,“D6”,“HIGH”)--開始大循環(huán)while(GC(1) == true)do A0_full_flag, A0_tab = LIB_ADCheckBufFull(“A0”)--每當(dāng)A0通道的緩存滿以后,計算緩存內(nèi)的50個元素的平均值,并換算成電壓值--由LIB_ADConfig(50,10000)可以算出,此處大概是50X10000us=0.5秒執(zhí)行一次if A0_full_flag == 1 thenSUM = 0for i = 1, #A0_tab do --此處#A0_tab的值是50,表示A0_tab表內(nèi)的元素個數(shù)SUM = SUM + A0_tab[i]end AVER = SUM / #A0_tab --計算平均采樣值--將A0通道的AD值轉(zhuǎn)換成實際電壓打印出來 out_voltage = AVER*3.6/4096.0 actual_mA = out_voltage/0.125 --電壓換算成實際電流,例如1V對應(yīng)8mA的輸入--打印出實際電流值,保留小數(shù)點后兩位,單位mA print(string.format(“Current=%.2fmA ”, actual_mA))--向機(jī)智云服務(wù)器發(fā)送(電流)浮點小數(shù)值(范圍應(yīng)是-100.00~500.00)--由于LIB_Giz4GConfig函數(shù)種設(shè)置的1000ms上傳一次電流值--所以這里即使調(diào)用LIB_SendToGizCloud函數(shù)發(fā)送也不會即時更新 LIB_SendToGizCloud(“Rf3”, actual_mA)endend上面代碼中出現(xiàn)的“LIB_”開頭的庫函數(shù)的詳細(xì)介紹可以在shineblink.com網(wǎng)站上的API文檔中查詢。五、機(jī)智云接入和App開發(fā)選擇一:機(jī)智云+通用版App訪問設(shè)備(難度最低)通過《4G設(shè)備接入機(jī)智云教程》我們可以很快掌握機(jī)智云的接入流程,并使用現(xiàn)成的通用版機(jī)智云App即可很快的實現(xiàn)手機(jī)App遠(yuǎn)程訪問我們的開發(fā)板。缺點就是通用版App的UI頁面看起來不夠?qū)I(yè)。本例中我們使用了“Rf3”這個兩位小數(shù)浮點型數(shù)據(jù)點作為4-20mA電流的上傳數(shù)據(jù)通道,記得在機(jī)智云平臺修改相應(yīng)的數(shù)據(jù)點的名稱。
關(guān)于數(shù)據(jù)點是什么、如何定義數(shù)據(jù)點docs.gizwits.com/zh-cn/quickstart/README.html
選擇二:機(jī)智云+零代碼定制版App訪問設(shè)備(難度較低)首先,需要通過機(jī)智云開發(fā)平臺dev.gizwits.com ,定義數(shù)據(jù)點,在線配置一款定制版App。換句話說就是使用機(jī)智云開發(fā)平臺定義智能產(chǎn)品的功能,通過機(jī)智云賽博工具實現(xiàn)在線配置并生成一款定制版App。然后,參考《賽博坦零代碼App開發(fā)(4G版)》教程,實現(xiàn)定制版App訪問設(shè)備。曉得
選擇三:定制化開發(fā)App或微信小程序(難度較高)
如果有一定開發(fā)能力,開發(fā)者可以考慮在機(jī)智云免費(fèi)提供的開源代碼上做一定的定制開發(fā)形成自己的APP。
如果開發(fā)者希望開發(fā)一個專屬的APP,機(jī)智云也會提供代碼開源的安卓和IOS SDK框架,幫助開發(fā)者快速完成APP開發(fā),開發(fā)者僅需關(guān)注App的UI和UE設(shè)計即可,而相對復(fù)雜的協(xié)議與錯誤處理等事項可忽略。關(guān)于開源SDK的介紹和獲取:docs.gizwits.com開發(fā)一個專屬的微信小程序應(yīng)用:docs.gizwits.com
編輯:jq
-
iOS
+關(guān)注
關(guān)注
8文章
3397瀏覽量
150884 -
代碼
+關(guān)注
關(guān)注
30文章
4823瀏覽量
68904 -
SDK
+關(guān)注
關(guān)注
3文章
1045瀏覽量
46153
原文標(biāo)題:工業(yè)RTU 示例1:遠(yuǎn)程4-20mA電流采集(4G版)
文章出處:【微信號:IoTMaker,微信公眾號:機(jī)智云開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論