发帖
9 0 0

【电子DIY作品】蓝牙远程控制家居+PB-03F+PC上位机

小小鸟
金牌会员

5

主题

101

回帖

1802

积分

金牌会员

积分
1802
电子DIY 280 9 2025-3-20 16:24:50
[i=s] 本帖最后由 小小鸟 于 2025-4-4 20:39 编辑 [/i]

项目简介

本项目通过PB-03F kit完成了远程控制家中的设备,比如风扇、灯光、插座电源等等。配置PC上位机,可以实时查看设备的状态以及完成控制。

项目参数

使用的是PB-03F Kit开发板,使用的是安信可的模组 - PB-03F模块,其内置了64KB SRAM,256KB flash,96 KBROM,256bit efuse,采用的芯片是 M0 核,支持二次开发开发,本工程就是通过Keil二次进行了开发。

下面是这模组的一些特点:

  • 支持协议:蓝牙5.2
  • 发射功率:10dBm
  • 接收电流:9.4mA
  • 发送电流:11.5mA
  • 接收灵敏度:-93dBm
  • 硬件加密加速器支持AES算法
  • 蓝牙速率支持:125Kbps、500Kbps、1Mbps、2Mbps

硬件说明

下面是使用到的继电器模块的主要原理图(enmmm,下面的演示暂时还没有用起来,验证了一下方案的可行性,下周等我的220V的灯到了,将PB-03F和灯一起装进天花板中,我补一个)

Snipaste_2025-03-20_16-17-57.png

Snipaste_2025-03-20_18-27-37.png

软件代码

PB-03F使用的是官方提供的keil工程上修改而来的(bleUart_AT),通过不断的定位最后发现BUP_data_BLE_to_uart_send在这个函数中,会接收到蓝牙发送过来的数据,所以想要完成交互,就可以在这添加一个数据处理函数rec_pro,根上位机的协议对应起来就可以完成控制和返回状态的逻辑了

int BUP_data_BLE_to_uart_send(void)
 {
     BUP_ctx_t* pctx = &mBUP_Ctx;
     if(pctx->tx_state != BUP_TX_ST_IDLE && pctx->tx_size)
     {
         // run at cmd.
         if((pctx->tx_size) == 2 && \
                 (pctx->tx_buf[0] == 'a') && \
                 (pctx->tx_buf[1] == 't'))
         {
             at_at(0,NULL);
             pctx->tx_state = BUP_TX_ST_IDLE;
             pctx->tx_size = 0;
             return PPlus_SUCCESS;
         }
         // run at+reset cmd.
         else if(pctx->tx_size == 8)
         {
             bool flag = true;
 
             for(int i=0; i<8; i++)
             {
                 if(pctx->tx_buf[i] != ptcmd[i])
                 {
                     flag = false;
                     break;
                 }
                 else
                     continue;
             }
 
         if(flag)
             at_reset(0,NULL);
         }
 
         //AT_LOG("buf:%s",pctx->tx_buf);
         //AT_LOG("size:%s",pctx->tx_size);
         //FF 00 00 00 00 00 01 FF
         rec_pro(pctx->tx_bu);
 
         hal_uart_send_buff((UART_INDEX_e)g_uart_idx, pctx->tx_buf, pctx->tx_size);
         pctx->tx_size = 0;
         pctx->tx_state = BUP_TX_ST_SENDING;
         return PPlus_SUCCESS;
     }
 
     LOG("BUP_data_BLE_to_uart_send: incorrect state\n");
     return PPlus_ERR_INVALID_STATE;
 }

实物验证过程

一开始使用3V3V来远程驱动灯管,来确保方案的可行性和安全性,下面是灯管熄灭和点亮的状态。

22.png

2.png

验证可以正常使用,就可以开干了,将天花板上无法点亮的嵌入式LED灯具拆下里一探究竟。

这是暴露在外面的灯具的参数,上面贴牌写着170~240V,额定频率是50/60Hz,那应该是交流驱动的吧

5577fff55b505e10582b9ff75c1bdaa.jpg但是上一级连接了一块PCB,通过查看这是SOP-8芯片的丝印,可以看到差不多的原理图,这是一个高精度PSR LED恒流驱动芯片。

图片.png
图片.png
这就有点奇怪了,原来头顶上的灯是这样的运行,也不晓得当初是如何安装的,并且能正常使用的。。

经过排查发现直接12V给灯具是可以正常点亮的,还没试过标牌上220V/50Hz来试试,怕突然就过年放鞭炮了。那应该估计是AC-DC模块的问题了。

算了,那就直接换新的220V灯具吧,通过PB-03F远程控制继电器来控制灯具的亮灭,但马上又遇到的新的问题,可能这是中间的灯具,线缆还需要连接到后级吧,不是直接连接出L、N两根线,拿杜邦线这种细线放在这用总感觉有点危险

b69e8a3a76387c494459e52e356dc11.jpg

还是拆下来灯亮它吧,大家在玩220V交流电的时候要注意安全啊!!!

实物演示

4月4日.gif

可以购买多个模组放置需要控制的设备里,那么一套蓝牙智能家居也就组成了

Snipaste_2025-03-20_16-24-41.png

──── 0人觉得很赞 ────

使用道具 举报

2025-3-20 16:43:02
图片裂开了,更换一下。
2025-3-20 17:40:20
图片裂开了,更换一下。
2025-3-20 18:34:14
换啦换啦,还加视频了
2025-3-21 08:36:36
小小鸟 发表于 2025-3-20 18:34
换啦换啦,还加视频了

等你把东西做完吧,时间可以缓一缓。
2025-3-21 16:35:44
小小鸟 发表于 2025-3-20 18:34
换啦换啦,还加视频了

视频播放不了了,你把录制的视频发在B站,然后附超链接在帖里。
2025-3-22 11:07:45
爱笑 发表于 2025-3-21 16:35
视频播放不了了,你把录制的视频发在B站,然后附超链接在帖里。

OK,我完善后一并提交
2025-3-24 22:11:34
继电器体积有点大
2025-4-1 10:55:00
小小鸟 发表于 2025-3-22 11:07
OK,我完善后一并提交

作品还没有完善好呀?视频还没上传
2025-4-4 20:39:24
完善啦完善啦
您需要登录后才可以回帖 立即登录
高级模式
返回
统计信息
  • 会员数: 28431 个
  • 话题数: 40505 篇