開發板做得比較小巧,左側白色為溫濕度傳感器探頭,探頭有多種不同的外形規格,如適用于空氣的,也有適用于液體的水溫傳感器探頭。
這是我們的硬件電路板,以及專門開模制作的外殼模具。
首先,我們通過晶控的“”易家智聯“APP軟件,先進行開發板的配置與使用。掃描二維碼添加Uair設備至手機APP
為了方便開發人員參考學習,我們進行了屏幕錄像,以及拍攝了真實的視頻演示,我們將上傳至網站的“”視頻演示”欄目,大家可以在線觀看視頻。
以下是我們Uair空氣檢測盒子的二次開發http協議接口說明。
● 接口描述:獲取UAir空氣魔盒歷史數據的公共接口
● 接口類別:設備相關
● 接口版本:1.0
● 接口地址:
/device/v1.0/fetchLastDays.action
● 接口參數:
○ deviceCode - 設備編號
○ intervalUnit - 間隔單位為周/天/小時,參數值(Week | Day | Hour)
○ intervalNum - 獲取的歷史數據時間長度
示例:
HTTP 請求:
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命令串直接復制到網頁瀏覽器(將命令串中的deviceCode改成你當前實際使用的設備ID序號),回車后,我們便可以看到具體的返回數據了。服務器數據的調用,非常簡單,3分鐘即可輕松搞定。
下面我們來看一下,如何使用二次開發的第二種方式,編寫芯片軟件,實現底層數據傳輸至指定云服務器的方法。
我們可以使用Keil5嵌入式開發工具來編寫程序,整個工程項目的DEMO源程序代碼,我們已經為您開發完成。
(如需Keil軟件,可以從其官網下載或了解購買信息,本站所提供的例程與資料僅供學習及參考使用)
我們已經寫好了單片機的底層數據采集與AD模數轉換程序,同時,工程師對一些關鍵程序代碼都進行了詳細的注釋,以便開發人員的理解。整個工程文件,直接打開,即可編譯完成。
硬件電路板上,我們使用了SIMCOM公司的SIM800C通信模塊為核心,其驅動代碼在sim800.c文件中,對于通信部分,主要是指定服務器的IP地址和Port端口,如需將數據發送至您自己的云端服務器,只要將您的服務器IP地址及端口,在第20行程序代碼中進行修改即可,相應的代碼也有注釋,相信一看就會明白。同時,在服務器上,您需要寫好一個Socket通信的Server端的程序,前期,建議使用網絡調試助手,直接設置好參數即可實現通信。如果寫上位機程序時,也可以使用開發工具提供的Socket控件直接使用,如:VC、VB、JAVA、Delphi、C++Builder等等,均提供了相應的通信組件,使開發工作非常便捷。
這是底層的溫濕度采集的子程序,進行相應的AD模數轉換,將模擬信號量轉成數字量,再傳送到服務器端。
在程序修改完成后,我們通過USB口,將下載器與Uair硬件開發板相連,直接在Keil軟件中,即可進行仿真操作或在線燒寫程序的操作。
燒寫完成后,我們使用兩臺電腦進行測試,左側筆記本電腦連接的是晶控的云服務器,我們在服務器上開了一個網絡調試助手窗口,用于接收來自客戶端的數據。右側筆記本電腦,則是編寫和燒寫芯片軟件。
云服務器上設置的服務器IP和端口,分別是:118.31.187.235和1001,這正是我們在Keil軟件中源程序中的參數設置,兩邊要一致。
為了方便開發人員實時了解開發板的信息,我們將整塊開發板工作時的當前狀態都通過串口進行了反饋,開發人員,可以將Uair板上的串口和PC端相連,實時查看電路板的工作狀態,如GPRS網絡的連接,溫濕度數據采集的頻率和數值等等。
將電路板的串口通過USB轉串口的適配器直接和筆記本電腦相連。
右側屏幕上,可以看到每隔10秒,會采集到新的溫濕度值,同時建立GPRS無線連接,并傳輸數據。左側電腦屏幕上,可以看到來自客戶端不斷上報的數據值。
這是實時串口檢測,反映Uair開發板的當前工作情況。
我們為開發人員準備了齊全的軟硬件開發手冊資料。如有問題,也歡迎和我們取得聯系,我們的工程師將為您提供研發級的技術支持。