微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 使用快速启动平台加速传感器到云端的连接

使用快速启动平台加速传感器到云端的连接

时间:04-05 来源:电子发烧友网 点击:

务中注册 STM32 Nucleo 微系统后,该微系统即可用于传输实时传感器数据。 使用 NFC 动态标签时,用户还可以自动打开 IBM 提供的试用网页,并将 STM32 Nucleo 开发板上所有传感器生成的数据可视化。

为了将 STM32 Nucleo 微系统与 IBM Bluemix 云进行连接,STMicroelectronics 移植了 MQTT 应用级网络协议的开源实现。 MQTT 是一种机器到机器 (M2M) IoT 连接协议,用于通过少量的代码连接远程设备,特别是在网络带宽有限的情况下。 消息传递协议是轻型的,因此节省了电力,这使其特别适合用于嵌入式系统中的传感器数据遥测和实现。 在 FP-CLD-BLUEMIX1 中,MQTT 作为中间件库集成到 STM32 软件包中。

功能包中提供了将 X-NUCLEO-IKS01A1、X-NUCLEO-IDW01M1 和 XNUCLEO-NFC01A1 扩展板与 NUCLEO-F401RE 板一起使用的示例应用。 此应用从温度、湿度、压力、加速计、磁力仪和陀螺仪传感器读取数据值,并通过 Wi-Fi 将其传输到 IBM Bluemix。

此应用默认配置为仅针对数据可视化目的在快速启动模式下运行。 但很容易修改为在 IBM Bluemix 中注册和控制设备(需要 IBM Bluemix 帐户)。

注册 IBM Bluemix 帐户

在 IBM Bluemix 云服务中注册 STM32 Nucleo 微系统后,该微系统即可用于建立端到端 IoT 应用的原型,并开始传输实时传感器数据。

登录或创建 Bluemix 帐户(请参见"参考资料 1"中的完整说明)即可开始。 注册时必须提供几个属性和参数,如下所示:

OrganizaTIon ID (i.e., "1w8a05")。

Device type (i.e.: "stm32_nucleo")。

UM2007 FP-CLD-BLUEMIX1 software descripTIon

DocID028875 Rev 2 13/23

AuthenTIcaTIon Method (only "use-token-auth" supported)。

Authentication token (i.e., "uUURNRbeQQaX+Fvi&8")。

将设备属性复制到位于源代码文件 IBM_Bluemix_Config.c 中的 Config_MQTT_IBM 函数中。 该文件位于 FP-CLD-BLUEMIX1 软件包的 Projects/Multi/Applications/MQTT_IBM/Src 文件夹中。

然后,ibm_mode 变量需要设置为 "REGISTERED",如下所示(代码列表):

Void Config_MQTT_IBM (MQTT_vars * mqtt_ibm_setup , uint8_t *macadd):

/* Default Configuration for QUICKSTART. REGISTERED mode requires account on Bluemix */

mqtt_ibm_setup-》ibm_mode = REGISTERED

然后,需要将 IBM Bluemix 中提供的设备属性复制到名为 IBM_Bluemix_Config.c 的源代码文件中的 Config_MQTT_IBM 函数中。 该文件位于 Projects/Multi/Applications/MQTT_IBM/Src 文件夹中。

程序执行中途将显示:

/* REGISTERED DEVICE */

/* Need to be customized */

完成后第四到第八行将显示如下:

strcpy ((char*)mqtt_ibm_setup-》username,"use-token-auth); //customize

strcpy ((char*)mqtt_ibm_setup-》password," uUURNRbeQQax+Fvit&8");

strcpy ((char*)mqtt_ibm_setup-》hostname,"1w8a05.messaging.internetofthings.ibmcloud.com);

strcpy ((char*)mqtt_ibm_setup-》device_type, "stm32_nucleo");

strcpy ((char*)mqtt_ibm_setup-》org_id, "1w8a05");

代码列表:IBM 设备注册和属性插入要求。 完成注册后,STM32 Nucleo 微系统将能够向 IBM Watson IoT 应用发送信息并从其接收信息。 (来源:STMicroelectronics)

FP-CLD-BLUEMIX1 软件包示例应用包含默认配置,以根据设备的 MAC 地址在 IBM Quickstart 网页3 上查看传感器数据。 URL 页面也被写入 NFC 标签中。 一旦 STM32 Nucleo 开发板连接到 Wi-Fi 接入点,就会自动与 IBM Bluemix 交互并开始传输传感器数据。 Wi-Fi 扩展板的 MAC 地址和 IBM Quickstart URL 打印在串行终端接口中。

要查看实时传感器数据,可以将 Quickstart URL 复制并粘贴到 Web 浏览器中。 使用支持 NFC 的移动设备时,将设备靠近 NFC 标签可以更容易打开网页。 为了实现连接状态视觉指示,一旦 Nucleo 连接到 IBM Bluemix,STM32 Nucleo 开发板上的绿色 LED2 将变为 "ON"。 每次传输传感器数据样本时,就会闪烁。

FP-CLD-BLUEMIX1 包本身带有一个 STM32 层, 其中包括一组简单的与上层应用、库和堆栈交互的通用多实例 API。 这些通用和扩展 API 基于一个通用框架。 这让它们构建的任意层(例如中间件层)可以实现其功能,而无需具备既定 MCU 的特定硬件信息。 此结构提高了库代码的可重用性,并确保可轻松移

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top