在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

    文章

    11399

    瀏覽量

    212034
  • 智能家居
    +關注

    關注

    1932

    文章

    9697

    瀏覽量

    188346
  • 開發環境
    +關注

    關注

    1

    文章

    237

    瀏覽量

    16935

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

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

收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

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

    【幸狐Omni3576邊緣計算套件試用體驗】安裝homeassistant的體驗記錄

    云的: c2b4cfc215074912827f9357c207eff5.mirror.swr.myhuaweicloud.com/homeassistant/home-assistant
    發表于 03-19 11:58

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    智能家居之旅(4):神器在手,摸魚我有!用Rd-01做個老板監視器 智能家居之旅(5):Ai-WB2 使用HomeAssistant-C接入Ho
    的頭像 發表于 09-05 10:27 ?561次閱讀
    智能家居之旅(15):HA傳感器采集主板低功耗設計的遭遇

    BW21-CBV-Kit如何接入HomeAssistant實時查看AI攝像頭畫面

    看過這么多關于 HomeAssistant 教程,應該有很多小伙伴已經搭建起自己的 HomeAssistant 了,HomeAssistant 還是很強大的,只要設備可以進行 RTSP 推流就可以在
    的頭像 發表于 02-18 13:48 ?297次閱讀
    BW21-CBV-Kit如何<b class='flag-5'>接入</b><b class='flag-5'>HomeAssistant</b>實時查看<b class='flag-5'>AI</b>攝像頭畫面
    主站蜘蛛池模板: 国产手机看片 | 日本aaaaa毛片在线视频 | 免费一级特黄特色大片在线 | 99久久亚洲国产高清观看 | 午夜黄色大片 | 五月婷婷在线观看视频 | 2020狠狠操 | 91日韩精品天海翼在线观看 | www.四虎影院在线观看 | 国产卡1卡2卡三卡网站免费 | 国产福利小视频在线观看 | 男人午夜视频在线观看 | 久久六月丁香婷婷婷 | 国产高清在线观看 | 一区卡二区卡三区卡视频 | 国产精品夜夜春夜夜爽久久 | 三级视频网站在线观看播放 | 婷婷色爱区综合五月激情韩国 | 国产精品热久久毛片 | 四虎海外在线永久免费看 | 国产精品好好热在线观看 | 夜夜橹橹网站夜夜橹橹 | 插菊综合网 | 男男之h啪肉np文 | 亚洲精品91大神在线观看 | 成人欧美一区二区三区黑人3p | avtt天堂网永久资源 | 亚洲欧洲一区二区三区在线 | 精品卡1卡2卡三卡免费网站视频 | 台湾三级毛片 | 天天爽爽 | 国产小视频免费 | 51国产午夜精品免费视频 | 国产亚洲3p一区二区三区 | 日本成人免费网站 | 国模在线观看 | 久久97精品久久久久久久看片 | 四虎影院色| 天天插天天色 | 四虎国产在线观看 | 午色影院|