收藏官网首页
查看: 78769|回复: 102

周末无聊,用手机点亮了STM32板子的灯,太简单了

 

321

主题

1054

帖子

4499

积分

论坛元老

Rank: 8Rank: 8

积分
4499
QQ
发表于 2017-3-18 21:19:13 | 显示全部楼层 |阅读模式
汉枫LPB120模块
本帖最后由 bigfanofloT 于 2017-3-18 21:22 编辑

一直想做个用手机APP远程控制灯的东西,可是不会编程搞手机APP,单片机也不怎么会。直到遇见你-STM32CubeMX & 机智云。让小白也能傻瓜式的搞开发了,点点图标,代码就自动生成好了,彻底解放底层开发,让不怎么会编程的你只需专注应用就可以了。
整个结构就是这样子,通过手机APP控制Nucleo-STM32F767板卡上的三颗LED以及显示STM32F767芯片的温度。
1-结构.png
硬件连接:
esp8266模块Rx------>  PD5,USART2_TX
ESP8266模块Tx------>  PD6,USART2_RX
板卡上:
绿色LED LD1------>PB0
蓝色LED LD2------>PB7
红色LED LD3------>PB14
与ST-LINK仿真器连接的是串口3;
蓝色用户按键------>PC13


使用STM32CubeMX这款图形化配置软件可以非常方便的配置外设,再也不用去翻手册啦!
2-配置图.png
根据需要,连接LED的管脚都配置为推挽输出模式,按照电路图,输出高电平即可点亮。
串口3与ST-LINK连接,作为打印日志使用,配置为115200-N-8-1
蓝色按键,根据电路图是按下为高电平,因此配置为下拉输入,用于给一个触发信号,让ESP8266 WIFI模块去联网。
串口2用于与ESP8266 WIFI模块通信,根据机智云平台的要求,配置为9600-N-8-1,且开启接收中断。
ESP8266烧写机智云开发的固件GAgent后(刷写教程点我),就可以把它当串口透传模块使用,不需要关心与服务器交互的协议。
芯片温度的检测是通过内部ADC的专用通道获取的。
系统时钟配置为216MHz,根据机智云平台接口要求,还需要再配置1个定时器1ms中断。按键使用另外一个定时器去定时扫描。附件有STM32CubeMX配置的PDF报告,根据这个配置即可,此贴详细的讲解了STM32CubeMX的使用方法http://club.gizwits.com/thread-3914-1-1.html

根据机智云论坛的教程一步步操作,先注册了开发者账号,然后在开发者中心简单的填写了产品信息:
3-数据点.png
这个关于数据点的excel文件包含在附件,不清楚的可以看看。然后用代码自动生成工具直接就生成stm32工程了。很多人不会做手机APP,图中这个手机APP是官方提供的公版通用APP,还公开了源码SDK,会移动开发的换个皮肤,Logo就是自己的了,呵呵。
实物1 - 副本.jpg
实物2 - 副本.jpg
实物3 - 副本.jpg
最后总结下:DIY一个远程手机APP现在真是简单,单片机实现3个接口就行了,串口发送和中断接收,定时器1ms中断,利用第三方云服务和图形化的工具。呵呵。
附件:
手机APP:
IOEDemo_Android_20170125.zip (7.56 MB, 下载次数: 321)
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息