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

正点原子STM32mini开发板+ESP8266接入机智云AIoT云平台

679

主题

736

帖子

3万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
36470
跳转到指定楼层
楼主
 楼主| 发表于 2021-6-7 11:36:47 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
校园创客福利
本帖最后由 Kara 于 2021-6-7 11:37 编辑

本文主要记录了如何使用正点原子mini开发版连上机智云AIoT云平台,创建一个IoT开发工程。


1、硬件准备
  • 正点原子mini版
  • WIFI模块使用esp8266


提示:可到机智云淘宝店购买以上硬件!


2、创建智能产品
2.1 首先登陆机智云开发者中心,新建一个产品


2.3 根据需要设定数据点

3、固件烧写

要将机智云配套的GAgent固件烧写进ESP8266中,才能实现与机智云AIoT云平台的通信。

3.1 在机智云下载中心,下载所需要的GAgent固件和ESP8266烧录软件。
机智云下载中心:
http://download.gizwits.com/zh-cn/p/92/93


3.2 将ESP8266正确连接到电脑,根据机智云官方的教程烧录固件。
官方版ESP8266烧写过程:


注意事项:
  • 需要使用串口转USB芯片,没有串口转USB的可以使用正点原子STM32开发板上的芯片,只需要将连接RXD/TXD与单片机串口的跳线帽拔下来,就可以使用了。
  • IO_0口需要稳定接地
  • 如果烧写失败,请多次尝试或更换较短的杜邦线
  • 烧写速度可能较慢,请耐心等待。



ESP8266和正点原子mini的硬件连接:


注意:IO_0和RST均悬空4、MCU代码包下载

创建好智能产品后,打开创建的【智能产品】--【产品开发】--【MCU开发】,生成并下载MCU代码包,请注意,此处选择,下载“其他平台”的代码包。

注意:硬件平台需要选择 其他平台。下载MCU代码包

下载解压后可以得到三个文件夹和一个指导手册以及一个日志文件

5、代码移植
为了简化代码移植的步骤,我们直接在已经移植完成的工程中覆盖刚刚下载的代码包中Gizwits和Utils文件夹的方法
5.1 将Gizwits和Utils文件夹直接覆盖复制到下载好模板中


5.2 在MDK中打开模板工程,修改gizwits_product.c
在gizwitsEventProcess()函数中添加不同事件所需要进行的操作,如控制LED灯
在userHandle()函数中添加传感器信息获取并将数据传入currentDataPoint中,如





    void userHandle(void){  currentDataPoint.valueLED0=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_8);}
在mcuRestart()函数中加入以下两行代码,作用是STM32软件复位


void mcuRestart(void){  __set_FAULTMASK(1);  NVIC_SystemReset();}
将uartWrite()函数中的部分代码换为如下


for(i=0; i<len; i++){    USART_SendData(USART3, buf);//STM32 test demowhile(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET);if(i >=2 && buf == 0xFF)  {      USART_SendData(USART3, 0x55);//STM32 test demowhile(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET);  }}
在gizwits.h中**gizTimerMs();函数,即添加


  void gizTimerMs(void);6、网络配置
6.1 首先要下载机智云产品调试APP 链接
6.2 开发板连接电脑,打开串口调试助手,波特率115200


6.3 打开手机APP,可以直接跳过登陆,不影响使用
6.4 点击右上角的加号


6.5 选择一键配置


6.6 输入WiFi名和密码,**
注意此时手机必须连接在该WiFi下**


6.7 选择厂家乐鑫


6.8在此界面等待


6.9 按下开发板上的KEY1,进入AirLink模式,此时串口助手显示如图


6.10点击手机APP上的我已完成以上步骤


等待连接完成即可.
7、总结
关于MCU移植,可以参考正点原子的教程和官方给的移植指南
移植需要完成的内容有:
  • 串口2:与ESP8266通信的串口,波特率9600,开启接收中断,并在中断中调用gizPutData,将串口到的内容放入缓冲区,在uartWrite()中补充串口发送数组的代码,可以参考官方手册或正点原子教程
  • 串口1:完成printf函数,重定义fputc函数,将相关信息发送给电脑,方便调试
  • 定时器: 将一个定时器设定为1ms中断,在中断中调用gizTimerMs();该函数未在头文件中**,需要我们在头文件中补上**
  • 复位函数: mcuRestart()内编写STM32软件复位
  • 数据采集:在userHandle()中实现对数据的收集,并传输到currentDataPoint中
  • 动作执行:在gizwitsEventProcess()中执行相应的操作,如关闭/开启LED
  • 网络配置:在主函数中调用gizwitsSetMode()进入Airlink模式或其他模式



移植想要简单省事,最好的办法是使用已经移植好的工程,将机智云官方下载来其他平台的Gizwits和Utils文件夹直接替换原有的文件夹,然后再更改userHandle()和gizwitsEventProcess()函数。但是正点原子的源码是旧版本的机智云代码,需要进行一些修改。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

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

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