本帖最后由 小妖 于 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)
|