開(kāi)發(fā)板做得比較小巧,左側(cè)白色為溫濕度傳感器探頭,探頭有多種不同的外形規(guī)格,如適用于空氣的,也有適用于液體的水溫傳感器探頭。[Uair手機(jī)溫濕度檢測(cè)開(kāi)發(fā)板源程序代碼開(kāi)源啦]。
這是我們的硬件電路板,以及專(zhuān)門(mén)開(kāi)模制作的外殼模具。
首先,我們通過(guò)晶控的“”易家智聯(lián)“APP軟件,先進(jìn)行開(kāi)發(fā)板的配置與使用。掃描二維碼添加Uair設(shè)備至手機(jī)APP
為了方便開(kāi)發(fā)人員參考學(xué)習(xí),我們進(jìn)行了屏幕錄像,以及拍攝了真實(shí)的視頻演示,我們將上傳至網(wǎng)站的“”視頻演示”欄目,大家可以在線(xiàn)觀(guān)看視頻。
以下是我們Uair空氣檢測(cè)盒子的二次開(kāi)發(fā)http協(xié)議接口說(shuō)明。
● 接口描述:獲取UAir空氣魔盒歷史數(shù)據(jù)的公共接口
● 接口類(lèi)別:設(shè)備相關(guān)
● 接口版本:1.0
● 接口地址:
/device/v1.0/fetchLastDays.action
● 接口參數(shù):
○ deviceCode - 設(shè)備編號(hào)
○ intervalUnit - 間隔單位為周/天/小時(shí),參數(shù)值(Week | Day | Hour)
○ intervalNum - 獲取的歷史數(shù)據(jù)時(shí)間長(zhǎng)度
示例:
HTTP 請(qǐng)求:
http://voice.hificat.com:8080/smarthome.IMCPlatform/device/v1.0/fetchLastDays.action?deviceCode=17304c4bda3d8e8b63f1403d&intervalUnit=Week&intervalNum=1
接口返回:
{
"data": {
"deviceCode": "17304c4bda3d8e8b63f1403d",
"latest": {
"PM25": 0,
"humidity": 30,
"reportDateTime": "2018-01-02T00:00:00",
"temperature": 16.5
},
"records": [
{
"PM25": 0,
"humidity": 35,
"reportDateTime": "2017-12-30T00:00:00",
"temperature": 18.078033
},
{
"PM25": 0,
"humidity": 31,
"reportDateTime": "2017-12-31T00:00:00",
"temperature": 18.314703
},
{
"PM25": 0,
"humidity": 28,
"reportDateTime": "2018-01-01T00:00:00",
"temperature": 18.58797
},
{
"PM25": 0,
"humidity": 28,
"reportDateTime": "2018-01-02T00:00:00",
"temperature": 18.459135
}
]
},
"message": "",
"page": 0,
"success": true,
"total": 0,
"totalPages": 0
}
在此,我們將http命令串直接復(fù)制到網(wǎng)頁(yè)瀏覽器(將命令串中的deviceCode改成你當(dāng)前實(shí)際使用的設(shè)備ID序號(hào)),回車(chē)后,我們便可以看到具體的返回?cái)?shù)據(jù)了。服務(wù)器數(shù)據(jù)的調(diào)用,非常簡(jiǎn)單,3分鐘即可輕松搞定。
下面我們來(lái)看一下,如何使用二次開(kāi)發(fā)的第二種方式,編寫(xiě)芯片軟件,實(shí)現(xiàn)底層數(shù)據(jù)傳輸至指定云服務(wù)器的方法。
我們可以使用Keil5嵌入式開(kāi)發(fā)工具來(lái)編寫(xiě)程序,整個(gè)工程項(xiàng)目的DEMO源程序代碼,我們已經(jīng)為您開(kāi)發(fā)完成。
(如需Keil軟件,可以從其官網(wǎng)下載或了解購(gòu)買(mǎi)信息,本站所提供的例程與資料僅供學(xué)習(xí)及參考使用)
我們已經(jīng)寫(xiě)好了單片機(jī)的底層數(shù)據(jù)采集與AD模數(shù)轉(zhuǎn)換程序,同時(shí),工程師對(duì)一些關(guān)鍵程序代碼都進(jìn)行了詳細(xì)的注釋?zhuān)员汩_(kāi)發(fā)人員的理解。整個(gè)工程文件,直接打開(kāi),即可編譯完成。
硬件電路板上,我們使用了SIMCOM公司的SIM800C通信模塊為核心,其驅(qū)動(dòng)代碼在sim800.c文件中,對(duì)于通信部分,主要是指定服務(wù)器的IP地址和Port端口,如需將數(shù)據(jù)發(fā)送至您自己的云端服務(wù)器,只要將您的服務(wù)器IP地址及端口,在第20行程序代碼中進(jìn)行修改即可,相應(yīng)的代碼也有注釋?zhuān)嘈乓豢淳蜁?huì)明白。同時(shí),在服務(wù)器上,您需要寫(xiě)好一個(gè)Socket通信的Server端的程序,前期,建議使用網(wǎng)絡(luò)調(diào)試助手,直接設(shè)置好參數(shù)即可實(shí)現(xiàn)通信。如果寫(xiě)上位機(jī)程序時(shí),也可以使用開(kāi)發(fā)工具提供的Socket控件直接使用,如:VC、VB、JAVA、Delphi、C++Builder等等,均提供了相應(yīng)的通信組件,使開(kāi)發(fā)工作非常便捷。
這是底層的溫濕度采集的子程序,進(jìn)行相應(yīng)的AD模數(shù)轉(zhuǎn)換,將模擬信號(hào)量轉(zhuǎn)成數(shù)字量,再傳送到服務(wù)器端。
在程序修改完成后,我們通過(guò)USB口,將下載器與Uair硬件開(kāi)發(fā)板相連,直接在Keil軟件中,即可進(jìn)行仿真操作或在線(xiàn)燒寫(xiě)程序的操作。
燒寫(xiě)完成后,我們使用兩臺(tái)電腦進(jìn)行測(cè)試,左側(cè)筆記本電腦連接的是晶控的云服務(wù)器,我們?cè)诜?wù)器上開(kāi)了一個(gè)網(wǎng)絡(luò)調(diào)試助手窗口,用于接收來(lái)自客戶(hù)端的數(shù)據(jù)。右側(cè)筆記本電腦,則是編寫(xiě)和燒寫(xiě)芯片軟件。
云服務(wù)器上設(shè)置的服務(wù)器IP和端口,分別是:118.31.187.235和1001,這正是我們?cè)贙eil軟件中源程序中的參數(shù)設(shè)置,兩邊要一致。
為了方便開(kāi)發(fā)人員實(shí)時(shí)了解開(kāi)發(fā)板的信息,我們將整塊開(kāi)發(fā)板工作時(shí)的當(dāng)前狀態(tài)都通過(guò)串口進(jìn)行了反饋,開(kāi)發(fā)人員,可以將Uair板上的串口和PC端相連,實(shí)時(shí)查看電路板的工作狀態(tài),如GPRS網(wǎng)絡(luò)的連接,溫濕度數(shù)據(jù)采集的頻率和數(shù)值等等。
將電路板的串口通過(guò)USB轉(zhuǎn)串口的適配器直接和筆記本電腦相連。
右側(cè)屏幕上,可以看到每隔10秒,會(huì)采集到新的溫濕度值,同時(shí)建立GPRS無(wú)線(xiàn)連接,并傳輸數(shù)據(jù)。左側(cè)電腦屏幕上,可以看到來(lái)自客戶(hù)端不斷上報(bào)的數(shù)據(jù)值。
這是實(shí)時(shí)串口檢測(cè),反映Uair開(kāi)發(fā)板的當(dāng)前工作情況。
我們?yōu)殚_(kāi)發(fā)人員準(zhǔn)備了齊全的軟硬件開(kāi)發(fā)手冊(cè)資料。如有問(wèn)題,也歡迎和我們?nèi)〉寐?lián)系,我們的工程師將為您提供研發(fā)級(jí)的技術(shù)支持。