谷动谷力

标题: 【应用方案】基于Infineon WiFi&BT Comb CYW43012之蓝牙IoT网关方案 [打印本页]

作者: sunsili    时间: 2023-12-9 16:37
标题: 【应用方案】基于Infineon WiFi&BT Comb CYW43012之蓝牙IoT网关方案
【应用方案】基于Infineon WiFi&BT Comb CYW43012之蓝牙IoT网关方案

概述
基于CYW43012蓝牙® LE物联网网关的解决方案;该方案展示了如何使用MQTT客户端库和Infineon连接设备的蓝牙®主机堆栈来实现一个蓝牙®物联网网关。MQTT客户端库使用了AWS IoT设备SDK,其中包括一个MQTT 3.1.1客户端以及针对AWS IoT的特定库,如Thing Shadows。蓝牙®Mesh堆栈在服务器和客户端模型中与FreeRTOS一起运行。 该方案有两个主要部分:MQTT和Mesh。MQTT客户端RTOS任务与配置的MQTT代理(MQTT broker)(在本方案中为AWS IoT核心)以及使用MQTT主题与云端进行双向通信的发布者(publisher )和订阅者(subscriber )建立连接。Mesh使用GATT配置服务初始化了一个带有服务器和客户端模型的网关。它与其他节点(可调光灯和开关)建立通信。

软件要求:
支持的编译工具链
GNU Arm® embedded compiler v10.3.1 (GCC_ARM)
使用的开发板

其它软件需求:

项目软件实现步骤:

该方案的配置操作步骤:
       3.1)根据《入门AWS IoT教程》中的说明,在AWS IoT核心中设置MQTT设备(也称为Thing)。
       3.2)在AWS IoT控制台的设置页面上,将MQTT_BROKER_ADDRESS设置为您的自定义终端节点。其格式为ABCDEF1234567.iot..amazonaws.com。
       3.3)下载在上一步骤中创建并激活的以下证书和密钥:
      4.4) 使用这些证书和密钥,以隐私增强邮件(PEM)格式在mqtt_client_config.h中输入以下参数:
       根据mqtt_client_config.h中显示的格式,手动将这些值转换为字符串。
     4.5) 根据实际的应用程序,修改以下文件中的配置宏:
编程完成后,应用程序会自动启动。观察UART终端上的消息,并等待设备完成所有必要的连接。
图 1. 终端打印程序启动信息


调光灯和开关节点将数据发布到Mesh网络;IoT网关节点从Mesh网络订阅数据。 按下用户按钮(SW2)将值发布到AWS云上的主题。按住用户按钮(SW2)超过5秒钟可以执行恢复出厂设置。在刷写任何新固件之前,建议进行恢复出厂设置。
图 2.MQTT 和GATT DB 连接成功

在开关节点上切换用户按钮会改变开关状态值。该值将从IoT网关节点发布到云端。开关级别和灯光级别的值将在AWS设备影子文件中维护。
图 3.AWS device shadow

请参考亚马逊AWS设备影子页面,了解如何使用设备影子服务的详细信息。 用户可以通过向IOT_GATEWAY/mesh_devices主题发布SET/GET命令来获取云端的节点信息。 可以使用GET NODE命令从云端读取灯光节点和开关节点的状态。可以使用SET LIGHT命令从云端控制可调光灯节点的亮度。 示例:
GET NODE
SET LIGHT 6

图4. 从AWS向设备发布(Publish)消息

设计与实现
IoT蓝牙®网关应用程序将Mesh服务器和客户端模型实现为两个元素。这些元素订阅(subscribe)来自可调光灯(server/服务器)和开关(client/客户端)Mesh节点的消息。该应用程序通过MQTT与云端进行通信,进行主题订阅(topic subscribe)和发布(publish)操作。按钮中断服务程序(ISR)用于用户发布(publish)数据和重置(reset)节点。 UART用于控制台日志。可以通过在Makefile中设置WICED_BT_MESH_TRACE_ENABLE宏来启用Mesh跟踪;USER_LED1用于显示配置状态,USER_LED2用于应用程序使用。 有关Bluetooth® Mesh API的更多信息,请参阅Bluetooth® Mesh API指南({mtb_shared}/ble-mesh/release-{version}/docs/api_reference_manual.html),这些API是BTStack SDK的一部分。

图 5. 软件设计框图
►场景应用图
►展示板照片
►方案方块图
►核心技术优势
WiFi和蓝牙二合一;超低功耗;兼容性强。

►方案规格
支持802.11a/b/g/n;支持802.11ac friendly;支持蓝牙5.2。







欢迎光临 谷动谷力 (http://bbs.sunsili.com/) Powered by Discuz! X3.2