datasheet

STM32单片机

文章数:283 被阅读:855874

账号入驻

今日推荐:基于STM32的阿里云物联网平台方案

2018-10-25
    阅读数:

前言

阿里云物联网平台(原名物联网套件,下文两者通用)是阿里云专门为物联网领域的开发人员推出的,其目的是帮助开发者搭建安全且性能强大的数据通道,方便终端(如传感器、执行器、嵌入式设备或智能家电等等)和云端的双向通信(https://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

阿里云物联网套件主页:

https://cn.aliyun.com/product/iot

阿里云物联网套件SDK源代码则已经开放在

https://github.com/aliyun/iotkit-embedded 。


基于STM32的阿里云物联网套件方案开发包已经集成了Ali物联网套件SDK2.03

https://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。

在设备端替换参数

开发包中的Projects\Common\Shared\Src\mqtt-example.c 包含有默认的连接云端参数,用户应将其替换成刚刚从云端获得的自有的productKey, 设备名称(deviceName)以及deviceSecret。

使用IAR编译

开发包中

Projects\STM32L476RG-Nucleo\Applications\Cloud\Ali\EWARM

 包含有工程文件路径。用户可直接点击打开,进行编译。开发包使用的工程文件IAR版本为8.20.1。若用户使用较低版本的IAR,仅需要重新构建工程文件,而不需要修改目录结构与源代码。

调试运行

直接使用IAR下载并运行。ST-Link配置已在工程文件中。

Tera Term串口配置

需要使用串口终端程序Tera Term(其他类似串口软件亦可)来配置网络或者察看程序运行的日志。

数据帧格式配置参数如图所示。


在串口配置WiFi

第一次连接,设备端会提示输入WiFi参数。

输入WiFi SSID

选择WiFi安全模式

若有必要输入密码


首次输入的WiFi AP的用户名和密码会存放在MCU的Flash中,以免下次上电重复输入。如果用户更换了WiFi AP,需要使用新的用户名和密码

,则可在启动5秒内按住蓝色用户按钮,进行新WiFi AP设置流程

传感器数据上报

开发包利用内部温度传感器数据,向云端进行上报并订阅。

同时程序也支持将LED灯状态上报。用户可按蓝色用户按钮切换LED灯状态,并将其上报至云端。

在云端查看物联网设备状态

物联网设备是否在线,以及上行以及下行详细数据,除了通过设备端的串口输出log信息,还可以在阿里云端物联网套件的“管理控制台”上找到详细日志。访问http://iot.console.aliyun.com 查看“日至服务”,如右图所示:


使用其他STM32开发板

基于STM32的阿里云物联网套件方案开发包符合STM32 Cube文件目录结构。

用户可以将此开发包适配到用户自己的开发板。。

对于新的MCU系列,只需要将相应的STM32 HAL Driver驱动复制到驱动Drivers目录,替换自己板子的BSP驱动;然后在Projects目录复制已有工程,加入特定功能,修改得到新的工程文件。


事实上此开发包也支持STM32 B-L475E-IOT01开发板连接阿里云。用户可以比较开发包中的NUCLEO-L476RG与 B-L475E-IOT01目录,了解如何快速将此开发包运行在更多STM32开发板上。


另外,用户也可以很容易的将符合STM32 Cube架构的中间件集成进最终的应用。

↓↓↓更多详情,请点击“阅读全文”

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: TI培训

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved