[应用相关] 基于STM32 NUCLEO 机智云智能硬件

[复制链接]
 楼主| stm32jy 发表于 2018-2-25 16:25 | 显示全部楼层
这个工程(基于STM32标准库函数且IDE为Keil for ARM)只是一个框架,但包含了和机智云通信协议层,用户只需要添加自己的驱动代码和业务逻辑,以本例来说就是我们需要实现RGB LED的驱动,直流电机的驱动,温湿度传感器的驱动,红外传感器的驱动,以及收到手机APP发的指令后干什么,软件逻辑如下:
1.png
 楼主| stm32jy 发表于 2018-2-25 16:32 | 显示全部楼层
所以我们只需简单的移植一下,通过此图知道要把任意MCU通过WIFI模块连上机智云,只需实现3个简单的接口函数:串口发送、中断接收1字节数据,定时器1ms中断。 1.png



 楼主| stm32jy 发表于 2018-2-25 16:34 | 显示全部楼层
本帖最后由 stm32jy 于 2018-2-25 16:39 编辑

如上图根据Nucleo-STM32L073和机智云Gokit V2.3扩展板原理图,确定了引脚分配。这里由于板载ST-LINK虚拟串口和Arduino UNO接口的串口有冲突,需要对Nucleo做点手术
1.png
 楼主| stm32jy 发表于 2018-2-25 16:40 | 显示全部楼层
我们先用STM32CubeMX生成STM32FL073RZ的基于HAL库函数的IAR工程,配置详细方法参见附件STM32CubeMX生成配置报表PDF
1.png
 楼主| stm32jy 发表于 2018-2-25 16:46 | 显示全部楼层
这里需要指出的是堆栈Heap和Stack的设置,需要修改大一些,另外工程文件夹名为GokitShield_Nucleo64_STM32L073RZ
1.png
 楼主| stm32jy 发表于 2018-2-25 16:49 | 显示全部楼层
再把云端生成工程的GizWits目录拷贝到IAR工程中,移植硬件驱动即可。 1.png
 楼主| stm32jy 发表于 2018-2-25 16:53 | 显示全部楼层
到此完成了机智云协议层的拷贝,下面拷贝硬件驱动层我们在机智云官网下载源码
1.png



 楼主| stm32jy 发表于 2018-2-25 16:55 | 显示全部楼层
解压,找到Hal文件夹,如下图,里面包含了外设驱动源码,但是这些是基于STD库函数且MCU是STM32F103C8T6
1.png
 楼主| stm32jy 发表于 2018-2-25 16:57 | 显示全部楼层
而我们STM32CubeMX软件生成的是基于HAL库函数且MCU是STM32L073RZ,所以需要修改这些硬件驱动,移植这里就不介绍了,大家下载附件查看即可,我这里把这些驱动文件.c和.h放在一个文件夹Hal
1.png
 楼主| stm32jy 发表于 2018-2-25 17:01 | 显示全部楼层
如下图IAR工程,红框是机智云协议层,蓝框是硬件驱动层。
1.png
 楼主| stm32jy 发表于 2018-2-25 17:05 | 显示全部楼层
上电,打开串口调试助手可以查看日志
1.png
 楼主| stm32jy 发表于 2018-2-25 17:10 | 显示全部楼层
APP界面
1.png
 楼主| stm32jy 发表于 2018-2-25 17:10 | 显示全部楼层
本文介绍了使用机智云自助开发平台快速创建智能产品的过程,并给出了移植机智云微信宠物屋SDK到Nucleo-STM32L073的过程。利用机智云强大的代码生成工具,我们只需简单的把用户代码填充到机智云为我们搭建的框架即可。
 楼主| stm32jy 发表于 2018-2-25 17:11 | 显示全部楼层
此**来之机智云社区 http://club.gizwits.com/thread-4467-1-1.html ,为了大家在学习STM32的应用带来方便。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部