前言
阿里云物联网平台(原名物联网套件,下文两者通用)是阿里云专门为物联网领域的开发人员推出的,其目的是帮助开发者搭建安全且性能强大的数据通道,方便终端(如传感器、执行器、嵌入式设备或智能家电等等)和云端的双向通信(http://cn.aliyun.com/product/iot)。本文描述了基于 STM32 系列 MCU 连接阿里云的方案,详细说明了如何使用集成了阿里云物联网套件的 STM32 扩展开发包。
硬件概述
STM32 NUCLEO-L476RG
从 www.st.com 搜索关键字 NUCLEO-L476RG 可以得到此开发板的详细介绍。
- 板载 STM32 超低功耗系列 STM32L476RG,拥有 1M字节的 Flash 和 128K 字节的 SRAM。
- 板载 Arduino™ Uno V3 接口的扩展插座。我们通过该插座给 WiFi 模组供电。
- 板载 ST morpho 接口的扩展插座,可由此访问全部 STM32 管脚。我们将通过该插座连接 WiFi 模组的收、发I/O。
MXCHIP EMW3080 WiFi 扩展板
EMW3080 WiFi 扩展板也集成了 Arduino 接口扩展插座,可与 NUCLEO-L476RG 开发板连接。但是 Wifi 扩展板上的 wifi 模块 收、发引脚接在了 Arduino 插座的 D0 和 D1 管脚,即下图中的 RXD 和 TXD;而在 NUCLEO-L476RG 开发板上,Arduino 接 口插座的 D0 与 D1 管脚默认对应的 MCU(L476)的 PA2 和 PA3 管脚,正好是是 USART2 接口的 Tx和 Rx,并已经连接至 STLink,以实现 STLINK 的 USB 桥接串口的虚拟串口功能。 我们希望保留 STLink 虚拟串口功能,供调试打印用。因此,需 要将 Wifi 扩展板上 Arduino 接口的 D0 与 D1 管脚,即 WiFi 模块的收、发引脚,与 MCU 的 USART1 连接(PA9 和 PA10)。
跳线如下:
· WiFi 扩展板的 RxD 连接 morpho 插座 (CN10)的管脚 33。 · WiFi 扩展板的 TxD 连接 morpho 插座 (CN10)的管脚 21。
实际连接如图所示: 板子上原来的跳线都不需要改变,也不需要吹焊solder bridge(默认状态母板上 D0、D1 没有连到MCU 的 UART1), 只需要几根连接线就可以完成连接。
软件环境和工具
- 基于 STM32 的阿里云连接方案开发包,已经集成了 Ali 物联网套件 SDK。
- EWARM IAR 开发环境。
- 串口工具 Tera Term。串口调试工具,显示程序运行信息,以及供用户配置 WiFi 用户名和密码。
阿里云物联网套件 SDK
阿里云物联网套件主页:http://cn.aliyun.com/product/iot
阿里云物联网套件 SDK 源代码则已经开放在 http://github.com/aliyun/iotkit-embedded 。
基于 STM32 的阿里云物联网套件方案开发包已经集成了 Ali 物联网套件 SDK2.03 http://github.com/aliyun/iotkit
embedded/releases/tag/RELEASED_V2.03。在集成过程中,整个 SDK 目录文件结构保持不变,方便用户在将来自行替换更
高版本的 Ali 物联网套件,如下图:
在云端开通 Ali 物联网套件
将设备接入云端,第一步是要在云端开通物联网套件,注册产品和设备。用户可参照阿里云帮助文档里的“阿里云物联网套
件 > 控制台使用手册 > 产品管理 > 设备接入准备”的详细说明,也可以参照以下步骤:
- 注册阿里云帐户并实名认证 从产品中选择“物联网平台”,或直接进入 http://iot.console.aliyun.com/,开通物联网套件。
- 创建产品,获取 productKey 添加设备,获取 deviceName 和 deviceSecret
- 创建设备的 MQTT 主题 $(PRODECT_KEY)/$(DEVICE_NAME)/data,并设置权限为:设备具有发布和订阅。
一步一步创建完成后,用户也可以从控制台中的设备管理,点击相应的设备,查看设备基本信息,就可以一次性获得productKey, 设备名称(deviceName)以及 deviceSecret。
...
了解更多,请下载后阅读
下载地址1>> 下载地址2>> 更多实战经验>>
|