收藏官网首页
查看: 12722|回复: 0

使用正点原子精英版连上机智云,创建一个IoT开发工程

99

主题

123

帖子

1695

积分

金牌会员

Rank: 6Rank: 6

积分
1695
跳转到指定楼层
楼主
发表于 2019-4-30 13:05:15 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
免费使用STM32、APP自动代码生成工具
本帖最后由 Cherry 于 2019-4-30 14:38 编辑

使用正点原子精英版连上机智云,创建一个IoT开发工程


[ 硬件准备]
  • 正点原子精英板 (STM32F103c8t6也行)
  • WIFI模块使用esp8266
  • 传感器:直接用精英板上带着的光敏传感器和两个LED灯







[ ESP8266固件烧写]
ESP8266烧写机智云的官方固件,方便ESP8266与机智云进行通信。

ESP8266有两种,包括安信可12F版本(左图)和汇思锐12H版本(右图)。

注意事项:

ESP8266有两种,包括安信可12F版本(左图)和汇思锐12H版本(右图)。

这两个文件都是有包含GAgent的应用程序固件,唯一的区别就是(我们将固件GAgent_00ESP826_04020023_17032418为①,GAgent_00ESP826_04020023_17032418_combine为②进行指向,后面没做说明都是一样)下载①固件时需要同时配合3个固件一起,那3个固件呢?分别是boot、esp_init_data_default、blank(这3个固件在乐鑫官方固件烧写工具文件夹中可以找到,等下会有说明),总的来说就是下载4个固件,需设置4个固件地址,步骤上可能会比较繁琐,而且下载地址容易配置出错,而②的话是已经把4个固件打包成1个固件,这样方便我们的下载,但是下载时间会有点长,根据个人的情况选择①或②进行下载。


固件的下载需要其硬件的支持,我们可以用精英板上的CH340模块,就是这一部分

它其实就相当于一个USB to TTL模块


只不过正点原子把他集成上去了,而且改进了,串口下载程序的时候不用拔BOOT0的跳线帽,当然给8266烧写固件用这个也可以。

1)先将板子上USART1的两个跳线帽给拔出,如图

2)将ATK-ESP8266模块与精英板子用杜邦线按照表进行连接

注意:下载时IO_0引脚必须保持与GND的连接。这也是用USB To TTL模块的不好处,因为模块上只有一个GND。

固件和硬件连接都准备后,接下来我们就可以进行固件的烧写了。这里需注意一下,ATK-ESP8266 安信可12F版和汇思锐12H版在使用烧写固件前需修改下SPI的模式。修改方式如图。

搞清楚以上两个内容后,接下来开始烧写ESP8266固件(此处略,可在网上找到相关教程)

烧写了Gagent固件后ESP8266模块上原来自带的AT指令功能会被覆盖,对此,我们不用担心,在正点原子的ATK-ESP8266 WIFI模块资料文件夹下->ESP8266相关资料->V1.3.0烧写及说明资料中,有教我们如何刷回AT固件,重新又变成我们熟悉的AT指令WIFI。

固件烧写完成之后我们把ESP8266与STM32进行连接,使用精英板直接插在ATK MODULE接口即可,使用其他板子的同学按照下表连接

硬件部分完成了。




[ 软件部分]

软件部分——创建产品生成MCU代码包

我以一个远程读取光照强度和开关灯的例子讲解,我一边做一边写,硬件直接使用板子上带的LED和光敏传感器,光敏传感器代码可以在我之前的博客里找到。

Step1:登陆机智云官自主开发平台

Step2:创建一个“产品”

Step3:添加数据点(添加一个光照强度数据点,因为只远程监控,所以选择只读就可以。远程控制LED开关设置可写与布尔值),并应用

Step4:下载官方的Demo APP进行虚拟设备测试和后面的实际设备测试

然后点击虚拟设备,启动虚拟设备


点击显示二维码并用Demo APP扫描


然后我们定义的数据点就出来了

至此,软件部分准备好了,然后我们开始写程序,


软件部分——MCU代码移植

首先先让机智云自动生成数据点和设备接入等的代码,然后移植到工程当中。

Step1:点击MCU开发,选择独立MCU方案,硬件平台选择其他平台,点击生成代码包。

下载代码包,解压后,压缩包内包含以下文件,我们只使用Gizwits和Utils两个文件夹,并复制

粘贴到光敏传感器工程下(代码可以去我之前的博客中下载),USMART文件夹没用,删了就行

在HARDWARE文件夹下粘贴我给的压缩包里的TIMER和USART3


把刚才添加的文件添加到工程里





Step2:开始修改代码
接下来对gizwits_product.c和gizwits_protocol.h以及main.c进行小小修改。(代码太长就不一一粘贴了)
得到新的gizwits_product.c和gizwits_protocol.h以及main.c,定义的数据点在gizwits_protocol.h的200-300行之间一个叫做dataPoint_t的结构体中
最后修改的main.c。
(代码请查看原文链接)


非常容易理解,将程序下载到开发板,配置连接的时候先按开发板的KEY1键,然后Demo APP选择添加设备


常容易理解,将程序下载到开发板,配置连接的时候先按开发板的KEY1键,然后Demo APP选择添加设备


看一下现象


本文转自:https://blog.csdn.net/tichimi3375/article/details/80292336




QQ截图20190430123656.png (244.03 KB, 下载次数: 46)

QQ截图20190430123656.png
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表