你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

评测:STM32F769I-DISCO接入机智云,实现IoT开发远程控制等功能

[复制链接]
机智云 发布时间:2019-9-5 15:23
评测:STM32F769I-DISCO接入机智云,实现IoT开发远程控制等功能
9 I# f4 F( v* B' C* b. p( t
摘要:本文主要讲述如何使用STM32F769I-DISCO接入机智云,实现智能设备开发的过程。适合IoT爱好者、高校学生等入门参考。

! E" M, ?* u: M- [& `- _8 X; W6 l
[ 一、概览 ]
对于一个物联网应用,远程监控设备状态、远程更新设备固件都是其要包含的典型基本功能。在竞争激烈的第三方IoT云服务平台的今天,我选择了机智云,入门快、稳定......还有就是我用的很熟悉了。
+ s% M; S; y% M7 j, u' X) A
接下来,我将利用机智云,打造了基于STM32F769I-DISCO物联平台,实现以下功能:
  • 控制RGB LED的颜色(红、绿、蓝);
  • 自带3种混合色,黄色、紫色、粉色,一键切换所需颜色;
  • 控制F769DISCO板卡的两颗LED的亮灭;
  • 显示STM32F769I-DISCO板载STM32F769NIH6芯片的温度;

    ; N) ~1 w0 s( p' r4 E4 e+ }: _
今天的主题是评测,所以OTA固件升级等功能,这次先不讲了,等后续更新。

" x5 v' y# N) I. J; C- c/ G6 d8 R
[ 二、硬件介绍 ]
需要的硬件:
  • 一块STM32F769I-DISCO开发板,一根micro USB线
  • 一块GoKit扩展版,里面含ESP8266、传感器等模块
  • 使用WIFI无线连接时:一个WIFI热点
  • 一台可以上网的电脑

    / C( x- K5 f2 s8 |
STM32F769I-DISCO是STM32家族最新款ARM Cortex-M7开发板,基于STM32F769NIH6超高性能MCU,带双精度FPU及CHROM-ART加速器。
" W7 \1 _0 A4 v* N; k5 ^( @6 ^" d: k
主要参数- 216 MHz / 462 DMIP
  • 128MBSDRAM, 512MB Quad-SPI Flash
  • 4"TFT LCD触摸屏,带MIPI-DSI接口
    8 X) j. q. Y) L1 a
7 y, v$ p9 W* L; i( [& ~/ W+ j8 ], }
Gokit扩展板采用ArduinoUNO接口,板载esp8266-12F WiFi模块、温湿度传感器DHT11、2个按键、障碍物红外检测模块、微型直流电机、RGB 5050全彩LED。& O# x; K$ Q, l, L$ V8 C% [2 F
' h+ B) ?" N6 a0 i
此外,还需了解一下GAgent,它是设备数据、机智云、应用端(APP)的数据交互桥梁。可将GAgent移植到WiFi模组、GPRS模组、PC端等。目前机智云提供由机智云移植的WiFi模组对应固件有:汉枫LPB100、乐鑫8266、汉枫LPT120、高通4004、RealTek 8711AM 、庆科3162等。简单的说就是,WiFi模块里面烧录了一个叫GAgent的固件,然后这个WiFi模块对用户的MCU就是串口透传了,复杂的协议、交互都给封装了。

3 k, l; w3 ?8 H7 S* `% [  S% F, l6 f2 U
' ?( h# O8 s) U& s) ^9 x5 p& t& _
[ 三、云端配置 ]
我们在机智云自助开发平台创建一个名为F769DISCOGizwits的产品,添加和RGB LED控制、板载LED控制的数据点,数据点是设备产品的功能的抽象,用于描述产品功能及其参数。(创建产品等信息之前列举过太多,傻瓜式开发过程,自学都能学会,可以自行在机智云自助开发平台体验dev.gizwits.com)

' h1 h' E9 _( ~# s! ]+ O
创建数据点后,设备与云端通讯的数据格式即可确定,设备、机智云可以相互识别设备与机智云互联互通的数据。因为我们手机APP的功能需求是:
  • 单独控制RGB LED的颜色(红、绿、蓝);
  • 自带3种混合色,黄色、紫色、粉色,保证能一键切换所需颜色;
  • 控制F769DISCO板卡的两颗LED的亮灭;
  • 显示STM32F769I-DISCO板载STM32F769NIH6芯片的温度(通过芯片内置sensor获取);

    7 n% z6 M$ ]/ n9 l3 {
把以上进行抽象,依次为数值量下发控制、枚举量下发控制、开关量下发控制、数值量上报。所以建立如下数据点:

0 w4 E% Z$ r4 N& t8 ^

6 N" a) E9 F! R$ T- I四、MCU端编程! s6 @6 g, r) }4 l( k( A

" s% H3 s$ s) H# e" n

. Z, s0 [4 l- @
在云端创建产品,建立好数据点后,即可自动生成STM32F103C8T6基于STD标准库函数的Keil工程,还可以下载自动生成的手机APP或者进行在线虚拟调试:

( m5 Q! r4 s$ A: r) z4 j+ E9 @
8 }. y* n7 |0 Z3 }% t+ ^: \2 M7 C

, g$ c1 v/ P: x6 ]; c% T! d% G 0 {2 r& X- p/ c6 s8 _4 G5 k3 ]
# Y: Q' X; _* D3 f0 x
( p" d7 K2 f7 p% b# O; M
工程文件组织目录如下:
这个工程只是一个框架,用户需要添加自己的驱动代码和业务逻辑,以本例来说就是我们需要实现RGBLED的驱动,板卡LED的驱动,串口中断接收和发送,定时器1ms中断,以及收到手机APP发的指令后干什么,软件逻辑如下:
- b  W. v# l6 t
由于F7是不支持STD标准库的,况且生成的工程MCU型号是STM32F103C8T6的,所以我们只需简单的移植一下,通过此图知道要把任意MCU通过WIFI模块连上机智云,只需实现3个简单的接口函数:串口发送、中断接收1字节数据,定时器1ms中断,超级简单有木有哇!

+ C6 y# w- u( D$ O6 Z
8 W! ^, q) r/ U8 X
如上图根据STM32F769I-DISCO和机智云Gokit扩展板原理图,确定了引脚分配。我们先用STM32CubeMX生成STM32F769NIH6的基于HAL库函数的工程,配置方法参见附件STM32CubeMX生成配置报表PDF,再把和机智云服务器交互的串口协议(蓝框)拷贝过来,再写2个用户驱动(红框)即可。

$ b4 v$ j/ Z; a1 ^9 ~. C
7 x  J9 B' O  A; u1 h, r
收藏 评论1 发布时间:2019-9-5 15:23

举报

1个回答
switcc 回答时间:2019-10-14 16:05:13
Gokit扩展板在哪买,能给个链接吗
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版