欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

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

AIoT行業(yè)洞察 ? 來源:AIoT行業(yè)洞察 ? 作者:AIoT行業(yè)洞察 ? 2024-07-03 16:39 ? 次閱讀

hello,有誰還記得之前小美的視頻?當(dāng)時(shí)做了一個(gè)RGB燈,并且說了 RGB的一些開發(fā)過程。所以說RGB實(shí)體很早之前就已經(jīng)開發(fā)好了,只是一直沒有寫帖子介紹它的用法。今天就給大家介紹一下 RGB 彩燈怎么上HomeAssistant,然后控制Ai-M61開發(fā)板的 RGB 燈的顏色,感覺這個(gè)項(xiàng)目用來控制家里的燈條就挺不錯(cuò)的。

wKgZomaFDkSAftXLABCGnGpLyrQ663.gif

彩燈實(shí)體創(chuàng)建

1.彩燈實(shí)體資源啟用

彩燈實(shí)體在 HomeAssistant 上描述為 Light,HomeAssistant-C 上默認(rèn)也是不開啟的,所以需要在 homeAssistantDevConfig.h 當(dāng)中把#define CONFIG_ENTITY_ENABLE_LIGHT的值置 1:

wKgaomaFDkSAf-z9AAAUWLY7XDU90.jpeg

2.Light 實(shí)體創(chuàng)建

彩燈(Light)實(shí)體的創(chuàng)建位置和其他實(shí)體一樣,就是在 MQTT 連接成功的事件里面,這里就不多說了,需要說明的是,彩燈實(shí)體會(huì)比其他實(shí)體多很多的控制主題,有開關(guān)、亮度、顏色等等。HomeAssistant-C 中,默認(rèn)只給開關(guān)功能提供默認(rèn)的主題,所以在創(chuàng)建實(shí)體的時(shí)候,除了 name、unique_id 參數(shù)之外,還需要給顏色控制燈主題賦值參數(shù),例如:

static ha_lh_entity_t rgb_light = {

.name = "彩燈",

.unique_id = "light_rgb01",

.rgb.rgb_command_topic = "light_rgb01/set",

.rgb.rgb_state_topic = "light_rgb01/state",

};

homeAssistant_device_add_entity(CONFIG_HA_ENTITY_LIGHT, &rgb_light);

HA 設(shè)備顯示

wKgZomaFDkyAUegxAABen5rzpd472.jpeg

獲取 HomeAssistant 的控制指令

在 HomeAssistant-C 當(dāng)中,暫時(shí)定義好了 Light 的三個(gè)控制事件:

HA_EVENT_MQTT_COMMAND_LIGHT_SWITCH,//light 燈的開關(guān)事件

HA_EVENT_MQTT_COMMAND_LIGHT_RGB_UPDATE,//light 燈的 RGB 顏色下發(fā)事件

HA_EVENT_MQTT_COMMAND_LIGHT_BRIGHTNESS,//light 燈的亮度數(shù)據(jù)下發(fā)事件

在這里只對(duì)

HA_EVENT_MQTT_COMMAND_LIGHT_SWITCH 和 HA_EVENT_MQTT_COMMAND_LIGHT_RGB_UPDATE 這兩個(gè)事件來控制 RGB,在 HomeAssistant 事件回調(diào)函數(shù)當(dāng)中(這里的函數(shù)名為:ha_event_cb),添加以下內(nèi)容:

case HA_EVENT_MQTT_COMMAND_LIGHT_SWITCH:

break;

case HA_EVENT_MQTT_COMMAND_LIGHT_RGB_UPDATE:

break;

wKgaomaFDkyAEZQiAACwjS6Vxkw84.jpeg

1.讀取 HA 的開關(guān)控制命令

HomeAssistant 平臺(tái)的下發(fā)開關(guān)控制之后,會(huì)觸發(fā) HA_EVENT_MQTT_COMMAND_LIGHT_SWITCH 事件,所以在

HA_EVENT_MQTT_COMMAND_LIGHT_SWITCH 下,打印開關(guān)信息,實(shí)現(xiàn)有開關(guān)下發(fā)就輸出信息,然后返回當(dāng)前開關(guān)狀態(tài):

case HA_EVENT_MQTT_COMMAND_LIGHT_SWITCH:

LOG_I("<<<<<<<<<< HA_EVENT_MQTT_COMMAND_LIGHT_SWITCH %s", ha_dev->entity_light->command_light->light_state?"ON":"OFF");

homeAssistant_device_send_entity_state(CONFIG_HA_ENTITY_LIGHT, ha_dev->entity_light->command_light, ha_dev->entity_light->command_light->light_state);

break;

驗(yàn)證結(jié)果

wKgZomaFDlKAGNhOAABREG_yJPw53.jpeg

2.讀取 HA 的顏色更新命令

同樣的,HomeAssistant 平臺(tái)設(shè)置顏色時(shí),會(huì)觸發(fā)HA_EVENT_MQTT_COMMAND_LIGHT_RGB_UPDATE事件,這時(shí)就需要在這個(gè)事件當(dāng)中獲取顏色 RGB 的顏色值,在這個(gè)事件下添加以下內(nèi)容,把顏色 R,G,B 的值打印出來并同步給 HA:

case HA_EVENT_MQTT_COMMAND_LIGHT_RGB_UPDATE:

LOG_I("<<<<<<<<<< HA_EVENT_MQTT_COMMAND_LIGHT_RGB_UPDATE,RGB=%d,%d,%d", ha_dev->entity_light->command_light->rgb.red, ha_dev->entity_light->command_light->rgb.green, ha_dev->entity_light->command_light->rgb.blue);

// device_rgb_update_color(ha_dev->entity_light->command_light->rgb.red, ha_dev->entity_light->command_light->rgb.green, ha_dev->entity_light->command_light->rgb.blue);

homeAssistant_device_send_entity_state(CONFIG_HA_ENTITY_LIGHT, ha_dev->entity_light->command_light, ha_dev->entity_light->command_light->light_state);

break;

驗(yàn)證結(jié)果

wKgaomaFDlKAKxVgAABmhotp-4E55.jpeg

控制 RGB

開發(fā)板上的 RGB 是直接由引腳控制,想要實(shí)現(xiàn)顏色調(diào)節(jié)的話,就需要開啟 PWM 控制,通過控制紅綠藍(lán)三基色來實(shí)現(xiàn)調(diào)色。先要把控制 RGB 的引腳啟動(dòng) PWM 功能,先看一下 Ai-M61 開發(fā)板 RGB 的接線情況:

顏色GPIOPWM 通道紅燈IO12PWM0綠燈IO14PWM2藍(lán)燈IO15PWM3

1.初始化 RGB 引腳

已經(jīng)知道引腳配置之后,直接在主函數(shù)當(dāng)中初始化 RGB 引腳,在初始化階段添加以下代碼

struct bflb_device_s* gpio;

gpio = bflb_device_get_by_name("gpio");

bflb_gpio_init(gpio, 12, GPIO_FUNC_PWM0 | GPIO_ALTERNATE | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_1);

bflb_gpio_init(gpio, 14, GPIO_FUNC_PWM0 | GPIO_ALTERNATE | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_1);

bflb_gpio_init(gpio, 15, GPIO_FUNC_PWM0 | GPIO_ALTERNATE | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_1);

pwm = bflb_device_get_by_name("pwm_v2_0");

//100Hz

struct bflb_pwm_v2_config_s cfg = {

.clk_source = BFLB_SYSTEM_XCLK ,

.clk_div = 40,

.period = 1000,

};

bflb_pwm_v2_init(pwm, &cfg);

bflb_pwm_v2_channel_positive_start(pwm, PWM_CH0);

bflb_pwm_v2_channel_positive_start(pwm, PWM_CH2);

bflb_pwm_v2_channel_positive_start(pwm, PWM_CH3);

bflb_pwm_v2_start(pwm);

wKgZomaFDlSATHqyAADWSnqUmAg66.jpeg

2.調(diào)色函數(shù)

因?yàn)?R,G,B 的值最高只有 255,對(duì)應(yīng) PWM 占空比 100%,所以我們?cè)谡{(diào)色的時(shí)候,就需要把目標(biāo)顏色的 RGB 值計(jì)算出相對(duì)性的占空比,然后賦值給 PWM 占空比控制函數(shù)。因?yàn)槲覀兪褂玫?PWM 的頻率是1KHz,所以我們?cè)谟?jì)算占空比的時(shí)候,需要 乘以 1000,因?yàn)槲覀兙湍苓_(dá)到下面這個(gè)函數(shù):

void device_rgb_update_color(uint8_t red, uint8_t green, uint8_t blue)

{

uint16_t color_red_period = 1000*red/255;

uint16_t color_green_period = 1000*green/255;

uint16_t color_blue_period = 1000*blue/255;

bflb_pwm_v2_stop(pwm);

bflb_pwm_v2_channel_set_threshold(pwm, PWM_CH0, 0, color_red_period);

bflb_pwm_v2_channel_set_threshold(pwm, PWM_CH2, 0, color_green_period);

bflb_pwm_v2_channel_set_threshold(pwm, PWM_CH3, 0, color_blue_period);

bflb_pwm_v2_start(pwm);

}

使用這個(gè)函數(shù)的時(shí)候,只需要把 R,G,B 三個(gè)數(shù)值按順序賦值就行了。

3.RGB 的亮滅

有了調(diào)色的函數(shù)之后,滅掉所有燈,只需要把顏色值全部設(shè)置成 0,亮的時(shí)候,就把 R,G,B 重新賦值就行了:

//控制RGB

if (!ha_dev->entity_light->command_light->light_state) {

device_rgb_update_color(0, 0, 0);

}

else {

if (ha_dev->entity_light->command_light!=NULL)

device_rgb_update_color(ha_dev->entity_light->command_light->rgb.red, ha_dev->entity_light->command_light->rgb.green, ha_dev->entity_light->command_light->rgb.blue);

}

wKgaomaFDlSAcH-UAAB4hwFrkp059.jpeg

驗(yàn)證結(jié)果

因?yàn)槟J(rèn) PWM 為 0,所以燒錄之后,燈不會(huì)亮,需要設(shè)置一下顏色,燈才會(huì)亮。

wKgZomaFDlWAb7FoAAtKtvNdC_U288.gif

4.設(shè)置顏色

設(shè)置顏色就更簡(jiǎn)單了,只需要把 R,G,B 值傳

給 device_rgb_update_color 函數(shù)就行。

case HA_EVENT_MQTT_COMMAND_LIGHT_RGB_UPDATE:

LOG_I("<<<<<<<<<< HA_EVENT_MQTT_COMMAND_LIGHT_RGB_UPDATE,RGB=%d,%d,%d", ha_dev->entity_light->command_light->rgb.red, ha_dev->entity_light->command_light->rgb.green, ha_dev->entity_light->command_light->rgb.blue);

// device_rgb_update_color(ha_dev->entity_light->command_light->rgb.red, ha_dev->entity_light->command_light->rgb.green, ha_dev->entity_light->command_light->rgb.blue);

homeAssistant_device_send_entity_state(CONFIG_HA_ENTITY_LIGHT, ha_dev->entity_light->command_light, ha_dev->entity_light->command_light->light_state);

device_rgb_update_color(ha_dev->entity_light->command_light->rgb.red, ha_dev->entity_light->command_light->rgb.green, ha_dev->entity_light->command_light->rgb.blue);

break;

wKgZomaFDlWAR6joAABdXVFHqf023.jpeg

驗(yàn)證結(jié)果

wKgaomaFDlaAESmvAA8ylTPpDHA361.gif

總結(jié)

本帖子的內(nèi)容稍微有點(diǎn)跳了,這要求大家需要熟悉 HomeAssistant-C 庫(kù)RGB 實(shí)體還有一些功能需要完善,比如添加 RGB 設(shè)置的默認(rèn)主題,后面再給大家介紹。

審核編輯 黃宇

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

    關(guān)注

    4

    文章

    801

    瀏覽量

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

    關(guān)注

    1930

    文章

    9610

    瀏覽量

    186503
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【貝啟科技BQ3568HM開源鴻蒙開發(fā)板深度試用報(bào)告】2 - 智能家居中控屏界面設(shè)計(jì):打造便捷的家居控制體驗(yàn)

    引言 上個(gè)帖子介紹了貝啟科技BQ3568HM開源鴻蒙開發(fā)板的簡(jiǎn)單情況,今天進(jìn)行正式的軟件開發(fā)。 在智能家居日益普及的今天,一個(gè)直觀、易用的中控屏界面對(duì)于用戶來說至關(guān)重要。今天,我將向大家介紹我所完成
    發(fā)表于 01-24 16:11

    瑞芯微開發(fā)板/主板Android配置APK默認(rèn)開啟性能模式方法

    本文介紹瑞芯微開發(fā)板/主板Android配置APK默認(rèn)開啟性能模式方法,開啟性能模式后,APK的CPU使用優(yōu)先級(jí)會(huì)有所提高。觸覺智能RK3562開發(fā)板演示,搭載4核A53處理器,主頻高達(dá)2.0GHz;內(nèi)置獨(dú)立1Tops算力NPU
    的頭像 發(fā)表于 01-17 15:32 ?196次閱讀
    瑞芯微<b class='flag-5'>開發(fā)板</b>/主板Android配置APK默認(rèn)開啟性能模式方法

    用Ai-WB2開發(fā)板智能家居全彩LED小夜燈

    免費(fèi)包郵開發(fā)板贈(zèng)送!安信可藍(lán)牙5.2低功耗開發(fā)板免費(fèi)申請(qǐng)啦_嗶哩嗶哩_bilibiliwww.bilibili.com/video/BV1UgSiY1EP9/?spm_id_from
    的頭像 發(fā)表于 11-13 14:03 ?277次閱讀
    用Ai-WB2<b class='flag-5'>開發(fā)板</b>做<b class='flag-5'>智能家居</b>全彩LED小夜燈

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

    ):HomeAssistant-C傳感器實(shí)體使用方法 智能家居之旅7):HomeAssistant開發(fā)
    的頭像 發(fā)表于 09-05 10:27 ?443次閱讀
    <b class='flag-5'>智能家居</b><b class='flag-5'>之旅</b>(15):HA傳感器采集主板低功耗設(shè)計(jì)的遭遇

    嵌入式linux開發(fā)板芯片的工作原理

    嵌入式Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)平臺(tái),它廣泛應(yīng)用于工業(yè)控制、智能家居、智能交通、醫(yī)療設(shè)備等領(lǐng)域。 嵌入式Linux
    的頭像 發(fā)表于 09-02 09:07 ?477次閱讀

    linux開發(fā)板與樹莓派的區(qū)別

    定義和用途 Linux開發(fā)板:Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式開發(fā)板,通常用于工業(yè)自動(dòng)化、物聯(lián)網(wǎng)、智能家居等領(lǐng)域。 樹莓派:樹莓派(Raspberry Pi)是一種
    的頭像 發(fā)表于 08-30 15:34 ?1152次閱讀

    機(jī)智云ESP8266開發(fā)板RGB彩燈控件

    隨著智能家居技術(shù)的迅猛發(fā)展,RGB彩燈控件正逐漸成為現(xiàn)代家庭不可或缺的一部分。在這一潮流中,機(jī)智云(Gizwits)的ESP8266開發(fā)板RGB彩燈控件以其先進(jìn)的物聯(lián)網(wǎng)技術(shù)和多樣化的燈
    的頭像 發(fā)表于 08-09 08:10 ?457次閱讀
    機(jī)智云ESP8266<b class='flag-5'>開發(fā)板</b><b class='flag-5'>RGB</b>彩燈控件

    如何用一塊免費(fèi)的PCB完成2元USB小夜燈控制器?

    使用HomeAssistant-C庫(kù)接入HomeAssistant 智能家居之旅(6):HomeAssistant-C傳感器實(shí)體使用方法
    的頭像 發(fā)表于 07-30 10:33 ?350次閱讀
    如何用一塊免費(fèi)的PCB<b class='flag-5'>板</b>完成2元USB小夜燈控制器?

    智能家居之旅(9):HomeAssistant 的開關(guān)實(shí)體具象化

    (????)??嗨,時(shí)隔一個(gè)月,又開始關(guān)于 HA 的帖子了,前期介紹了一些實(shí)體的使用方法,后面的帖子會(huì)結(jié)合相應(yīng)的硬件介紹,把實(shí)體真正應(yīng)用起來,方便各位小伙伴在家里自己做一個(gè)智能家居。 本文概要
    的頭像 發(fā)表于 07-08 16:50 ?456次閱讀
    <b class='flag-5'>智能家居</b><b class='flag-5'>之旅</b>(9):<b class='flag-5'>HomeAssistant</b> 的開關(guān)實(shí)體具象化

    智能家居之旅(3):Ai-M61/M62 接入HomeAssistant 實(shí)現(xiàn)點(diǎn)燈

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

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

    上次我們?cè)诎惭bHomeAssistant的時(shí)候(打卡智能家居學(xué)習(xí)之旅(1):了解HomeAssistant),順便把MQTT 集成安裝好了。 為什么要裝MQTT 集成呢?Wi-Fi 設(shè)
    的頭像 發(fā)表于 06-07 09:36 ?1746次閱讀
    打卡<b class='flag-5'>智能家居</b><b class='flag-5'>之旅</b>(2):設(shè)備接入<b class='flag-5'>HomeAssistant</b>的方法

    打卡智能家居學(xué)習(xí)之旅(1):了解HomeAssistant

    大家好,說起智能家居,大家會(huì)想到什么呢?小安的腦海里就出現(xiàn)了鋼鐵俠的家:有電子智能管家,能夠控制家里的燈、開關(guān)等所有電子電器,當(dāng)人回家的時(shí)候自動(dòng)開燈,并且已經(jīng)按照設(shè)定好時(shí)間燒了熱水。 但是現(xiàn)實(shí)
    的頭像 發(fā)表于 05-21 09:07 ?647次閱讀
    打卡<b class='flag-5'>智能家居</b>學(xué)習(xí)<b class='flag-5'>之旅</b>(1):了解<b class='flag-5'>HomeAssistant</b>

    智能家居系統(tǒng)的開發(fā)-基于米爾瑞薩RZ/G2UL開發(fā)板

    本篇評(píng)測(cè)由電子工程世界的優(yōu)秀評(píng)測(cè)者“Bruceou”提供。1、項(xiàng)目背景智能家居控制系統(tǒng),是以智能家居系統(tǒng)為平臺(tái),家居電器及家電設(shè)備為主要控制對(duì)象,利用綜合布線技術(shù)、網(wǎng)絡(luò)通信技術(shù)、自動(dòng)控制系統(tǒng)、音頻
    的頭像 發(fā)表于 05-17 08:01 ?1155次閱讀
    <b class='flag-5'>智能家居</b>系統(tǒng)的<b class='flag-5'>開發(fā)</b>-基于米爾瑞薩RZ/G2UL<b class='flag-5'>開發(fā)板</b>

    【Longan Pi 3H 開發(fā)板試用連載體驗(yàn)】基于 Longan Pi 3H 開發(fā)板完成智能家居控制小型項(xiàng)目

    和存儲(chǔ)空間顯示為4GB+32G,如圖 三、項(xiàng)目計(jì)劃 我的試用項(xiàng)目是基于 Longan Pi 3H 開發(fā)板完成智能家居控制小型項(xiàng)目目標(biāo)如下: 通過 Longan Pi 3H 開發(fā)板實(shí)現(xiàn)模擬家庭設(shè)備控制(如
    發(fā)表于 04-02 22:37

    不想當(dāng)智能手表游戲掌機(jī)MP4的開發(fā)板不是好86盒

    有道是,生活不易,多才多藝。 只是沒想到有一天連開發(fā)板也能適用這句話。 你以為它只是一個(gè)平平無奇的智能家居86盒。 但它必要時(shí)它也可以化身智能手表。 智能手表面板demo 或者是一個(gè)
    發(fā)表于 03-18 10:24