日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用WB2系列模組做一個(gè)433遙控網(wǎng)關(guān)

AIoT行業(yè)洞察 ? 來源:AIoT行業(yè)洞察 ? 作者:AIoT行業(yè)洞察 ? 2025-04-09 13:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

以下作品由安信可社區(qū)用戶

業(yè)余菜狗制作

前言

自從接觸智能家居之后,筆者就變得很依賴智能家居(絕對不是懶!)

比如臥室燈,就在進(jìn)門的地方,進(jìn)門開燈很方便,但是晚上睡覺關(guān)燈就很不方便。

之前是買了一款Wi-Fi燈,是用手機(jī)APP操作,剛開始用的時(shí)候感覺很方便,后面用久了,覺得每次都要開APP操作也很煩,所以就在網(wǎng)上查了一下,有那種無線開關(guān),按一下就能開關(guān)燈,把按鈕貼在床頭,需要開關(guān)燈就點(diǎn)一下,比點(diǎn)APP更方便!

但是?。?!網(wǎng)上賣的無線按鈕開關(guān)可不便宜,眾所周知筆者的時(shí)薪是14.4所以這種方案我是拒絕的。那?就沒有便宜的方案了嗎???

還真讓我找到了——433射頻開關(guān),淘寶或多多上(用券之后)才3塊多一個(gè),但是筆者用的Home Assistant系統(tǒng)是不能直接接入433開關(guān)的,所以就用安信可Ai-WB2模組DIY了一個(gè)433網(wǎng)關(guān),將433遙控信號轉(zhuǎn)發(fā)給Home Assistant.

成品如下圖,已經(jīng)測試幾個(gè)月了,還是比較穩(wěn)的

wKgZPGf2DDqANEJpAAG0Z4d4cb0734.jpg

1、DIY思路

數(shù)據(jù)處理流程:433按鈕-->433接收模塊-->WB2-->HA-->燈

433按鈕:當(dāng)按下433按鈕時(shí)發(fā)送鍵值

433接收模塊:接收到433鍵值后用uart發(fā)送給WB2

WB2:uart收到鍵值之后,將鍵值用mqtt發(fā)送給HA

HA:收到WB2的mqtt信息之后,根據(jù)用戶設(shè)定控制燈(或其它設(shè)備)

燈:HA讓我亮,那我就亮,讓我滅,我就滅

2、準(zhǔn)備工作

●一個(gè)433按鈕開關(guān)

●Ai-WB2-12F模組及開發(fā)環(huán)境

●一個(gè)433接收模塊(筆者用的是蜂鳥無線的R1A模塊)

●一個(gè)USB公頭,一片PCB,一堆小零件

●一個(gè)3D打印的外殼

3、編程開發(fā)

因?yàn)?33按鈕是現(xiàn)成的,所以不需要開發(fā),只有WB2和HA部分需要編程,HA部分還好,主要是WB2需要大量的代碼。

WB2射頻網(wǎng)關(guān)代碼思路

整體思路是這樣的,wb2啟動(dòng)后開始鏈接WiFi和mqtt服務(wù)器,連上之后,發(fā)送設(shè)備信息給HA,讓HA發(fā)現(xiàn)wb2并生成設(shè)備實(shí)體;

然后在433接收到遙控鍵值之后,用串口(uart)通信給wb2,wb2收到串口數(shù)據(jù)后,分析數(shù)據(jù),并將數(shù)據(jù)通過mqtt發(fā)送給HA,至此完成一次傳送。如果不想看下面的代碼,那只需要改這兩個(gè)地方就能用了。

main.c里面的WiFi賬號密碼

#define wifi_ssid "WiFi名稱"
#define wifi_pass "WiFi密碼"

yycg_mqtt.h里面的mqtt服務(wù)器信息

//設(shè)定MQTT服務(wù)器
#define mqtt_host "192.168.31.158"
#define mqtt_port 1883
#define mqtt_username "Ai-Thinker-WB2-433gateway"
#define mqtt_password ""

main函數(shù)

啟動(dòng)之后,先初始化uart,并連接wifi及mqtt,這里使用了多任務(wù),wifi和mqtt是一個(gè)任務(wù),uart也用了一個(gè)任務(wù),軟時(shí)鐘任務(wù),這幾個(gè)任務(wù)是并行的。

void main(){
//初始化LED
bl_gpio_enable_output(LED_IO, 1, 0);
bl_gpio_output_set(LED_IO, 0);
//初始化配對按鈕
bl_gpio_enable_input(pair_IO, 1, 0);
//初始化uart,初始化之后,自帶的log會(huì)失效,算是一個(gè)bug
uart_init();
uart0_print("開始運(yùn)行用戶代碼n");
vTaskDelay(1000);
//讀取保存的WiFi賬號信息
if(get_flash_wifi_data() == 1){
uart0_print("已讀取WiFi數(shù)據(jù)n");
}else{
uart0_print("未找到WiFi數(shù)據(jù),正在寫入預(yù)設(shè)數(shù)據(jù)n");
set_flash_wifi_data(wifi_ssid, wifi_pass);
get_flash_wifi_data();
}
vTaskDelay(1000);
//啟動(dòng)WiFi和mqtt任務(wù)
xTaskCreate(Task_mqtt, "Task_mqtt", 20480, NULL, 15, NULL);
//啟動(dòng)軟時(shí)鐘任務(wù)
xTaskCreate(Task_time, "Task_time", 2048, NULL, 5, NULL);
//啟動(dòng)uart任務(wù)
xTaskCreate(Task_Uart, "Task_Uart", 2048, NULL, 10, NULL);
}

uart任務(wù)

void Task_Uart(void *param){
//初始化uart
uint8_t data[32];
int ret;
hosal_uart_dev_t uart_dev_echo = {
.config = {
.uart_id = 0,
.tx_pin = 6, // TXD GPIO
.rx_pin = 4, // RXD GPIO
.cts_pin = 255,
.rts_pin = 255,
.baud_rate = 9600,
.data_width = HOSAL_DATA_WIDTH_8BIT,
.parity = HOSAL_NO_PARITY,
.stop_bits = HOSAL_STOP_BITS_1,
.mode = HOSAL_UART_MODE_POLL,
},
};
bl_gpio_output_set(LED_IO, 1);
hosal_uart_init(&uart_dev_echo);
ret = hosal_uart_receive(&uart_dev_echo, data, sizeof(data));
//進(jìn)入死循環(huán)讀取串口數(shù)據(jù)
while(1) {
uint8_t uart_433_data[16];
uint8_t mqtt_433_data[6];
uint8_t mqtt_433_data_old[6];
uint8_t mqtt_st;
ret = hosal_uart_receive(&uart_dev_echo, data, sizeof(data));
if (ret > 0){
size_t x = 0;
for (size_t i = 0; i < ret; i++){
uart_433_data[x] = data[i];
x++;
}
vTaskDelay(40);//可能是因?yàn)椴ㄌ芈适?600速度比較慢,一次接收會(huì)不完整,所以等待一下接收兩次
ret = hosal_uart_receive(&uart_dev_echo, data, sizeof(data));
for (size_t i = 0; i < ret; i++){
uart_433_data[x] = data[i];
x++;
}
uart0_send(uart_433_data, x);
mqtt_st = 0;
//mqtt_433_data[6] = '';
//將接收到的uart賦值給mqtt信息變量,并判斷新舊數(shù)據(jù)是否一樣(433數(shù)據(jù)可能重復(fù))
for(size_t i = 0; i < 6; i++){
mqtt_433_data[i] = uart_433_data[i+3];
if(mqtt_433_data[i] != mqtt_433_data_old[i]){
mqtt_st = 1;
}
}
//打印出新舊數(shù)據(jù)
uart0_send(mqtt_433_data_old, 6);
uart0_send((uint8_t *)"n", 1);
uart0_send(mqtt_433_data, 6);
//判斷
while(1){//二級循環(huán)
if(!(mqtt_st == 1 || time_nv>100))break;//判斷是否重復(fù),當(dāng)數(shù)據(jù)重復(fù)且間隔大于1s(軟時(shí)鐘作用)仍然發(fā)送
if(!(pair_event == 0))break;//判斷433模塊是不是處于配對狀態(tài)
if(!(mqtt_event == 1))break;//判斷mqtt服務(wù)器是否連接正常
//發(fā)送mqtt數(shù)據(jù),并將數(shù)據(jù)保存到變量方便下次對比
ha_text_send(R1A_ID1, (char*)mqtt_433_data);
for(size_t i = 0; i < 6; i++){
mqtt_433_data_old[i] = mqtt_433_data[i];
}
time_nv = 0;
break;
}
}
vTaskDelay(5);
}
}

軟時(shí)鐘任務(wù)

//軟時(shí)鐘函數(shù),time_nv變量10ms自加一次
void Task_time(void *param){
while(1){
time_nv++;
vTaskDelay(10);
}
}

MQTT訂閱回調(diào)函數(shù)

void mqtt_topic_data(char * topic, char * data){
char topic2[128];
//收到HA的上線信息,發(fā)送HA自動(dòng)發(fā)現(xiàn)信息
if(strcmp(topic, "homeassistant/status")==0){
ha_config_code();
}
//處理"配對"
connect_topic_str(topic2, "button", R1A_ID2, "cmd_t");
if (strcmp(topic, topic2)==0){
pair_event = 1;
//模擬連續(xù)按兩下進(jìn)入配對模式
bl_gpio_enable_output(pair_IO, 1, 0);
bl_gpio_output_set(pair_IO, 0);
vTaskDelay(50);
bl_gpio_output_set(pair_IO, 1);
vTaskDelay(200);
bl_gpio_output_set(pair_IO, 0);
vTaskDelay(50);
bl_gpio_output_set(pair_IO, 1);
bl_gpio_enable_input(pair_IO, 1, 0);
char X = 1;
time_nv = 0;
while(X){
if(!(bl_gpio_input_get_value(pair_IO))){
time_nv = 0;
}
if (time_nv>200){
X = 0;
}
vTaskDelay(200);
}
uint8_t data[16];
uart1_get(data);
pair_event = 0;
}
//處理"重置"
connect_topic_str(topic2, "button", R1A_ID3, "cmd_t");
if (strcmp(topic, topic2)==0){
pair_event = 1;
//模擬長按10S清除配對的遙控
bl_gpio_enable_output(pair_IO, 1, 0);
bl_gpio_output_set(pair_IO, 0);
vTaskDelay(10000);
bl_gpio_output_set(pair_IO, 1);
bl_gpio_enable_input(pair_IO, 1, 0);
char X = 1;
time_nv = 0;
while(X){
if(!(bl_gpio_input_get_value(pair_IO))){
time_nv = 0;
}
if (time_nv>200){
X = 0;
}
vTaskDelay(200);
}
uint8_t data[16];
uart1_get(data);
pair_event = 0;
}
vTaskDelay(1000);
}

HA初始化函數(shù)

void ha_config_code(){
//注冊"433鍵值","433配對"按鈕,"433重置"按鈕
ha_text_config(R1A_ID1, "433鍵值");
ha_button_config(R1A_ID2, "433配對");
ha_button_config(R1A_ID3, "433重置");
vTaskDelay(1000);
//發(fā)送設(shè)備上線信息
mqtt_pub(mqtt_lwt_topic, "online");
}

HA設(shè)置部分

在你燒錄好代碼之后,HA中會(huì)自動(dòng)出現(xiàn)一個(gè)mqtt設(shè)備。

wKgZO2f2DDuAT0JBAABXdG-WUm8444.jpg

點(diǎn)擊左邊那個(gè)MQTT INFO復(fù)制433鍵值下面的topic內(nèi)容,每個(gè)設(shè)備中間部分會(huì)不一樣

homeassistant/text/7CB94CD1F767/433_R1A_001/config

wKgZPGf2DDuAKEsjAABon_xY-eA582.jpg

去自動(dòng)化設(shè)置里面,新建一個(gè)自動(dòng)化,設(shè)置為當(dāng)收到某個(gè) MQTT 消息時(shí),主題填入剛才的內(nèi)容

wKgZO2f2DDuAN7OuAABzVNe94Xc414.jpg

或者也可以直接復(fù)制這段代碼貼上(記得改主題)

topic: homeassistant/text/7CB94CD1F767/433_R1A_001/state
trigger: mqtt

然后在下面的"就執(zhí)行"里面判斷鍵值,先設(shè)置一個(gè)短延遲,防止數(shù)據(jù)還沒來得及更新。

wKgZPGf2DDyAekiDAAC-rzqLhjU294.jpg

這個(gè)也可以復(fù)制代碼

choose:
- conditions:
- condition: template
value_template: "{{ "8FE004" == states("text.wb2wang_guan_433_433jian_zhi") }}"
alias: 鍵值判斷
sequence:
- action: light.toggle
target:
device_id: a38cb2e40595fabed52aab4309efb240
data: {}
alias: 菜狗86遙控-1-B鍵-8FE004-開關(guān)臥室燈

然后在下面的"就執(zhí)行"里面判斷鍵值,先設(shè)置一個(gè)短延遲,防止數(shù)據(jù)還沒來得及更新

wKgZPGf2DDyAekiDAAC-rzqLhjU294.jpg

這個(gè)也可以復(fù)制代碼不過

現(xiàn)在按下433按鈕,就能開關(guān)燈了

4、硬件、PCB和外殼

硬件接線和PCB

R1A的TX連接WB2的IO4,重置按鍵"K/O"連接WB2的IO5.

PCB基本上去就是一個(gè)傻瓜板很簡陋,,資料放附件,有需要的可以改一下自己用。

wKgZO2f2DDyAZJr-AAC8ekmx1zA848.jpg

wKgZPGf2DD2AaXUFAADLlOLJby4557.jpg

外殼

外殼是隨便畫的,我不太會(huì)3D建模,能把PCB裝進(jìn)去就行了

wKgZO2f2DD6AfHkaAAAqcot69-w547.jpg

wKgZPGf2DD6AcoXZAAAq_UtaRBk535.jpg

5、附件

https://bbs.ai-thinker.com/forum.php?mod=attachment&aid=31734(內(nèi)含以下附件)

附件:mqtt_gateway_433代碼.zip

附件:PCB文件_WB2-433_2025-03-19.zip

附件:嘉立創(chuàng)EDA標(biāo)準(zhǔn)版_PCB工程_20250319.zip

附件:外殼.zip

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 遙控
    +關(guān)注

    關(guān)注

    11

    文章

    291

    瀏覽量

    59446
  • 網(wǎng)關(guān)
    +關(guān)注

    關(guān)注

    9

    文章

    6962

    瀏覽量

    56602
  • 智能家居
    +關(guān)注

    關(guān)注

    1945

    文章

    10046

    瀏覽量

    197931
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    芯嶺技術(shù)XL433-01P雙向透傳模組產(chǎn)品特點(diǎn)

    芯嶺技術(shù)推出的XL433-01P 雙向透傳模組款適用于低功耗無線通信場景的 433MHz 頻段雙向透傳模組
    的頭像 發(fā)表于 01-28 09:48 ?978次閱讀

    【AI語音模組Ai-WV01-32S做一個(gè)桌面聊天小助手

    那么有沒有簡單方案?當(dāng)然!你串口屏,通過串口通信可以直接將內(nèi)容顯示到屏幕上。這種串口屏種類還是比較多的,有需要可以了解下。剛好手上有塊 3.5寸的串口屏直接就利用上。
    的頭像 發(fā)表于 12-28 15:06 ?1345次閱讀
    【AI語音<b class='flag-5'>模組</b>】<b class='flag-5'>用</b>Ai-WV01-32S<b class='flag-5'>做一個(gè)</b>桌面聊天小助手

    使用CW32F003和SYN531R做一個(gè)315M遙控器接收解碼的小板子,無法工作是什么原因?

    想使用CW32F003系列的芯片和SYN531R接收芯片做一個(gè)315M遙控器接收解碼的小板子,我在網(wǎng)上搜了下315M解碼的協(xié)議,做出來后發(fā)現(xiàn)無法工作,有沒有大佬做過這方面的開發(fā),能否
    發(fā)表于 11-20 08:00

    【W(wǎng)iFi+藍(lán)牙】智能門鎖、智能插座:Ai-WB2系列,價(jià)格更低,性能更強(qiáng)

    對于既有安全性要求又大量面向消費(fèi)市場的產(chǎn)品,選擇個(gè) 低成本但穩(wěn)定、易集成 的無線模組,會(huì)直接影響 BOM、生產(chǎn)與后續(xù)維護(hù)成本。 安信可推出的 Ai-WB2
    的頭像 發(fā)表于 11-19 16:05 ?728次閱讀
    【W(wǎng)iFi+藍(lán)牙】智能門鎖、智能插座:<b class='flag-5'>用</b>Ai-<b class='flag-5'>WB2</b><b class='flag-5'>系列</b>,價(jià)格更低,性能更強(qiáng)

    安信可Ai-WB2系列Wi-Fi+BLE模組的特點(diǎn)和應(yīng)用

    對于既有安全性要求又大量面向消費(fèi)市場的產(chǎn)品,選擇個(gè)低成本但穩(wěn)定、易集成的無線模組,會(huì)直接影響 BOM、生產(chǎn)與后續(xù)維護(hù)成本。
    的頭像 發(fā)表于 11-13 17:28 ?1749次閱讀

    電子DIY Ai-WB2-12F模組做多功能無線彩燈控制器

    以下作品由安信可社區(qū)用戶 iiv 制作 1、項(xiàng)目總覽 ●目標(biāo):塊可插可拔的「無線彩燈控制器」 ●主控選用安信可WB2-12F模組,實(shí)現(xiàn)紅外、藍(lán)牙接收數(shù)據(jù),以及燈帶的驅(qū)動(dòng) ●5-30V電源輸入,普通
    的頭像 發(fā)表于 10-23 10:33 ?927次閱讀
    電子DIY <b class='flag-5'>用</b>Ai-<b class='flag-5'>WB2</b>-12F<b class='flag-5'>模組</b>做多功能無線彩燈控制器

    【W(wǎng)i-Fi&amp;BLE模組】Ai-WB2系列的固件燒錄指導(dǎo)

    文章目錄 、前言 二、軟硬件的準(zhǔn)備 三、原始硬件接線 四、聯(lián)系我們 前言 本文章教學(xué)視頻鏈接: 視頻鏈接 安信可Ai-WB2系列模組集成Wi-FiDownload按鈕開始燒錄,以下有
    的頭像 發(fā)表于 08-27 16:19 ?1416次閱讀
    【W(wǎng)i-Fi&amp;BLE<b class='flag-5'>模組</b>】Ai-<b class='flag-5'>WB2</b><b class='flag-5'>系列</b>的固件燒錄指導(dǎo)

    網(wǎng)關(guān)服務(wù)器 GS1-N1:支持邊緣計(jì)算模組選配

    Firefly推出網(wǎng)關(guān)服務(wù)器GS1-N1,采用單核心模組設(shè)計(jì),可選配多平臺邊緣計(jì)算模組。支持最高8K視頻解碼,內(nèi)置SAS/SATA硬盤位、M.2PCIe接口,配置
    的頭像 發(fā)表于 08-12 16:31 ?1633次閱讀
    <b class='flag-5'>網(wǎng)關(guān)</b>服務(wù)器 GS1-N1:支持邊緣計(jì)算<b class='flag-5'>模組</b>選配

    433 遙控器 PCBA 開發(fā)方案:技術(shù)要點(diǎn)與實(shí)現(xiàn)路徑

    在物聯(lián)網(wǎng)技術(shù)日益普及的當(dāng)下,433MHz 頻段的遙控器因成本低、傳輸穩(wěn)定等特點(diǎn),在智能家居、工業(yè)控制等領(lǐng)域得到廣泛應(yīng)用。本文將詳細(xì)介紹433
    的頭像 發(fā)表于 08-07 10:39 ?1636次閱讀

    工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)會(huì)用到哪些電子模組

    工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)通常會(huì)用到通信模組、主控模組、安全模組、接口擴(kuò)展模組和電源管理模組等,以下是具體介
    的頭像 發(fā)表于 07-11 17:56 ?1183次閱讀

    CE31-TD系列4G遙控開關(guān)模組核心板方案推薦

    CE31-TD系列4G遙控開關(guān)模組核心板憑借其高性能、低延遲、多種控制方式和廣泛的應(yīng)用領(lǐng)域,成為市場上備受矚目的產(chǎn)品。無論是智能家居、工業(yè)自動(dòng)化還是醫(yī)療保健等領(lǐng)域,CE31-TD系列
    的頭像 發(fā)表于 07-10 13:50 ?671次閱讀

    Wi-Fi藍(lán)牙模組Ai-M62-CBS做一個(gè)電子沙漏

    以下作品由安信可社區(qū)用戶 bzhou830 制作 1. 項(xiàng)目簡介 本項(xiàng)目通過M62模組設(shè)計(jì)的超級mini板搭配兩個(gè)8*8點(diǎn)陣,并利用水銀開關(guān)作為重力檢測部件完成個(gè)電子沙漏。外殼采用3
    的頭像 發(fā)表于 07-08 10:32 ?1018次閱讀
    <b class='flag-5'>用</b>Wi-Fi藍(lán)牙<b class='flag-5'>模組</b>Ai-M62-CBS<b class='flag-5'>做一個(gè)</b>電子沙漏

    簡單用LoRa模組做無線遙控距離測試

    ,再發(fā)回來,這樣只要一個(gè)人也可以測試距離了。 就像這樣: 因?yàn)楣P者得遙控器是433的,所以LoRa避開同頻,就選了個(gè)868頻段的模組Ra-0
    的頭像 發(fā)表于 07-01 14:03 ?1078次閱讀
    簡單用LoRa<b class='flag-5'>模組</b>做無線<b class='flag-5'>遙控</b>距離測試

    芯嶺技術(shù)433接收發(fā)射芯片開發(fā)的串口模塊

    433無線芯片是種射頻(RF)集成電路,專門用于在433 MHz頻段進(jìn)行無線數(shù)據(jù)傳輸。它們通常用于短距離通信,如遙控器、傳感器網(wǎng)絡(luò)和家庭自動(dòng)化系統(tǒng)。
    的頭像 發(fā)表于 06-04 11:45 ?1315次閱讀
    <b class='flag-5'>用</b>芯嶺技術(shù)<b class='flag-5'>433</b>接收發(fā)射芯片開發(fā)的串口模塊

    廣和通發(fā)布5G模組FG390系列

    近日,全球領(lǐng)先的無線通信模組和AI解決方案提供商廣和通率先發(fā)布基于MediaTek T930平臺的5G模組FG390系列。FG390系列模組
    的頭像 發(fā)表于 05-21 15:18 ?2175次閱讀
    镇康县| 丽江市| 恩施市| 衡山县| 南和县| 司法| 洞头县| 康定县| 南城县| 册亨县| 那坡县| 玉山县| 五华县| 神池县| 鹿邑县| 博兴县| SHOW| 安庆市| 印江| 柳江县| 莫力| 徐汇区| 襄樊市| 江油市| 准格尔旗| 永济市| 江源县| 宝丰县| 乌恰县| 彭泽县| 栖霞市| 福州市| 桦南县| 大洼县| 满洲里市| 丹东市| 夏河县| 双牌县| 运城市| 汉川市| 通渭县|