eBox支持贝壳物联,共享一个API接口库

作者:eboxmaker | 更新时间:2016-10-26

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低电平。用户可以增加其他指令。

下面上传代码。。。

/Public/upload/ckfinder/userfiles/U897/files/ebox_stm32f1xx%EF%BC%88%E8%B4%9D%E5%A3%B3%E7%89%A9%E8%81%94%EF%BC%89(1).zip


评论:共3条

贝壳物联 评论于:2016-10-26 23:49:08
晚上初步测试,烧写正常,明天esp8266改AT固件。
a386554965 评论于:2018-06-17 09:35:31
学习一下
211209 评论于:2018-11-17 21:12:19
学习了
评论支持使用[code][/code]标签添加代码
返回顶部