第一步:注册机智云,然后进入到开发者中心,然后开始创建新产品
设置好后点击保存,这个时候会跳转到开发向导界面,选择去添加数据点
我们建3个数据节点,分别用来打开LED1,LED2,和蜂鸣器。读写类型选为可写,因为要控制这些灯。数据类型默认布尔值,下面的备注随便写。
保存好后记得点应用,最后建完如下图
然后点击左侧的开发向导,进入MCU开发
以上图片默认的就是stm32f103系列的,而我的是stm32f407的,过程是一样的,下面要填一下设备的product secret的序列号,这个序列号在左侧基本信息处查询,需要输入机智云账户的密码才能看见全部的,复制过去。
填好之后,点击MCU开发处的生成代码包,即可生成我们开发板所需要的代码,然后点击下载,将代码包下载下来。
机智云串口调试助手教程,链接:http://docs.gizwits.com/zh-cn/deviceDev/%E6%9C%BA%E6%99%BA%E4%BA%91%E4%B8%B2%E5%8F%A3%E8%B0%83%E8%AF%95%E5%8A%A9%E6%89%8B.html
第二步:修改代码
打开工程,如图,结构如图,然后从正点原子的例程中添加led,和beep的初始化文件,可参考探索者的例程。
/**********gizwits_product.c***********/需要修改的地方是,LED1_ON和LED1_OFF自己实现,LED2和BEEP同此。
在led.h中添加红色框的内容。main.c()函数修改如下:
至此,代码修改完毕。下载到板子里。
第三步:给原子的ESP8266烧写机智云的固件
按照机智云的方法来烧写ESP8266的固件,链接:ESP8266模块刷 GAgent 及验证指南(最新)-其他单片机-硬件开发-机智云
忘了说明 固件选择
GAgent_00ESP826_04020034_32Mbit.bin 应用程序固件for 32Mbit Flash 烧录地址:0x01000
GAgent_00ESP826_04020034_16Mbit.bin 应用程序固件for 16Mbit Flash
GAgent_00ESP826_04020034_8MbitUser1.bin 应用程序固件for 8Mbit Flash user1区域
GAgent_00ESP826_04020034_8MbitUser2.bin 应用程序固件for 8Mbit Flash user2区域
GAgent_00ESP826_04020034_8Mbit_combine.bin 应用程序固件、boot1.6固件、esp_init_data_default、blank四个文件合一的固件,适用于08Mbit flash硬件
GAgent_00ESP826_04020034_16Mbit_combine.bin 应用程序固件、boot1.6固件、esp_init_data_default、blank四个文件合一的固件,适用于16Mbit flash硬件
GAgent_00ESP826_04020034_32Mbit_combine.bin 应用程序固件、boot1.6固件、esp_init_data_default、blank四个文件合一的固件,适用于32Mbit flash硬件
所以ATK-ESP8266应烧录最后一个32Mbit flash 的固件。
第四步:下载测试APP,因为我不会写APP
到机智云的下载中心下载,下载链接:http://dev.gizwits.com/zh-cn/dev ... emo_app?protoc=WIFI
打开APP,登录APP。
输入的是家庭路由器的WiFi,而不是ESP8266的账号和密码。
已完成上述操作,点下一步,等待手机自动搜索到设备
注意:下载完程序后,手机端才能搜索到设备,如果手机端连接不到设备,说明下载到MCU端的程序不正确,此时检查连接的串口是否正确。
设备连接成功,如图:
然后点击这个设备进去后,就可以控制开发板了。
至此,开发板已经连接到机智云,可以在机智云官网的开发者中心看到此设备上线了,手机使用4G网也可以控制开发板。至于还想控制开发板上别的外设,大家就自行拓展。
四、注意事项:正确找出开发板的UART2接口:本开发板中对应关系如下:UART2_TX:PA2,UART2_RX:PA3,
保证与ESP8266模块的管脚接线正确:V3.3(接开发板3.3V); GND(接开发板GND); TX (接开发板的PA3管脚); RX (接开发板的PA2管脚);
注意:.打开Xcom查看调试信息
手机APP连接设备成功。
出现下面的情况,说明MCU端的程序是错误的。此时应检查串口是否正确或者固件是否烧录正确。