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

【NUCLEO-WBA65RI评测】物联网 LED

[复制链接]
无垠的广袤 发布时间:2025-8-31 21:25

【NUCLEO-WBA65RI评测】物联网 LED

本文介绍了通过蓝牙无线连接实现远程控制的物联网 LED 的项目设计。

项目简介

主要分为两部分,

  • ST BLE SensorST BLE Toolbox 控制 NUCLEO-WBA65RI 板载 LED ;
  • 通过 MQTT 协议发送消息至服务器或 Home Assistant 智能家居平台,实现 LED 的联网远程控制。

项目方法

  • 开发板 NUCLEO-WBA65RI 上传官方 Demo 例程 BLE_p2pServer;
  • 使用 ST BLE SensorST BLE Toolbox 客户端连接并控制板载 LED ;
  • 连接 Home Assistant (HA) 添加仪表盘并修改配置文件,通过 HA 平台实现远程控制 LED 亮灭。

工程编译和上传

  • 目标 Demo 示例工程 BLE_p2pServer
  • 工程路径为 F:\STM32Cube\Repository\STM32Cube_FW_WBA_V1.6.1\Projects\NUCLEO-WBA65RI\Applications\BLE\BLE_p2pServer\STM32CubeIDE
  • 右键工程文件夹,编译例程(或点击工具栏小锤子按钮完成编译);
  • 连接开发板和电脑,点击工具栏的运行按钮,待提示 Download verified successfully 字样,表明完成上传;

代码

  • 打开 Application/User/Core/main.c 文件,获取主函数;
  • 进入主循环,通过函数定位获取相关工程定义及细节
#include "main.h"

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */

/* USER CODE END Includes */

/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */

/* USER CODE END PTD */

/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */

/* USER CODE END PD */

/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */

/* USER CODE END PM */

/* Private variables ---------------------------------------------------------*/
ADC_HandleTypeDef hadc4;

CRC_HandleTypeDef hcrc;

RAMCFG_HandleTypeDef hramcfg_SRAM1;

RNG_HandleTypeDef hrng;

RTC_HandleTypeDef hrtc;

UART_HandleTypeDef huart1;
DMA_HandleTypeDef handle_GPDMA1_Channel1;
DMA_HandleTypeDef handle_GPDMA1_Channel0;

/* USER CODE BEGIN PV */

/* USER CODE END PV */

/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
void PeriphCommonClock_Config(void);
/* USER CODE BEGIN PFP */

/* USER CODE END PFP */

/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */

/* USER CODE END 0 */

/**
  * @brief  The application entry point.
  * @retval int
  */
int main(void)
{

  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();
  /* Config code for STM32_WPAN (HSE Tuning must be done before system clock configuration) */
  MX_APPE_Config();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* Configure the peripherals common clocks */
  PeriphCommonClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_GPDMA1_Init();
  MX_RAMCFG_Init();
  MX_RTC_Init();
  MX_RNG_Init();
  MX_ICACHE_Init();
  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Init code for STM32_WPAN */
  MX_APPE_Init(NULL);

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */
    MX_APPE_Process();

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

修改后保存代码,重新编译工程并上传固件。

终端测试

工程上传后,绿色 LD2 快速闪烁,指示连接状态。

  • 使用 ST BLE Sensor 安卓客户端连接开发板蓝牙

combine_ST_sensor_P2Pserver_control.jpg

  • 使用 ST BLE Toolbox 安卓客户端连接开发板

combine_ST_Toolbox_P2Psensor_control.jpg

实现了 LED 的蓝牙客户端 APP 远程控制。

连接 MQTT

这里使用 ST BLE Sensor 应用的 Cloud MQTT 功能

combine_ST_sensor_P2Psensor_MQTT.jpg

  • 连接开发板,进入 Cloud MQTT 配置,
  • 输入电脑 IP 地址,端口号,EMQX 平台建立的客户端信息。

测试

使用 MQTTX 软件进行连接和控制测试,配置相应的参数,注意订阅主题以及发送信息的 topic 要与 APP 参数一致。

MQTTX_LED_control.jpg

发送 JSON 消息,即可控制 GPIO 电平以及 LED 。

连接 Home Assistant

打开 HA 主界面,进入 MQTT 通信测试页面

HA_MQTT_LED_test.jpg

可配置主题并发送 LED 控制代码。

修改 configuration.yaml 文件,增加 LED 灯光控制按钮

mqtt:
  light:
    # Device name
    - name: "LED"
    # State topic
      state_topic: "nucleo/LED"
    # Command topic
      command_topic: "nucleo/LED"
    # Command type
      payload_on: "on"
      payload_off: "off"
    # unique_ID
      unique_id: "LED"
    # optimistic set
      optimistic: false

应用配置并刷新界面,即可通过按钮实现 LED 控制

HA_LED.jpg

效果

HA_LED_light_control.gif

Home Assistant 平台远程控制 LED 亮灭。

总结

本文介绍了 NUCLEO-WBA65RI 开发板蓝牙控制 LED 的项目设计,工程烧录并通过 ST BLE Sensor 应用控制板载 LED ;通过 MQTT 协议向开发板发送消息,依托 EMQX 和 Home Assistant 智能家居平台,实现 LED 的联网远程控制,为该产品在物联网领域的开发设计和快速应用提供了参考。

收藏 评论0 发布时间:2025-8-31 21:25

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版