一、Arduino开发环境

  • 开发工具: Arduino
  • 开 发 板: esp8266 core for arduino v3.0.2 或 esp32 core for arduino 1.0.6
  • 依 赖 库: PubSubClient2.8.0 、 ArduinoJson6.19.1 、 OneButton2.0.4

二、Arduino示例功能

  • WIFI连接、MQTT连接、设备加密认证、设备配网、发布设备信息、订阅设备升级、Http和Mqtt获取设备当前时间、
  • 物模型(属性、功能、事件)的发布和订阅
  • 实时监测、模拟上报监测数据
  • 用户自定义功能:继电器的开关

三、Arduino项目文件说明

使用该SDK主要修改Config.cpp里面的配置信息,在User.cpp里面根据产品物模型,实现自定义功能。

├───Apconfig.cpp     #设备配网
├───Apconfig.h
├───Auth.cpp         #设备认证
├───Auth.h
├───Base64.cpp       #base64编码和解码
├───Base64.h
├───Config.cpp       #全局配置信息
├───Config.h
├───Mqtt.cpp         #设备交互
├───Mqtt.h
├───User.cpp         #用户自定义功能
├───User.h 
├───WumeiArduino.h   #程序入口

四、在FastBee平台创建设备

4.1 创建设备

【物联网设备端开发】FastBee平台设备 Arduino SDK接入指南-LMLPHP

【物联网设备端开发】FastBee平台设备 Arduino SDK接入指南-LMLPHP

4.2 修改序列号,产品编码,WIFI SSID和密码

在Config.cpp文件中修改

/**********************************可配置的项 **********************************/
// wifi信息 可通过小程序配网获取,也可以写死
char *wifiSsid = "WIFI SSID";
char *wifiPwd = "WIFI密码";
// 默认绑定admin账号
char *userId = "1";
// 产品启用授权码,则授权码不能为空
char *authCode = "";

// 设备信息配置
char *deviceNum = "D1ELV3A5TOJS";
char *productId = "41";
float firmwareVersion = 1.0;
// 经度和纬度可选,如果产品使用设备定位,则必须传
float latitude = 0;
float longitude = 0;

// Mqtt配置
char *mqttHost = "fastbee.cn";
int mqttPort = 1883;
char *mqttUserName = "FastBee";
char *mqttPwd = "P47T6OD5IPFWHUM6";
char mqttSecret[17] = "KX3TSH4Q4OS835DO";

五、Ardunio烧录代码

设备烧录代码示例,常见串口模块如:CH340。ESP8266中GPIO0引脚跟GDN引脚连接,拉低电平,进入烧录模式。

【物联网设备端开发】FastBee平台设备 Arduino SDK接入指南-LMLPHP

03-12 15:48