产品开发
新建产品
进入青莲云控制台,添加一个智能插座产品。
添加功能点
插座只有一个开关的功能,添加一个功能点即可,点击“产品功能”,添加功能点。添加功能点完成后,记录功能点的编号,后面做设备端开发时会用到相应编号。
设备开发
获取产品ID及密钥
到“产品概览”中查看创建的产品ID及产品密钥,这是确保设备能够合法入网的标识符,需要写到设备端的代码中,记录下这两个值。
修改源码
解压下载好的嵌入式开发套件压缩包。
ESP8266文件夹包含如下内容。ESP8266_NONOS_BIN.zip包含模组固件及烧录说明,请按文档说明烧录固件。sdk_c.zip为青莲云提供的串口协议的MCU SDK,具体实现的功能及接口的调用方法可以参考《青莲云MCU SDK接口说明文档.pdf》。如果使用的功能较少,为了节省MCU资源也可以参考《青莲云串口通信协议.pdf》自行实现串口协议的解析处理。
STM32文件夹包含一个完整的例子工程,目录结构如下所示。其中sdk_c为青莲云提供的串口协议的MCU SDK源码,USER/QLY目录包含SDK的接口文件。
需要修改2个文件
main.c
1)SDK中的示例代码用于快速理解各接口的调用方法,这里将例子中定时主动上传数据的代码注释掉。
qlcloud_interface.c
插座可以通过本地按键控制开关,也可以通过APP远程控制开关,这两种方式都会触发本地开关状态改变,并将开关状态上报至云端。
1)qlcloud_interface.c起始位置有对产品ID和产品密钥的定义,替换成3.3.1节从官网获取的,注意,替换产品密钥时,需将官网的一串字符串转换成相应的十六进制编码,即在每个字节前增加0x作为开头。如密钥开头是7879,替换时应改为0x78,0x79。
2)控制插座的开关需根据具体的硬件电路实现,本例中使用g_switch变量模拟插座的打开和关闭。
3)实现开启/关闭插座的函数。
首先设置插座的开关。
接着将此状态上报至云端,注意一定要在设备状态改变后,上报一条最新值。
上报数据时,功能点编号要与3.2节添加的功能点编号对应。
4)实现本地按键控制及APP控制功能