基于HT32的智能家居demo(蓝牙上位机)

参加合泰杯作品的部分展示,基于HT32的智能家居,这里展示灯光的相关控制,是用蓝牙进行的数据透传,参考了一些资料,美化封装了一下之前的上位机界面。

成果展示

点击主界面的蓝牙设置,进行连接,下面已经成功连接上,并且接收到了HT32单片机测量到的温湿度数据。

LED关闭 最右侧的LED

LED打开

开关灯的协议指令,控制台输出

设计过程

HT32单片机部分 (仅展示LED)

使用的是开发板自带的LED,只需要控制对于引脚输出的电平就可以控制LED的亮灭。

复制代码
#ifndef _LED_H_
#define _LED_H_

#include "ht32f5xxxx_ckcu.h"
#include "ht32f5xxxx_gpio.h"

//端口号定义
#define HT_GPIO_PORT HT_GPIOC 
//LED引脚定义
#define HT_GPIO_PIN  (GPIO_PIN_14|GPIO_PIN_15|GPIO_PIN_10|GPIO_PIN_11)

//LED1 LED2 宏定义开和关
#define LED1_ON() 	GPIO_WriteOutBits(HT_GPIO_PORT,GPIO_PIN_14,RESET)
#define LED1_OFF()  GPIO_WriteOutBits(HT_GPIO_PORT,GPIO_PIN_14,SET)

#define LED2_ON() 	GPIO_WriteOutBits(HT_GPIO_PORT,GPIO_PIN_15,RESET)
#define LED2_OFF()  GPIO_WriteOutBits(HT_GPIO_PORT,GPIO_PIN_15,SET)

#define A1_ON() 	GPIO_WriteOutBits(HT_GPIO_PORT,GPIO_PIN_11,RESET)
#define A1_OFF()  GPIO_WriteOutBits(HT_GPIO_PORT,GPIO_PIN_11,SET)

#define B1_ON() 	GPIO_WriteOutBits(HT_GPIO_PORT,GPIO_PIN_12,RESET)
#define B1_OFF()  GPIO_WriteOutBits(HT_GPIO_PORT,GPIO_PIN_12,SET)
void Led_Init(void);
#endif

蓝牙模块使用的是BT04,本来打算采用官方的模块,奈何焊接技术不行,

使用的单片机引脚接入, PA2 rX 和 PA3 tX 串口0 printf指向蓝牙(进行单片机向上位机的数据传输)这里简单的配置一下串口就行,和stm32类似。

QT蓝牙上位机部分

目录展示:目录有四部分

先进行的是my_custom的设计,里面设计了按钮开关(之前的博客做过)和其他需要使用的控件,因为qt本身的控件并没有滑动开关,所以这里重写绘画和鼠标点击事件进行滑动按钮的设置,在外面进行调用即可,QT可以进行封装到其他项目使用(但是我没有成果,所以只能在项目中进行调用)

之后我进行的是device文件夹的设计,里面就是设计的是灯相关的,需要调用my_custom里卖弄的控件,所以放在第二步,这里很关键的一点是要设置一个信号(可以后面设计了蓝牙再进行添加),用于进行蓝牙的数据传输(我直接在这里面调用蓝牙的socket进行传输失败(遇到数不清的erro),还是得在主界面里面使用信号槽机制)

然后是设计的蓝牙部分,蓝牙部分就是之前博客做的蓝牙上位机直接移植了过来。区别是这里要添加一个槽函数,用于发送信息。

最后是再主界面中进行编写,将两边connect起来

(上位机部分参考了b站老徐的作品:链接(博主使用的是tcp)【开源项目】Qt智能家居案例。源码请从简介获取。_哔哩哔哩_bilibili

相关推荐
sleepybear11131 天前
在Ubuntu上从零开始编译并运行Home Assistant源码并集成HACS与小米开源的Ha Xiaomi Home
python·智能家居·小米·home assistant·米家·ha xiaomi home
weixin_452600692 天前
GC393低功耗双电压比较器:精准、高效的信号处理解决方案
单片机·嵌入式硬件·智能家居·信号处理·音响·蓝牙音箱
好多渔鱼好多3 天前
【HDMI CEC】如何测试CEC协议功能
物联网·智能家居·万物互联·hdmi cec·一键控制·cec 测试
sword devil9004 天前
PYQT实战:智能家居中控
python·智能家居·pyqt
欢乐熊嵌入式编程5 天前
WIFI协议全解析01:WiFi协议的前世今生:从802.11到智能家居
esp32·智能家居·wifi协议·wifi通信
技术支持者python,php18 天前
MQTT通讯:物联网
物联网·智能家居
深圳市尚想信息技术有限公司18 天前
UL/CE双认证!光宝MOC3052-A双向可控硅输出光耦 智能家居/工业控制必备!
智能家居·工业控制·光宝·驱动光耦·输出光耦
根号三加载成功20 天前
物联网控制器:一台顶N台!路由器、PLC控制器、网关、工控机……
物联网·云计算·智能家居·工业自动化
Smartlabs21 天前
Matter协议开发者指南:使用Matter SDK构建智能家居应用
智能家居·matter·matter方案·matter协议
华普微HOPERF22 天前
让温度“说话”,数字温度传感器如何智能感知温度?
科技·单片机·嵌入式硬件·物联网·智能家居