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

評(píng)論