单片机学习小组
直播中

殷谷光

7年用户 1009经验值
擅长:控制/MCU
私信 关注

如何去实现esp8266与机智云app云端连接自动生成代码

如何去实现esp8266与机智云app云端连接自动生成代码?

回帖(1)

卫斯晾

2022-2-24 14:45:03
机智云自动生成代码

机智云,全球领先的智能硬件软件自助开发及物联网(iot)云服务平台。总之是一款稳定的可进行开发的平台,开发者进入网站,创建并登录账号,进入到开发者中心进行创作开发。
选产品的类型,选择wifi

建立数据点。
随后应用开发,在目录处找到MCU开发,点击进入,选择独立MCU模式,然后选择你正在用的单片机或开发板的芯片型号所对应的硬件平台,若都没有就选其他通用平台。
最后,在目录中的基本信息里面找到该产品的完整product secret,一般需要输入密码才能获取,
将其复制粘贴到MUC开发配置那里,生成代码包,下载并解压。

机智云代码包与stm32代码


关于机智云的代码包,一般包括

而stm32的代码文件中一般包括
我们需要将移植代码,即将机智云代码包中的Gizwits和Utils文件给复制粘贴到stm32的文件中,另外还需要想main.c的文件也给替换过来。
最后打开USER中的keil项目,可以开始修改代码,配置串口,时钟的,添加userHandle函数中的操作等等。
最下来是连接手机app最关键的一步,在main函数中需要这三行代码。
第一行代码的作用是让你的WiFi模块能够识别WiFi信号并可以连接。至于如何操作到最后一步再详细说明。

   gizwitsSetMode(WIFI_AIRLINK_MODE);//设置模式为接受WiFi信号模式
   userHandle();
   gizwitsHandle((dataPoint_t*)¤tDataPoint);

esp8266的连接与固件烧录


首先esp8266系列分很多种款式,这里就不一一介绍了
在单片机硬件连接上
VCC–3.3V
GND–GND
CH_PD(EN)–3.3V
TX—RX
RX—TX
GPIO0和GPIO2不接
在程序烧录前,我们还需要先对wifi模块进行固件的烧录,由于使用机智云开发,在它的网站我们可以找到机智云WiFi模块固件[固件下载链接]
之后打开文件可以看到有几个对应芯片内存的.bin文件
找到名字中带combine的,而内存大小对应的选择不同,若是stm32f103c8t6的选8M就好了。
烧录固件,接下来介绍两种常用(非开发板)
第一种,利用USB-TTL,需要安装所对应的驱动 这不难
在此之前要先下载好烧录软件,flashdownloadtool,网上找一下就有
利用杜邦线连接USB TLL
TX–RX RX–TX VCC–3.3V GND–GND EN—3.3V GPIO0–GND
需要注意的是3.3V的电压,不能过高,否则会烧坏模块
GPIO0接地是下载模式 GPIO0悬空是正常工作模式
点击进入后可以看到选择烧录界面
配置好了之后,选择对应的串口号COM 比特率一般选115200 完了之后点击START,这个时候绿色方块内会提示等待上电同步

,这个时候需要将wifi模块的REST口给接地一下后悬空,就可以开始烧录了等到提示FINISH后关闭即可。若出现error则需要检查硬件连接和芯片内存大小等问题。
而烧录的第二种方法也是我比较推荐的,到某宝上面去买一个ESP8266固件烧录器,直接插在电脑串口上就可以在软件上烧录,不容易出问题,同时也可以很快进行wifi串口调试。

WiFi模块与手机机智云app的配置连接


至于keil5烧录 若是用ST-LINK,还需要在软件中设置


进入settings进行设置
之后就可以烧录程序了,需要注意的是ST-LINK的连接要对应好,之后按下载就可以了
回到代码的操作,想要WiFi模块与机智云APP连接起来,在main函数的代码

   gizwitsSetMode(WIFI_AIRLINK_MODE);//设置模式为接受WiFi信号模式
   userHandle();
   gizwitsHandle((dataPoint_t*)¤tDataPoint);

在第一次连接时第一行代码不能给注释掉,烧录程序后,手机WIFI连着最近的路由器,到应用商店下载机智云APP,打开并登录,点击右上角的+号
选一键配置,输入所连wifi的密码,进入选择模组类型
确认后点“我已完成上述操作”,然后等待连接完成。之后的代码那第一行就应该注释掉,

   //gizwitsSetMode(WIFI_AIRLINK_MODE);//设置模式为接受WiFi信号模式
   userHandle();
   gizwitsHandle((dataPoint_t*)¤tDataPoint);

不设置模式为默认工作模式。这样就完成啦
举报

更多回帖

发帖
×
20
完善资料,
赚取积分