作者:eboxmaker | 更新时间:2016-10-26 | 浏览量:3360
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.bigiot.net/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低电平。用户可以增加其他指令。
下面上传代码。。。