收藏官网首页
查看: 47579|回复: 12

最新的STM32和机智云连接详解

0

主题

5

帖子

377

积分

中级会员

Rank: 3Rank: 3

积分
377
跳转到指定楼层
楼主
发表于 2020-2-5 23:27:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
注册成为机智云开发者,手机加虚拟设备快速开发
本帖最后由 小妖 于 2020-2-5 23:33 编辑

现在的机智云使用的代码生成和以前不一样了,也就导致之前很多的例程和机智云官方的文档都没办法作为参考了。
作为一个小白,没有一个详细例程,真的很难入门,翻遍了几乎所有的帖子,大多数都是很早之前的,没有参考价值。在这里把我调试成功的例程分享一下,做到了最简单的控制,手机控制STM32板上的LED亮和灭。话不多说,准备开干!

  • 准备一块STM32的开发板,什么型号的都可以,板子上最好有多个按键(这里使用了两个),还有LED灯(可以观察现象),现在的板子都有了串口,没有的就要准备一个USB转TTL的模块(淘宝上自己找,最好准备一个,方便和机智云的调试助手连接)。使用的WIFI模块是机智云的小黑板也就是这个模块,本来是想直接做SoC方案的,实在是没学会,才转用单片机+模块的。
  • 从这里下载模块要烧录的固件https://download.gizwits.com/zh-cn/p/92/94 用的是8266的模块,当然选GAgent for esp8266,具体的烧写方法可以看网上的例程,有很多,需要根据你的模块的实际型号选择烧录选项,这里不多介绍,烧录完成后就要测试烧录的固件是否正常工作,https://download.gizwits.com/zh-cn/p/98/119,这里是机智云的串口调试助手,先下载准备好,后面会用到。
  • 创建我们自己的产品。在我们个人账号下创建一个新的产品,不要太复杂,只要能控制一颗LED就可以,这里不会的可以看看其他的帖子,创建简单的产品还是很容易的,这里只要一个数据点就可以了。 别忘了点上面应用按钮,不然数据点是不会保存的。选择下面的虚拟设备就可以用手机app调试了(简单的项目并没有什么意义,这里不详讲)。最后选择MCU开发,选择独立MCU方案,硬件平台选择其他平台(如果选择STM32的,生成的是HAL库项目),下面的Product Secret是在左边最上面的基本信息里面隐藏的,需要输入账号密码才可以看到,最后把生成的代码下载下来。
  • 测试刚才烧录的GAgent固件是不是能用的。GAgent固件就是配合机智云平台生成的代码使用的,初学者不需要搞懂固件里面的内容。打开我们刚才下载的串口调试助手,现在的版本打开是这个样子的 选择右边的新增按钮,把我们创建产品时的 这两个数据填入,就可以选择左边的模拟MCU了,这时候就要用USB转TTL模块把8266模块连接到电脑上 ,除了串口号需要修改,其他的没什么要修改的,后面就可以用左下角的指令模拟MCU控制模块了,重启模块-->初始化-->Airlink,就可以使模块进入配网模式,使用手机APP就可以连接了(如果连接失败就要考虑是连接的问题,还是固件烧录错误的问题,还是网络的问题),这里如果有问题,那就不用进行下去了,肯定失败的。连接成功后就表示固件烧录没有问题,网络也没有问题。现在就可以使用手机控制了,上面三个部分,左边是模拟的MCU和8266通信的串口数据,点击每一条数据,中间都会有关于当前数据的说明(还是很贴心的,省的自己一个个数据看了),最右边的就是模拟的接收,手机的控制会显示在这里,这里也可以修改,手机端也会改变。当这一步也成功后,项目也就成功了一半了。
  • 打开我们准备好的STM32的例程(我用的是正点原子的MINI板的例程-ALIENTEK MINISTM32 实验3 串口实验),这个例程已经调好串口了,用起来省事。把我们刚才下载的代码(独立平台的代码), 这两个文件夹都要复制到我们选择的例程中,如何添加到项目中可以到网上找(正点原子的讲解很多)。还需要在HARDWARE文件夹下加上LED、按键、定时器、串口(用来和8266通信,不是打印数据的)。下面就根据你选择的串口连接模块和STM32开发板,实际只需要连接电源、GND、串口TX\RX,四根线就可以,其他的需要时候再连接(这里连接上也没用,芯片没有配置)。
  • 修改程序。程序中需要修改几个点。1) 堆栈大小要修改,不然工作会出问题。2)在和模块通信的串口中断函数里要添加 gizPutData(&res, 1);//数据写入到缓冲区//用来接收8266发到单片机的数据。3)定时器函数中要添加 gizTimerMs();这个函数。4) 这里添加我们要控制的LED灯,这样我们才可以用手机控制LED的亮灭。5) 这里添加的是单片机发送到8266数据的函数,这样才可以使单片机和8266模块正常通信。
  • 最后别忘了 勾上这里,剩下的编译后就可以解决了,大多是头文件没有引用、函数没有申明之类的错误了,或是函数重定义了,都好解决(可以参考我发的例程),最后下载到开发板上,通过串口可以看到运行状态,按下配网按键,这个时候就可以使用手机搜索到你的开发板了,剩下的就是不断的增加新的功能了。
  • 这一步很重要,很多时候就是忽略了这里才导致的不成功。其他还有问题可以发出来我们一起讨论。最后附上我自己调试的例程。 ALIENTEK MINISTM32 实验3 串口实验 - WIFI-LED.zip (363.31 KB, 下载次数: 325)

0

主题

11

帖子

689

积分

高级会员

Rank: 4

积分
689
推荐
发表于 2020-2-22 15:58:00 | 只看该作者
不错,写的详细的新人指导, 避免弯路
回复 支持 1 反对 0

使用道具 举报

0

主题

5

帖子

377

积分

中级会员

Rank: 3Rank: 3

积分
377
板凳
 楼主| 发表于 2020-2-8 12:35:07 | 只看该作者
补充一点,很多时候串口提示超时是因为操作的太快,在复位后等待一段时间在配网,就不会出现超时的问题。

0

主题

2

帖子

28

积分

新手上路

Rank: 1

积分
28
地板
发表于 2020-3-10 09:22:10 | 只看该作者
感谢楼主的无私奉献~很有帮助

0

主题

4

帖子

113

积分

注册会员

Rank: 2

积分
113
5#
发表于 2020-3-18 14:03:42 | 只看该作者
校园创客福利
感谢楼主分享,学习了

0

主题

15

帖子

292

积分

中级会员

Rank: 3Rank: 3

积分
292
6#
发表于 2020-3-19 13:55:11 | 只看该作者
感谢楼主分享,一直碰到如何用通用固件来开发,学习之后,并且已经连接成功

1

主题

5

帖子

132

积分

注册会员

Rank: 2

积分
132
7#
发表于 2020-4-2 14:34:12 | 只看该作者
为什么要用串口3.

点评

没有固定要求,使用串口3是因为有串口的例程可以直接使用。  详情 回复 发表于 2020-4-4 16:05

0

主题

5

帖子

377

积分

中级会员

Rank: 3Rank: 3

积分
377
8#
 楼主| 发表于 2020-4-4 16:05:13 | 只看该作者
zxj 发表于 2020-4-2 14:34
为什么要用串口3.

没有固定要求,使用串口3是因为有串口的例程可以直接使用。

0

主题

3

帖子

63

积分

注册会员

Rank: 2

积分
63
9#
发表于 2020-4-21 00:42:05 | 只看该作者
楼主你好,方便加Q咨询一下吗?。(STM32+ESP8266+温湿度传感器 接入机智云,有偿。qq:1014082027)

2

主题

6

帖子

262

积分

中级会员

Rank: 3Rank: 3

积分
262
11#
发表于 2020-5-22 14:09:28 | 只看该作者
很有用,谢谢分享!

0

主题

2

帖子

55

积分

注册会员

Rank: 2

积分
55
12#
发表于 2020-6-19 11:55:14 | 只看该作者
版主,帮我指点一下可以吗?

http://club.gizwits.com/forum.ph ... peid%26typeid%3D188

0

主题

1

帖子

18

积分

新手上路

Rank: 1

积分
18
13#
发表于 2022-7-21 14:13:31 | 只看该作者
你好,我的手机连上了,但是模拟CPU上报数据的时候,手机的界面和虚拟设备的界面没有变化是怎么回是呀
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

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

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