色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Ai-WB2使用HomeAssistant-C庫接入HomeAssistant

安信可科技 ? 來源:安信可科技 ? 2024-06-15 14:00 ? 次閱讀

前言

之前所有寫的《智能家居之旅》帖子代碼都是基于Ai-M61來開發的,不少大佬跟我反饋說:

Ai-M61/62只用來連接MQTT太浪費資源了,Ai-WB2更具性價比!

我覺得有道理,所以昨天就把HomeAssistant-C 給做了一次大改,提升了耦合性,目前倉庫的master分支也可以支持Ai-WB2了,順便再貼個庫的鏈接:

https://gitee.com/Ai-Thinker-Open/Ai-M6x_HomeAssistant-C

現在,跟著我來試試吧!

01 獲取Ai-WB2 SDK

SDK地址:https://gitee.com/Ai-Thinker-Open/Ai-Thinker-WB2

推薦使用git來克隆SDK:

Linux 開發環境請參考:Ai-WB2系列模組linux開發環境搭建Windows 開發環境請參考:【二次開發教程】Ai-WB2系列的eclipes搭建環境教程

務必先搭建好開發環境,并且能成功燒錄運行。

我使用的是Linux 的開發環境,如果你已經有Windows 的開發經驗,也可以參考本貼來移植HomeAssistant-C ,歡迎分享你的Windows移植教程。

02 獲取HomeAssistant-C

HomeAssistant-C 只是一個連接庫,不能作為工程直接運行,所以在獲取之前先找一個可運行工程,我這里使用的是WiFi的連接例程:

cd Ai-Thinker-WB2/applications/wifi/station

1、復制 “station”文件夾下的"bouffalo.mk"文件到

"Ai-M6x_HomeAssistant-C" 下面:

92d6ffda-2a37-11ef-a4c8-92fbcf53809c.png

2. 然后刪除"Ai-M6x_HomeAssistant-C"的"bouffalo.mk"文件的所有內容,并添加以下內容:

COMPONENT_ADD_INCLUDEDIRS :=./HomeAssistant-C
COMPONENT_SRCDIRS := ./HomeAssistant-C
COMPONENT_OBJS := $(patsubst %.c,%.o, $(COMPONENT_SRCS))

92e6b8bc-2a37-11ef-a4c8-92fbcf53809c.png

3.在"Makefile"文件添加以下內容:

INCLUDE_COMPONENTS += axk_common tcp_transport http-parser axk_tls axk_mqtt cjson 
INCLUDE_COMPONENTS += Ai-M6x_HomeAssistant-C
EXTRA_COMPONENT_DIRS += $(PROJECT_PATH)/Ai-M6x_HomeAssistant-C

92fc15b8-2a37-11ef-a4c8-92fbcf53809c.png

4. 在main.c 文件引用接口頭文件 :

#include "homeAssistantPort.h"

5. 修改使用Ai-WB2的宏定義

HomeAssistant-C 默認使用了Ai-M6x 的接口,需要修改成Ai-WB2的,只在"homeAssistantPort.c"文件屏蔽掉"#define CONFIG_Ai_M6x",并添加"#define CONFIG_Ai_WB2":

#define CONFIG_Ai_WB2

完成這一步之后,就可以編譯了:

make -j32

編譯成功:

9312441e-2a37-11ef-a4c8-92fbcf53809c.png

03 改代碼開始運行

話不多說,直接復制:《智能家居之旅,第三站:Ai-M61/M62 接入HomeAssistant 實現點燈》中的測試代碼。

3.1 在main.c 文件的第 172 行下面添加:

static homeAssisatnt_device_t ha_device;
    ha_device.mqtt_info.mqtt_clientID = "Ai-WB2_Kit_Switch";
    ha_device.mqtt_info.mqtt_host = "mqtt服務器地址";
    ha_device.mqtt_info.port = 1883;
    ha_device.mqtt_info.mqtt_username = "HomeAssistant_switch";
    ha_device.mqtt_info.mqtt_password = "12345678";


    ha_device.name = "我的Ai-WB2開發板"; //設備名稱
    ha_device.model = "Ai-wb2開發板";//模塊名稱
    ha_device.manufacturer = "取個名字真難";//產商名稱




    homeAssistant_device_init(&ha_device, ha_event_cb);

3.2 并且在 main() 函數上面粘貼回調函數及內容,這里定義了一個開關的實體:

void ha_event_cb(ha_event_t event, homeAssisatnt_device_t* ha_dev)
{
    switch (event)
    {
        case HA_EVENT_MQTT_CONNECED:
            HA_LOG_I("<<<<<<<<<<  HA_EVENT_MQTT_CONNECED
");
            //一定要加static
            static ha_sw_entity_t entity_sw1 = {
                 .name = "開關1",
                 .icon = "mdi:power",
                 .unique_id = "ai-wb2_sw1",
            };


            homeAssistant_device_add_entity(CONFIG_HA_ENTITY_SWITCH, &entity_sw1);
            homeAssistant_device_send_status(HOMEASSISTANT_STATUS_ONLINE);
            homeAssistant_device_send_entity_state(CONFIG_HA_ENTITY_SWITCH, &entity_sw1, 0);
            break;
        case HA_EVENT_MQTT_DISCONNECT:
            HA_LOG_I("<<<<<<<<<<  HA_EVENT_MQTT_DISCONNECT
");


            break;
        case HA_EVENT_MQTT_COMMAND_SWITCH:
            HA_LOG_I("<<<<<<<<<<  HA_EVENT_MQTT_COMMAND_SWITCH
");
            // LOG_I("switch addr =%p", ha_dev->entity_switch->command_switch);
            HA_LOG_I(" switch %s is %s
", ha_dev->entity_switch->command_switch->name, ha_dev->entity_switch->command_switch->switch_state?"true":"flase");
            int ret = homeAssistant_device_send_entity_state(CONFIG_HA_ENTITY_SWITCH, ha_dev->entity_switch->command_switch, ha_dev->entity_switch->command_switch->switch_state);
            if (ret!=-1)HA_LOG_I("%s send entity suceess,state=%s
", ha_dev->entity_switch->command_switch->name, ha_dev->entity_switch->command_switch->switch_state?"true":"flase");


            break;
        default:
            break;
    }
}

3.3 修改需要連接的路由賬號及密碼

934c77f6-2a37-11ef-a4c8-92fbcf53809c.png

3.4 在獲取到IP地址之后,啟動HomeAssistant 連接

在 "CODE_WIFI_ON_GOT_IP"事件下添加:

homeAssistant_device_start();

 homeAssistant_device_start();

935ecafa-2a37-11ef-a4c8-92fbcf53809c.png

燒錄測試:make flash結果:

937a9bfe-2a37-11ef-a4c8-92fbcf53809c.png

// 未完待續

我預測一下,會有人問:我不會Ai-WB2二次開發,能不能做個AT指令的鏈接庫?

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11292

    瀏覽量

    209331
  • 智能家居
    +關注

    關注

    1928

    文章

    9553

    瀏覽量

    184941
  • 開發環境
    +關注

    關注

    1

    文章

    225

    瀏覽量

    16610

原文標題:?智能家居之旅(5):Ai-WB2 使用HomeAssistant-C庫接入HomeAssistant

文章出處:【微信號:安信可科技,微信公眾號:安信可科技】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Ai-WB2模組HTTP客戶端POST請求方法

    需要準備的軟硬件:Ai-WB2系列模組或者開發板,Type-C數據線。
    的頭像 發表于 10-28 09:05 ?1703次閱讀
    <b class='flag-5'>Ai-WB2</b>模組HTTP客戶端POST請求方法

    Ai-WB2系列模組/開發板連接亞馬遜云的方法介紹

    Ai-WB2系列模組/開發板一個
    的頭像 發表于 01-13 15:11 ?1284次閱讀
    <b class='flag-5'>Ai-WB2</b>系列模組/開發板連接亞馬遜云的方法介紹

    飛騰派折騰初見成效,HomeAssistant順利運行!

    ,提升易用性才能更好的使用。我們朋友在搞智能家居,前端時間還跟我溝通了一些關于智能家居控制主機的事情,他代理云起智能設備做智能家裝項目,有時候客戶會有些設備接入需求,HomeAssistant貌似
    發表于 11-09 11:37

    【昉·星光 2 高性能RISC-V單板計算機體驗】以容器的方式安裝 HomeAssistant

    【昉·星光 2 高性能RISC-V單板計算機體驗】以容器的方式安裝 HomeAssistant 下載并啟動容器 HomeAssisatant 官方并沒有提供基于RISC-V 的容器,所以只能自己下載
    發表于 02-21 18:07

    使用Tasmota和HomeAssistant自制Sonoff觸控模塊

    電子發燒友網站提供《使用Tasmota和HomeAssistant自制Sonoff觸控模塊.zip》資料免費下載
    發表于 07-21 09:54 ?2次下載
    使用Tasmota和<b class='flag-5'>HomeAssistant</b>自制Sonoff觸控模塊

    Ai-WB2模組與手機建立SPP連接,在UART-Bluetooth LE透傳模式下傳輸數據

    需要準備的軟硬件:Ai-WB2系列模組或者開發板,Type-C數據線,藍牙調試助手。
    的頭像 發表于 05-22 11:46 ?1869次閱讀
    <b class='flag-5'>Ai-WB2</b>模組與手機建立SPP連接,在UART-Bluetooth LE透傳模式下傳輸數據

    Ai-WB2系列模組中靜態內存和動態內存的獲取

    eclipse軟件,bl_iot_sdk,Ai-WB2系列模組或者開發板,靜態內存分析軟件bouffalo_parse_tool-win32。
    的頭像 發表于 09-18 09:48 ?509次閱讀
    <b class='flag-5'>Ai-WB2</b>系列模組中靜態內存和動態內存的獲取

    Ai-WB2系列模組AT固件使用教程

    需要準備的軟硬件:Ai-WB2系列模組或者開發板,Type-C數據線,安信可透傳云服務器。
    的頭像 發表于 09-24 11:19 ?2844次閱讀
    <b class='flag-5'>Ai-WB2</b>系列模組AT固件使用教程

    安信可Ai-WB2系列模組基于TCP的MQTT連接服務器使用示例

    安信可Ai-WB2系列模組基于TCP的MQTT連接服務器使用示例
    的頭像 發表于 10-16 10:21 ?974次閱讀
    安信可<b class='flag-5'>Ai-WB2</b>系列模組基于TCP的MQTT連接服務器使用示例

    Ai-WB2模組HTTP客戶端HEAD和GET請求方法

    需要準備的軟硬件:Ai-WB2系列模組或者開發板,Type-C數據線。
    的頭像 發表于 10-21 16:37 ?639次閱讀
    <b class='flag-5'>Ai-WB2</b>模組HTTP客戶端HEAD和GET請求方法

    打卡智能家居之旅(2):設備接入HomeAssistant的方法

    Ai-WB2 或者Ai-M6x等模組)接入服務器必定要使用網絡協議,而MQTT 是這些網絡協議中最常用的。例如:阿里云的物聯網平臺,例如米家、鴻蒙等都有基于MQTT協議的接入方式,而
    的頭像 發表于 06-07 09:36 ?1402次閱讀
    打卡智能家居之旅(<b class='flag-5'>2</b>):設備<b class='flag-5'>接入</b><b class='flag-5'>HomeAssistant</b>的方法

    智能家居之旅(3):Ai-M61/M62 接入HomeAssistant 實現點燈

    上一篇我們介紹了MQTT設備如何接入HomeAssistant(打卡智能家居之旅(2):設備接入HomeAssistant的方法),這一篇就
    的頭像 發表于 06-07 10:07 ?572次閱讀
    智能家居之旅(3):<b class='flag-5'>Ai</b>-M61/M62 <b class='flag-5'>接入</b><b class='flag-5'>HomeAssistant</b> 實現點燈

    智能家居之旅(7):HomeAssistant開發板的RGB顏色

    上描述為 Light,HomeAssistant-C 上默認也是不開啟的,所以需要在 homeAssistantDevConfig.h 當中把#define CONFI
    的頭像 發表于 07-03 16:39 ?490次閱讀
    智能家居之旅(7):<b class='flag-5'>HomeAssistant</b>開發板的RGB顏色

    如何用一塊免費的PCB板完成2元USB小夜燈控制器?

    HomeAssistant的方法 智能家居之旅(3):Ai-M61/M62 接入HomeAssistant 實現點燈 智能家居之旅(4):神器在手,摸魚我有!用Rd-01做個老板監視器
    的頭像 發表于 07-30 10:33 ?277次閱讀
    如何用一塊免費的PCB板完成<b class='flag-5'>2</b>元USB小夜燈控制器?

    智能家居之旅(15):HA傳感器采集主板低功耗設計的遭遇

    智能家居之旅(4):神器在手,摸魚我有!用Rd-01做個老板監視器 智能家居之旅(5):Ai-WB2 使用HomeAssistant-C接入Ho
    的頭像 發表于 09-05 10:27 ?378次閱讀
    智能家居之旅(15):HA傳感器采集主板低功耗設計的遭遇
    主站蜘蛛池模板: 十分钟免费观看高清视频大全| 国产毛片视频网站| 19十主播福利视频| 亚洲永久免费视频| 亚洲精品123区在线观看| 天天躁人人躁人人躁狂躁| 色迷迷导航| 熟女人妻-蜜臀AV-首页| 色狠狠色狠狠综合天天| 日韩欧美一区二区中文字幕 | 97人妻无码AV碰碰视频| 中国xxxxxz| 1300部真实小Y女视频合集| 玉娇龙续集春雪瓶txt免费阅读| 野花日本高清在线观看免费吗| 亚洲日韩中文字幕区| 一个人HD在线观看免费高清视频| 亚洲中文字幕乱码熟女在线| 一本之道加勒比在线观看| 在线播放av欧美无码碰| 5580免费午夜福利院| 99热在线精品免费全部my| youjizz护士| 东莞桑拿美女| 国产美女裸身网站免费观看视频| 国内精品国内自产视频| 久久精品观看| 免费看国产精品麻豆| 欧美激情视频二区| 色尼玛亚洲综合| 亚洲AV无码一区二区三区牛牛| 亚洲欧美一区二区三区四区| 中文字幕一区久久久久| CHINA篮球体育飞机2022网站| 大地影院免费观看视频| 国产亚洲精品久久无亚洲| 久久草福利自拍视频在线观看| 免费观看国产视频| 爽爽影院免费观看| 亚洲日韩乱码人人爽人人澡人| 511麻豆视传媒精品AV|