麒麟座开发板使用的MCU是STM32F03 RET6,板载了温湿度传感器sht20、三轴加速度传感器adxl345、红外对管tcrt5000等,和机智云gokit一样,十分适合学习STM32和物联网应用开发。 先欣赏下小视频吧: 硬件准备:麒麟座标准版V2.3、esp8266-12F模块(由于板载的是ESP8266-01模块,Flash只有1MB,机智云的GAgent固件需要4MB的Flash) 软件准备:麒麟座例程:kyLin-V2.3-OneNET-裸机-AirKiss/2.麒麟座V2.3综合应用代码-HTTP 移植过程: 2、笔者这里使用了正点原子的ESP8266模块,带2.54mm排针接口,方便DIY,接线图如下(串**叉连接): WIFI模块烧录好GAgent固件后,其对MCU来说就是串口透传了,怎么和机智云的服务器通信不需要我们管。
根据板子上的外设资源,在机智云开发者中心创建一个产品,并定义下数据点,“数据点即设备产品的功能的抽象,用于描述产品功能及其参数。创建数据点后,设备与云端通讯的数据格式即可确定,设备、机智云可以相互识别设备与机智云互联互通的数据。”下图是本例程定义的数据点,把它导出成了excel,供大家参考。 建立好产品数据点后就可以利用机智云的开发神器-代码自动生成工具直接生成STM32的keil工程了,步骤如下: 然后下载这个工程,解压,把与产品信息、协议有关的文件夹Gizwits拷贝到麒麟座的例程里,其中的User文件夹里面有个main.c文件,这个文件很重要,包含了机智云开发的程序框架:
看看下面这个图,可以知道,把一个单片机通过刷写了GAgent固件的串口模块接入机智云平台很简单,单片机这边只要编3个程序就可以了:定时器1ms中断、串口发送、串口中断接收。这就是MCU和机智云平台的接口,简洁吧! 打开keil工程,添加一个分组,并在魔术棒那里加上编译路径: 机智云那个代码自动生成工具生成的代码还是蛮贴心的,注释的很详细,告诉你要在哪里添加自己的代码,我就在下图的这里添加了点灯的代码,通过手机远程点板子上的4个LED,分别是LED4~7。 功能这么丰富的板子,光点个灯多没意思,再把温湿度数据测下吧,推送到手机显示: 注意上图中的userHandle函数,这些都是自动生成的,这个函数就是处理设备端的数据向云端推送,按照注释来填充就行了,这里我每隔1s采集一次温湿度。
最后看看效果吧!来几张高清大图,流量党慎入!!!
附件: 工程源码: 数据点excel: 手机APP:
|