作者:eboxmaker | 更新時間:2016-10-26 | 瀏覽量:2862
eBox目前只在STM32F1xx上進行了測試。。。
先來解讀下API接口吧
1、源代碼位置common->bigiot。
2、代碼共4個
文件bigiot.cpp和bigiot.h 這兩個文件是用戶需要調用的文件。標準的c++文件。類的結構如下
bigiot_port.cpp和bigiot_port.h這兩個文件是網絡接口,主要為了程序分層化設計,更易于移植到各種網卡上。此文件向頂層提供了所需要的網絡接口。移植的時候需要修改的就是這兩個文件!
3、貝殼物聯的基本流程
連接服務器---->登錄---(成功)--->狀態改為online---->發送用戶數據
| |
<---(不成功)
該服務器由于不允許用戶踢掉線,所以導致如果用戶已經登錄,客戶端異常掉線,服務器會保持在線狀態60s左右,在此期間用戶將無法登錄,必須等待服務器更新設備為offline狀態才能登陸成功。
4、用戶數據的格式
所有的通信格式都是采用json格式。詳情參考http://www.eqytg.org/help/1.html。
在eBox中已經支持了cJSON,用戶可以直接調用cJSON接口進行字符串的處理。
5、如何使用eBox的庫實現自己的物聯網設備?
a、注冊貝殼物聯賬戶,添加自己的設備。這時候需要知道四個字符串,用戶ID,key,設備ID,數據接口ID(數據接口ID可以有多個)。
b、如果使用的不是eBox開發板需要修改main.cpp中的wifi.begin(&PA4, &uart2, 115200);第一個參數是8266的復位引腳,第二個是8266所連接的串口,第三個是8266的通信波特率。
如果使用的是eBox開發板請直接跳過此步驟。
c、打開工程后,找到WiFi下面的esp8266.cpp,打開修改char ssid[] = "xxxxx";char password[] = "xxxxxxx";。
d、修改用戶、設備接口,數據接口宏定義
//用戶、設備接口
#define USERID "897"
#define DEVICEID "931"
#define APIKEY "af1a1fde7"
//數據接口宏定義
#define DATA_ID "865"
#define TEMPERATURE_ID "866"
#define HUMIDITY_ID "867"
e、下載程序,打開串口調試助手查看串口輸出,打開網頁進入設備列表。查看數據。
f、如何下發指令控制單片機端動作?
修改void BigIot::process_message(uint8_t *buf)此函數。默認例程中是收到say play消息會打開設置PB8位高電平,say stop設置PB8低電平。用戶可以增加其他指令。
下面上傳代碼。。。