01 本章實現功能介紹
追蹤外賣騎手的保溫箱的GPS定位信息以及外賣箱是否被人打開,以防止騎手在送餐時電動車被盜竊或者外賣箱被人打開偷竊外賣餐品,并實時監控外賣箱內的溫濕度數據,并將它們上傳至機智云,然后我們就可以在遠程通過手機App或者Web網頁端來訪問相關的定位數據、外賣箱溫濕度環境數據、以及外賣箱是否被打開。
溫濕度傳感器模塊、NEO6M GPS模塊、自鎖開關淘寶搜索”ShineBlink“店鋪有售,或者任意其他店鋪(功能相似即可)shineblink.com
黑色底板該底板只是為了省掉接杜邦線,讓外觀好看一些,不是必需品,開發者如果沒有可以用杜邦線來替代。如果仍想獲取該底板,有如下兩種方式:(1)通過右邊提供的PCB工程資料自己打樣PCB制作即可(2)通過聯系微信號“shine_blink”免費獲取空板PCB自己焊接也可(如果還有的話)底板PCB工程下載地址
04 硬件端完整源代碼
--使能USB print輸出打印
LIB_UsbConfig(“CDC”)
--機智云平臺為每個產品類別分配的唯一PK和PS,一定要改成您自己的PK和PS
PK = “76841a997f134f06ab97698a12104e02”
PS = “26ab8338463a4786838e43dc0043cf74”
--初始化4G模塊
LIB_Giz4GConfig(PK,PS,1000,120,“UART0”,“D5”,“HIGH”,“D6”,“HIGH”)
--設置D0口為上拉輸入,用來監測外賣箱是否被打開
LIB_GpioInputConfig(“D0”,“PULLUP”)
--設置sht3x傳感器占用SCL0和SDA0引腳,并啟動傳感器以每秒出10個數據的頻率工作,repeatability=“HIGH”時精度最高
LIB_Sht3xConfig(“IIC0”,“10”,“HIGH”)
--配置NEO-6M GPS模塊開始工作,占用TX1和RX1引腳,默認每秒鐘自動輸出一組GPS數據
LIB_NEO6MConfig(“UART1”)
--開始大循環
while(GC(1) == true)
do
LIB_DelayMs(1000)
--每隔一秒向云發送外賣保溫箱是否被打開的狀態
--這里看似一直再向云發送數據,其實只有發生變化時才會實際發送
LIB_SendToGizCloud(“In1”, LIB_GpioRead(“D0”))
--查詢是否讀到溫濕度數據
sht3x_flag,sht3x_temp,sht3x_humi = LIB_Sht3xGetResult()
if sht3x_flag == 1 then
--打印讀到的溫濕度值,保留1位小數
print(string.format(“temp: %.1f
humi: %.1f”, sht3x_temp, sht3x_humi))
--向機智云服務器發送(溫濕度)(帶一位小數)
LIB_SendToGizCloud(“Rf1”, sht3x_temp)
LIB_SendToGizCloud(“Rf2”, sht3x_humi)
end
--查詢是否解析到GPS數據,注意GPS首次定位出數據的時間較長,大概有1分鐘左右
flag,lo,la,al,utc = LIB_NEO6MGetGpsData()
if flag == 1 then
--將讀取到的經度、緯度、海拔、UTC時間打印輸出
print(string.format(“longtitue:%f latitue:%f altitue:%.0fm UTC:%d”, lo,la,al,utc))
--將從GPS獲取的時間設置為開發板自身的系統時間
LIB_SetUtcTime(utc);
--向機智云服務器發送(經緯度)(帶兩位小數)
LIB_SendToGizCloud(“Rf3”, lo)
LIB_SendToGizCloud(“Rf4”, la)
--向機智云服務器發送(海拔高度,單位:米)(短型整數)
LIB_SendToGizCloud(“Rs1”, math.floor(al))
end
end
上面代碼中出現的“LIB_”開頭的庫函數的詳細介紹可以在shineblink.com網站上的API文檔中查詢。
05 機智云接入和App開發(三個選擇)
選擇一:機智云+通用版App訪問設備(難度最低)
通過《騎手保溫箱追蹤及溫濕度監測(4G版):(上)4G設備接入機智云教程》我們可以很快掌握機智云的接入流程,并使用現成的通用版機智云App即可很快的實現手機App遠程訪問我們的開發板。缺點就是通用版App的UI頁面看起來不夠專業。
本例中我們使用了“Rf1”,“Rf2”,“Rf3”,“Rf4”,“Rs1”這五個數據點分別作為溫度,濕度,經度,緯度,海拔高度這五個值的上傳數據通道,記得在機智云平臺修改相應的數據點的名稱。
選擇二:機智云+零代碼定制版App訪問設備(難度較低)
在選擇二之前,必須完成上面選擇一的工作,然后參考《賽博坦零代碼App開發(4G版)》教程實現定制版App訪問設備。開發好以后的頁面如下:
選擇三:定制化開發App或微信小程序(難度較高)
如果有一定開發能力,開發者可以考慮在機智云免費提供的開源代碼上做一定的定制開發形成自己的App。
如果開發者希望開發一個專屬的App,機智云也會提供代碼開源的安卓和IOS SDK框架,幫助開發者快速完成App開發,開發者僅需關注App的UI和UE設計即可,而相對復雜的協議與錯誤處理等事項可忽略。關于開源SDK的介紹和獲取請登錄docs.gizwits.com 了解
責任編輯:haq
-
硬件
+關注
關注
11文章
3395瀏覽量
66474 -
代碼
+關注
關注
30文章
4830瀏覽量
69086 -
機智云
+關注
關注
2文章
591瀏覽量
26462
原文標題:騎手保溫箱追蹤及溫濕度監測(4G版)(下):硬件開發和項目演示(視頻版)
文章出處:【微信號:IoTMaker,微信公眾號:機智云開發者】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
STM32連接機智云,代碼移植,NTP實時時間獲取(一)
![STM32連接<b class='flag-5'>機智</b><b class='flag-5'>云</b>,代碼移植,NTP實時時間獲取(一)](https://file.elecfans.com/web2/M00/40/03/pYYBAGJrSWqAb-nSAAAXmKtCFeo833.jpg)
機智云熱點活動回顧
STM32最小系統板與ESP01S接入機智云教程
![STM32最小系統板與ESP01S接入<b class='flag-5'>機智</b><b class='flag-5'>云</b>教程](https://file.elecfans.com/web2/M00/40/03/pYYBAGJrSWqAb-nSAAAXmKtCFeo833.jpg)
機智云開源自動化控制篇:溫濕度報警器
![<b class='flag-5'>機智</b><b class='flag-5'>云</b>開源自動化控制篇:溫濕度報警器](https://file.elecfans.com/web2/M00/40/03/pYYBAGJrSWqAb-nSAAAXmKtCFeo833.jpg)
STM32F103 + ESP8266與機智云開發常見問題集錦:入門者必讀!
![STM32F103 + ESP8266與<b class='flag-5'>機智</b><b class='flag-5'>云</b><b class='flag-5'>開發</b>常見問題集錦:入門者必讀!](https://file.elecfans.com/web2/M00/40/03/pYYBAGJrSWqAb-nSAAAXmKtCFeo833.jpg)
機智云助力小程序開發:連接智能硬件與智能生活
![<b class='flag-5'>機智</b><b class='flag-5'>云</b>助力小程序<b class='flag-5'>開發</b>:連接智能<b class='flag-5'>硬件</b>與智能生活](https://file.elecfans.com/web2/M00/40/03/pYYBAGJrSWqAb-nSAAAXmKtCFeo833.jpg)
評論