本项目使用Navota NV32 MCU和ESP8266无线模块,使用EDP协议接入云平台,实现智能LED控制方案。开发板实时上传3个LED的亮灭状态,可以使用板载的KBI0和KBI1分别控制LED亮灭;同时云平台可以通过创建的网页应用想开发板下发命令,控制各个LED的状态。
【一】硬件连接:
NV32F100x的UART1作为调试端口,打印运行状态信息,UART0作为数据传输端口与ESP8266相连实现数据透传,使用ST-Link用于程序下载与仿真调试。
【二】EDP协议简介:
EDP (Enhanced Device Protocol增强设备协议)是OneNET平台根据物联网特点专门定制的完全公开的基于TCP的协议,可以广泛应用到家居、交通、物流、能源以及其他行业应用中。
功能特点
- 长连接协议
- 数据加密传输
- 终端数据点上报,支持的数据点类型为:
- 浮点数(float)
- 整型(int)
- 字符串(string)
- JSON对象
- 二进制数据
- 平台消息下发(支持离线消息)
- 端到端数据转发
【三】程序架构:
工程源码:
NV32_OneNET_Demo_ESP8266_EDP_Led.rar
(2.14 MB)
程序架构如下图所示,主要增加的部分有EDP SDK的移植,ESP8266数据处理以及串口、LED和按键驱动程序的编写。
主函数运行程序主要包括系统初始化、LED、按键、串口初始化,然后初始化ESP8266连接网络和云平台服务器,然后接入设备,进行在线监测和数据传输。
ESP8266初始化和接入过程:
连接成功后开始进行数据传输:
【四】创建产品和设备以及在线应用:
创建基于EDP公开协议的产品:
创建设备 :
创建应用:
【五】数据传输:
可以通过平台实时查看上传数据点,同时可以使用应用下发命令来进行控制。
【六】效果演示:
NV32F100x+ESP8266使用EDP协议接入云平台效果演示
在调试过程中感谢Navata技术工程师的支持,这款基于Cortex-M0+的MCU满足一般的工程需要,性价比较高,而且提供了丰富的库函数和Demo程序,便于从STM32向国产MCU的转变,希望有机会和有项目需求的给予国产MCU大力支持!
|