esphome基礎(chǔ)完整詳細(xì)_第1頁
esphome基礎(chǔ)完整詳細(xì)_第2頁
esphome基礎(chǔ)完整詳細(xì)_第3頁
esphome基礎(chǔ)完整詳細(xì)_第4頁
esphome基礎(chǔ)完整詳細(xì)_第5頁
已閱讀5頁,還剩130頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

通?通?ESP8266—ESPHomehttps://https://\hww.esphome.io/devices/esp826.html第PAGE3/3?通?ESP8266ESPHome?持所有基于ESP8266的設(shè)備。當(dāng)ESPHome向?qū)б竽峁┢脚_時,只需選擇ESP8266,當(dāng)向?qū)б竽峁┌孱愋蜁r,只需從此鏈接中選擇板類型。#Exampleconfigurationentryesphome:name:livingroomesp8266:board:<BOARD_TYPE>許多板?對裸露的引腳有?個引腳編號,這與內(nèi)部使?的引腳不同。ESPHome號映射到內(nèi)部引腳號中,但對于通?ESP8266板,通常只需要使?內(nèi)部引腳號。為此,只需將所有引腳前綴為GPIO,例如,內(nèi)部引腳編號為0的引腳GPIO0。引腳上的?些注釋:GPIO6-GPIO11、GPIO0、GPIO2和GPIO15使?這些引腳。GPIO17此外,還連接了ADC。請參閱模擬到數(shù)字傳感器以讀取此引腳上的電壓(在0到1.0V之間)。#Exampleconfigurationentryesphome:name:livingroomesp8266:board:nodemcuv2binary_sensor:-platform:gpioname:"PinGPIO17"pin:GPIO17特殊引腳GPIO0控制引導(dǎo)模式GPIO1UARTTX別針GPIO2控制引導(dǎo)模式GPIO3UARTRX引腳GPIO6SDIO/FlashCLK引腳GPIO7SDIO/閃存數(shù)據(jù)0針GPIO8SDIO/閃存數(shù)據(jù)1針GPIO9SDIO/FlashData2針(僅限qio/qout)GPIO10SDIO/閃存數(shù)據(jù)3針(僅限qio/qout)GPIO11SDIO/閃存CMD引腳GPIO12連接到硬件SPI控制器MISOGPIO13連接到硬件SPI控制器MOSIGPIO14連接到硬件SPI控制器CLKGPIO15控制引導(dǎo)模式;連接到硬件SPI控制器CSGPIO16可從RTC訪問的特殊引腳,是深度睡眠喚醒引腳吹捧又名GPIO17?于測量電壓的ADC引腳,只能?作模擬輸?引腳這意味著實際上,只有以下引腳可以?作通?GPIO:?頭針限制重置后陳述GPIO0如果啟動時很?拉起來微弱GPIO2如果啟動時很?拉起來微弱GPIO4?阻抗GPIO5?阻抗GPIO6拉起來微弱GPIO12拉起來微弱GPIO13拉起來微弱GPIO14拉起來微弱GPIO15如果啟動時低拉起來微弱GPIO16有下拉式(但沒有上拉式)電阻器弱拉向下引導(dǎo)模式每次啟動時,ESP8266將檢查三個引腳,以確定在哪個引導(dǎo)模式下進(jìn)?。有三種引導(dǎo)模式:形式GPIO0GPIO2GPIO15bootmode:從Flash啟動(正常)??低的3從UART下載代碼低的?低的1從SD卡啟動任何任何?4-7Youcanidentifytheseonboot-upbylookingattheUARToutput,thefirstnumberinthebootmode:linetellsyouwhatmodewasselectedetsJan 82013,rstcause:4,bootmode:(3,6)查看UART?志時的第??可能有?法識別的字符。這是因為ESP8266引導(dǎo)加載程序的有效baudrate為74800,?該程序使?115200。重置原因此外,第??還包含重置原因。這些重置原因已記錄在案:0未定義1開機(jī)重新啟動2外部重置或深度睡眠喚醒4硬件WDT重置軟件重置后,重置原因不會改變。電?特性參數(shù)Min。典型的Max。單位?作溫度-40125°C?作電壓V_IO伏特V_IL輸?電壓?平應(yīng)被視為低-0.30.25*V_IO伏特V_IH輸?電壓電平應(yīng)被視為?0.75*V_IO3.6伏特V_OL低輸出電壓電平0.1*V_IO伏特V_OH?輸出電壓電平0.8*V_IO伏特I_MAXGPIO的最?電流12媽深度睡眠中的功耗20μA處于主動模式下的功耗120媽來源:ESP8266EX數(shù)據(jù)表內(nèi)部向上/向下拉電阻的值為30kΩ?100kΩ(源)。另見節(jié)點(diǎn)MCUESP8266在GitHub上編輯此頁?通?ESP32—ESPHome通?ESP32—ESPHome2022/9/1112:51https://\hhttps://\hwww.esphome.io/devices/esp32.html第1/1?通?ESP32ESPHome?持所有基于原始ESP32的設(shè)備。當(dāng)ESPHome向?qū)б竽峁┢脚_時,只需選擇ESP32,當(dāng)向?qū)б竽峁┌孱愋蜁r,只需從此鏈接中選擇板類型。#Exampleconfigurationentryesphome:name:livingroomesp32:board:<BOARD_TYPE>筆記筆記:?前正在開發(fā)對ESP32-S2和ESP32-C3的?持。ESP32板經(jīng)常在板上使?內(nèi)部GPIO關(guān)于ESP32上的引腳的?些注釋:GPIO0仍然可以將其?作輸出引腳。GPIO34-GPIO39不能?作輸出(即使GPIO代表“通?輸?輸出”. )。GPIO32-GPIO39:這些引腳可以與模擬數(shù)字傳感器?起使?,以測量電壓。GPIO2:此引腳已連接到主板上的藍(lán)?LED指?燈。它還像其他?些引腳?樣?持。#Exampleconfigurationentryesphome:name:livingroomesp32:board:<BOARD_TYPE>binary_sensor:-platform:gpioname:"PinGPIO23"pin:GPIO23另見節(jié)點(diǎn)MCUESP32在GitHub上編輯此頁?ESPHome核?配置ESPHome核?配置—ESPHome2022/9/1112:52https://\hhttps://\hwww.esphome.io/components/esphome.html第PAGE5/5?ESPHome核?配置在這?,您可以指定ESPHome創(chuàng)建固件所需的?些核?信息。最重要的是,這是配置中指定節(jié)點(diǎn)名稱的部分。#Exampleconfigurationentryesphome:name:livingroomcomment:LivingroomESP32controlleresp32:board:nodemcu-32s配置變量:名稱(必填,字符串):這是節(jié)點(diǎn)的名稱。在您的ESPHome?絡(luò)中,它應(yīng)該始終是獨(dú)???的??赡苤话?寫字符、數(shù)字和連字符,最多可以包含31個字符。請參閱更改ESPHome節(jié)點(diǎn)名稱。?級選項:build_path(可選,字符串):?定義ESPHome將存儲節(jié)點(diǎn)構(gòu)建?件的位置。默認(rèn)情況下,ESPHome將其?于構(gòu)建固件的PlatformIO項?放在.esphome/build/<NODE>?錄中,但您可以使?此選項?定義此?為。platformio_options(可選,映射):在platformio.ini?件中傳遞給PlatformIO的其他選項。請參閱platformio_options。包括(可選,?件列表):要包含在?定義組件的主要(?動?成)草圖?件中的C/C++?件列表。此列表中的路徑與YAML配置?件所在的?錄相關(guān)。參見包括。圖書館(可選,圖書館列表):要包含在項?中的庫列表。圖書館。評論(可選,字符串):有關(guān)此節(jié)點(diǎn)的其他?本信息。僅?于在?戶界?中顯?。name_add_mac_suffix(可選,布爾值):將設(shè)備mac地址的最后3字節(jié)附加到<name>-aabbcc的名稱中。默認(rèn)為false。請參閱將MAC地址作為設(shè)備名稱的后綴。項?(可選):ESPHomeCreator的項?信息。請參閱項?信息。名稱(必填,字符串):項?名稱版本(必填,字符串):Old-styleplatformoptions,whichhavebeenmovedtotheplatform-specificesp32andesp8266sectionsbutarestillacceptedhereforcompatibilityreasons(usagenotrecommendedfornewprojects):平臺(必填,字符串):使?的平臺,esp8266或esp32。板(必填,字符串):所使?的板,有關(guān)更多信息,請參閱esp32和esp8266。arduino_version(可選,字符串):要編譯項?的Arduino框架的版本。esp8266_restore_from_flash(可選,布爾值):對于ESP8266s,是否將?些持久性?選項存儲在閃存中。?動化:on_boot(可選,?動化):節(jié)點(diǎn)啟動時執(zhí)?的?動化。參見on_boot。on_shutdown(可選,?動化):在節(jié)點(diǎn)關(guān)閉之前執(zhí)?的?動化。參見on_shutdown。on_loop(可選,?動化):對每個loop()迭代執(zhí)?的?動化。參見on_loop。on_bootESP啟動時將觸發(fā)此?動化。默認(rèn)情況下,它會在其他所有內(nèi)容都設(shè)置好后執(zhí)?。但是,您可以使?priority參數(shù)更改此設(shè)置。esphome:#...on_boot:priority:#...then:-switch.turn_off:switch_1配置變量:優(yōu)先級(可選,浮動):執(zhí)??定義初始化代碼的優(yōu)先級。更?的值意味著?優(yōu)先級,因此您的代碼也更早地執(zhí)?。請注意,這是?個ESPHome內(nèi)部值,任何更改都不會被標(biāo)記為中斷更改。默認(rèn)為600。優(yōu)先級(您也可以在它們之間使?任何值):800.0:這是執(zhí)?重要組件所有硬件初始化的地?。例如,將開關(guān)設(shè)置為初始狀態(tài)。600.0:這是?多數(shù)傳感器的設(shè)置位置。250.0:在此優(yōu)先級,WiFi已初始化。200.0:MQTT/nativeAPI等?絡(luò)連接是在此優(yōu)先級設(shè)置的。-100.0:在這個優(yōu)先級,?乎所有東西都應(yīng)該已經(jīng)初始化。請參閱?動化。on_shutdown當(dāng)ESP即將關(guān)閉時,將觸發(fā)此?動化。關(guān)機(jī)通常是由于WiFi/MQTT連接嘗試次數(shù)過多、應(yīng)??線更新或通過深度睡眠組件。筆記筆記:當(dāng)觸發(fā)此?動化時,不能保證所有組件都處于連接狀態(tài)。例如,MQTT客戶端可能已經(jīng)斷開連接。對于需要特定關(guān)機(jī)順序的?例,請查看priority級參數(shù)。esphome:#...on_shutdown:priority:700then:-switch.turn_off:switch_1配置變量:priority(Optional,float):Theprioritytoexecuteyourcustomshutdowncode.Ahighervaluemeansahighpriorityandincaseofshutdowntriggersthatthecodeisexecutedlater.Priorityisusedprimarilyfortheinitializationorderofcomponents.Shutdownsforthesecomponentsarehandledinreverseorder,suchthate.g.sensors(600)areshutdownbeforethehardwarecomponents(800)theydependon.PleasenotethisisanESPHome-internalvalueandanychangewillnotbemarkedasabreakingchange.Defaultsto600.Forpriorityvaluesrefertothelistintheon_bootsection.請參閱?動化。on_loop這種?動化將在每個loop()迭代中觸發(fā)(通常每16毫秒左右)。esphome:#...on_loop:then:#dosomethingplatformio_optionsPlatformIO在其platformio.ini?件中?持許多選項。使?platformio_options參數(shù),您可以告訴ESPHome哪些選項可以傳遞到PlatformIO?件的env部分(請注意,您也可以通過?動編輯platformio.ini?件來做到這?點(diǎn))。您可以在此處查看PlatformIO選項的完整列表:/en/latest/projectconf/section_env.html#Exampleconfigurationentryesphome:#...platformio_options:upload_speed:115200board_build.f_flash:80000000Lincludes使?includes,您可以在?成的PlatformIO會復(fù)制到項?中。您可以隨時查看?成的PlatformIO項?(.esphome/build/<NODE>)以了解正在發(fā)?的事情-如果您愿意,您甚?可以將包含的?件直接復(fù)制到src/?件夾中。includes選項只是?個為您做到這?點(diǎn)的幫助選項。#Exampleconfigurationentryesphome:#...includes:-my_switch.h此選項的?為因包含的?件指向的內(nèi)容?異:如果包含字符串指向?錄,則整個?錄樹將被復(fù)制到src/?件夾中。如果包含字符串指向標(biāo)題?件(.h、.hpp、.tcc),則將其復(fù)制到src/?件夾中并包含在main.cpp?件中。通過這種?式,lambda代碼可以訪問它。如果包含字符串指向常規(guī)源?件(.c,.cpp),則將其復(fù)制到src/?件夾中并編譯到?進(jìn)制?件中。通過這種?式,可以提供頭?件中的類和函數(shù)的實現(xiàn)。libraries使?libraries選項,可以將庫包含在PlatformIO項?中。然后,這些庫將被編譯成?成的固件,并可?于lambdas和?定義組件的代碼。#Exampleconfigurationentryesphome:#...libraries:#alibraryfromPlatformIOespressif/esp32-camera#alibrarybundledwithArduinoWire#usethegitversionofalibraryusedbyacomponentesphome/Improv=/improv-wifi/sdk-cpp.git#v1.0.0此選項最常見的?法是包括PlatformIO注冊表中可?的第三?庫??梢酝ㄟ^在此選項下列出他們的名字來添加它們。也可以使?特定版本,或從?件或git存儲庫中獲取庫。ESPHome接受與piolibinstall命令相同的語法。使?<name>=<source>語法,可以覆蓋ESPHome的?個組件?動添加的庫使?的版本。這在開發(fā)過程中?常有?,可以讓ESPHome使?庫的?定義分叉。默認(rèn)情況下,ESPHome不會在項?中包含任何庫。這意味著與Arduino捆綁的庫(如Wire或EEPROM)不可?。如果您需要使?它們,您應(yīng)該在此選項下?動列出它們。如果它們被另?個庫使?,它們應(yīng)該列在使?它們的庫之前。調(diào)整閃存寫?#Exampleconfigurationentrypreferences:flash_write_interval:1minflash_write_interval(可選,時間):?定義數(shù)據(jù)流向閃存的頻率。此設(shè)置有助于防?組件的快速更改被快速寫?閃光燈并磨損。默認(rèn)為1min。Asalldeviceshavealimitednumberofflashwritecycles,thissettinghelpstoreducethenumberofflashwritesduetoquicklychangingcomponents.Inthepast,whencomponentssuchaslight,switch,fanandglobalswerechanged,thestatewasimmediatelycommittedtoflash.Theresultofthiswasthatthelaststateofthesecomponentswouldalwaysrestoretoitslaststateonpowerloss,however,thishasthecostofpotentiallyquicklydamagingtheflashifthesecomponentsarequicklychanged.因此,已經(jīng)實現(xiàn)了?項安全功能,以緩解閃存寫?周期有限導(dǎo)致的問題,該狀態(tài)?先存儲在內(nèi)存中,然后在flash_write_interval通過后刷新為閃存。這導(dǎo)致閃存寫?減少,從?保持閃存?命??梢酝ㄟ^將flash_write_interval設(shè)置為0s來禁?此?為,以便?即將狀態(tài)提交到閃存,但是請注意,這可能會導(dǎo)致閃光燈磨損增加和設(shè)備壽命縮短!對于ESP8266,restore_from_flash也必須設(shè)置為true,才能將狀態(tài)寫?flash。更改ESPHome節(jié)點(diǎn)名稱試圖更改節(jié)點(diǎn)的名稱或其在?絡(luò)中的地址?您可以使?WiFi配置的use_address選項進(jìn)?操作。將YAML中的設(shè)備名稱或地址更改為新值,然后設(shè)置use_address指向舊地址,如下所?:#Step1.Changingnamefromtest8266tokitchenesphome:name:kitchen#...wifi:#...use_address:test8266.local現(xiàn)在將更新后的配置上傳到設(shè)備。作為第?步,您現(xiàn)在需要再次從配置中刪除use_address選項,以便后續(xù)上傳再次?作(否則它將嘗試上傳到舊地址)。#Step2esphome:name:kitchen#...wifi:#...#Removeorcommentoutuse_address#use_address:test8266.local更改設(shè)備的靜態(tài)IP也可以執(zhí)?相同的過程。將MAC地址作為后綴添加到設(shè)備名稱使?name_add_mac_suffix允許?戶將單個?進(jìn)制?件編譯為同?設(shè)備的flashmany,它們都將具有唯?的名稱/主機(jī)名。請注意,如果您想在未來OTA更新設(shè)備,您仍然需要創(chuàng)建?個單獨(dú)的YAML配置?件。項?信息這允許創(chuàng)建者將項?名稱和版本添加到編譯的代碼中。它?前僅通過logger、mDNS和通過本機(jī)API的device_info響應(yīng)公開。名稱的格式應(yīng)為author_ject_name。#Exampleconfigurationesphome:...project:name:"jesse.leds_party"version:"1.0.0"另見在GitHub上編輯此頁?WiFi組件WiFi組件—ESPHome2022/9/1112:52https://\hhttps://\hwww.esphome.io/components/wifi.html第PAGE3/4?WiFi組件這個核?ESPHome組件為您設(shè)置WiFi連接到接?點(diǎn)。您需要進(jìn)??絡(luò)配置(?線局域?或以太?),否則ESPHome將在配置驗證階段失敗。您也不能同時設(shè)置Wifi和以太?(即使您的ESP都有線)。建議為您的節(jié)點(diǎn)提供靜態(tài)IP,因為它可以??縮短連接時間。#Exampleconfigurationentrywifi:ssid:MyHomeNetworkpassword:VerySafePassword#OptionalmanualIPmanual_ip:static_ip:23gateway:subnet:#Itishighlyrecommendedtousesecretswifi:ssid:!secretwifi_ssidpassword:!secretwifi_password配置變量:ssid(可選,字符串):設(shè)備應(yīng)連接的WiFi接?點(diǎn)的名稱(或服務(wù)集標(biāo)識符)。密碼(可選,字符串):WiFi?絡(luò)的密碼(或PSK)。留空,沒有密碼。?絡(luò)(可選):配置要連接的多個WiFi?絡(luò),可訪問的最佳WiFi?絡(luò)將被連接。請參閱連接到多個?絡(luò)。manual_ip(可選):?動配置節(jié)點(diǎn)的靜態(tài)IP。static_ip(必填,IPv4地址):節(jié)點(diǎn)的靜態(tài)IP。?關(guān)(必填,IPv4地址):本地?絡(luò)的?關(guān)。??(必填,IPv4地址):本地?絡(luò)的??。dns1(可選,IPv4地址):要使?的主要DNS服務(wù)器。dns2(可選,IPv4地址):要使?的備份DNS服務(wù)器。use_address(可選,字符串):?動覆蓋連接到ESP的地址。默認(rèn)為?動?成的值。例如,如果您更改了靜態(tài)IP,并希望將OTA閃存到之前配置的IP地址。ap(可選):在節(jié)點(diǎn)上啟?接?點(diǎn)模式。ssid(可選,字符串):要創(chuàng)建的接?點(diǎn)的名稱。留空以使?設(shè)備名稱。密碼(可選,字符串):接?點(diǎn)的密碼。留空,沒有密碼。通道(可選,int):AP應(yīng)該從1到14運(yùn)?的通道。默認(rèn)為1。manual_ip(可選):?動設(shè)置AP的IP選項。?作站模式的選項與manual_ip相同。ap_timeout(可選,時間):啟?配置的回退熱點(diǎn)的時間。默認(rèn)為1min。domain(Optional,string):Setthedomainofthenodehostnameusedforuploading.Forexample,ifit’ssetto.local,alluploadswillbesentto<HOSTNAME>.local.Defaultsto.local.reboot_timeout(可選,時間):在沒有WiFi連接的情況下重新啟動前等待的時間??梢酝ㄟ^將此設(shè)置為0s來禁?,但請注意,低級IP堆棧?前似乎存在WiFi作。默認(rèn)為15min。power_save_mode(可選,字符串):WiFi接?的省電模式。查看省電模式output_power(可選,字符串):WiFi接?的TX功率從8.5dB到20.5dB。ESP8266的默認(rèn)值為20dB,20.5dB可能會導(dǎo)致意外重新啟動。fast_connect(Optional,boolean):Ifenabled,directlyconnectstoWiFinetworkwithoutdoingafullscanfirst.Thisisrequiredforhiddennetworksandcansignificantlyimproveconnectiontimes.Defaultstooff.ThedownsideisthatthisoptionconnectstothefirstnetworktheESPsees,evenifthatnetworkisveryfarawayandbetteronesareavailable.id(可選,ID):?動指定?于代碼?成的ID。接?點(diǎn)模式ESPHome有?個可選的“接?點(diǎn)模式”。如果您在wifi配置中包含ap:,ESPHome將?動設(shè)置?個您可以連接的接?點(diǎn)。此外,您可以同時指定“正常”?作站模式和AP模式。這將導(dǎo)致ESPHome僅在?法連接到路由器時啟?接?點(diǎn)。ap:ssid:"LivingroomFallbackHotspot"password:"W1PBGyrokfLz"Youcanalsocreateasimpleapconfigwhichwillsetuptheaccesspointtohavethedevicesnameasthessidwithnopassword.wifi:ap:{}#orifyoustillwanttheaptohaveawifi:ap:password:"W1PBGyrokfLz"?動IP如果您的節(jié)點(diǎn)?法連接到WiFi或連接過程需要很長時間,最好為ESP分配靜態(tài)IP地址。這樣,ESP就不需要經(jīng)歷緩慢的DHCP流程。您可以使?WiFi配置中的manual_ip:選項進(jìn)?操作。wifi:#...manual_ip:#SetthistotheIPoftheESPstatic_ip:2#SetthistotheIPaddressoftherouter.Oftenendswithgateway:#Thesubnetofthenetwork.worksformosthomenetworks.subnet:在配置中輸??動IP后,ESP將不再需要與路由器協(xié)商動態(tài)IP地址,從?縮短連接時間。此外,如果家庭?絡(luò)不允許.local地址,這有助于進(jìn)??線更新。當(dāng)您的配置中有?動IP時,OTA流程將?動選擇它作為上傳的?標(biāo)。筆記筆記:另請參閱更改ESPHome節(jié)點(diǎn)名稱。省電模式所有ESP的WiFi接?提供三種省電模式,以減少在WiFi上的電量。雖然?些選項可以降低ESP的?電量,但它們通常也會降低WiFi連接的可靠性,在最?省電模式下經(jīng)常與路由器斷開連接。NONE(省電時間?少,ESP8266默認(rèn)值LIGHT(默認(rèn)為ESP32)HIGH(節(jié)省電量最多)wifi:#...power_save_mode:none連接到多個?絡(luò)從1.10.0版本開始,您可以為ESPHome提供許多要連接的WiFi?絡(luò)。然后,ESPHome將嘗試連接到信號強(qiáng)度最?的ESPHome。要啟?此模式,請從wifi配置中刪除ssid和password選項,并將所有內(nèi)容移動到networks密鑰下:#Exampleconfigurationentrywifi:networks:ssid:FirstNetworkToConnectTopassword:VerySafePasswordssid:SecondNetworkToConnectTopassword:VerySafePassword#Otheroptions#...配置變量:ssid(可選,字符串):SSID或WiFi?絡(luò)名稱。密碼(可選,字符串):?于?份驗證的密碼。留空,沒有密碼。manual_ip(可選):使?此?絡(luò)時?動配置節(jié)點(diǎn)的靜態(tài)IP。請注意,在每個?絡(luò)上使?不同的靜態(tài)IP地址時,需要設(shè)置use_address,因為ESPHome?法推斷節(jié)點(diǎn)連接到哪個?絡(luò)。static_ip(必填,IPv4地址):節(jié)點(diǎn)的靜態(tài)IP。?關(guān)(必填,IPv4地址):本地?絡(luò)的?關(guān)。??(必填,IPv4地址):本地?絡(luò)的??。dns1(可選,IPv4地址):要使?的主要DNS服務(wù)器。dns2(可選,IPv4地址):要使?的備份DNS服務(wù)器。eap(可選):請參閱企業(yè)?份驗證。通道(可選,int):?絡(luò)的通道(1-14)。如果給定,僅連接到此通道上的?絡(luò)。bssid(可選,字符串):連接的BSSID(MAC地址)。BSSID必須由六個?冒號字符分隔的兩位數(shù)?六進(jìn)制值(“:”)組成。所有字母必須是?寫字母。隱藏(可選,布爾):此?絡(luò)是否隱藏。默認(rèn)為false。如果您添加此選項,您還必須指定ssid。優(yōu)先級(可選,浮動):此?絡(luò)的優(yōu)先級。每次之后,都會選擇優(yōu)先級最?的?絡(luò)。如果連接失敗,優(yōu)先級將減少?個。默認(rèn)為0。企業(yè)?份驗證ESP32和ESP8266?持WPA2_EAP企業(yè)?份驗證。要配置此功能,您必須使?連接到多個?絡(luò)的樣式配WiFi組件WiFi組件—ESPHome2022/9/1112:52https://\hwww.esphome.io/components/wifi.html第PAGE4/4?https://\hwww.esphome.io/components/wifi.html第PAGE4/4?置。眾所周知,ESP32適?于PEAP、EAP-TTLS和基于證書的EAP-TLS。這些是?級設(shè)置,您通常需要咨詢您的企業(yè)?絡(luò)管理員。#ExampleEAPconfigurationwifi:networks:ssid:EAP-TTLS_EnterpriseNetworkeap:username:bobpassword:VerySafePasswordssid:EAP-TLS_EnterpriseNetworkeap:identity:bobcertificate_authority:ca_cert.pemcertificate:cert.pemkey:key.pem配置變量:標(biāo)識(可選,字符串):要傳遞給EAP?份驗證服務(wù)器的外部標(biāo)識。EAP-TLS需要此操作。?戶名(可選,字符串):要顯?給?份驗證服務(wù)器的?戶名。密碼(可選,字符串):向?份驗證服務(wù)器顯?的密碼。對于EAP-TLS,此密碼可以設(shè)置為解密到私鑰。certificate_authority(可選,字符串):驗證?份驗證服務(wù)器時使?的PEM編碼證書的路徑。證書(可選,字符串):?于EAP-TLS?份驗證的PEM編碼證書的路徑。密鑰(可選,字符串):?于EAP-TLS?份驗證的PEM編碼私鑰匹配certificate的路徑??蛇x?password加密。wifi.connected條件此條件檢查WiFi客戶端當(dāng)前是否連接到電臺。on_...:if:condition:wifi.connected:then:-logger.log:WiFiisconnected!另見專屬門戶?絡(luò)組件API參考在GitHub上編輯此頁?MQTT客戶端組件MQTT客戶端組件—ESPHome2022/9/1112:53https://\hhttps://\hwww.esphome.io/components/mqtt.html第PAGE10/10?MQTT客戶端組件MQTT客戶端組件設(shè)置了與您的經(jīng)紀(jì)?的MQTT連接。如果您正在連接到家庭助理,您可能更喜歡使?本機(jī)API,在這種情況下,不需要這樣做。警告警告:如果您啟?了MQTT,并且沒有將“原?API”?于家庭助理,則必須從ESPHome配置中刪除api:?,否則ESP將每15分鐘重新啟動?次,因為沒有客戶端連接到本機(jī)API。#Exampleconfigurationentrymqtt:broker:username:livingroompassword:!secretmqtt_password筆記筆記:對esp-idf的?持仍然具有經(jīng)驗。請使?esp-idf框架報告您在mqtt時遇到的問題。配置變量:經(jīng)紀(jì)?(必填,字符串):MQTT經(jīng)紀(jì)?的主機(jī)。端?(可選,int):要連接的端?。默認(rèn)為1883年。?戶名(可選,字符串):?于?份驗證的?戶名。空(默認(rèn))表?沒有?份驗證。密碼(可選,字符串):?于?份驗證的密碼。空(默認(rèn))表?沒有?份驗證。client_id(可選,字符串):?于打開連接的客戶端ID。有關(guān)更多信息,請參閱默認(rèn)值。發(fā)現(xiàn)(可選,布爾):如果家庭助理應(yīng)該啟??動發(fā)現(xiàn)。默認(rèn)為true。discovery_retain(可選,布爾):是否保留MQTT實體。默認(rèn)為true。discovery_prefix(可選,字符串):?于家庭助理MQTT為homeassistant。discovery_unique_id_generator(可選,字符串):使?的唯?_id?成器??梢允莑egacy或mac之?。默認(rèn)為legacy,以ESP<component_type><default_object_id>格式?成unique_id。mac?成器使?format<mac_address>-<component_type>-<fnv1_hash(friendly_name)>。discovery_object_id_generator(可選,字符串):要使?的object_id?成器??梢允莕one之?,也可以device_name。默認(rèn)為不?成object_id的none。device_name?成器使?格式<device_name>_<friendly_name>。use_縮寫(可選,布爾):是否在發(fā)現(xiàn)消息中使?縮寫。默認(rèn)為true。topic_prefix(可選,字符串):?于所有MQTT消息的前綴。不應(yīng)包含尾隨斜杠。默認(rèn)為<APP_NAME>。log_topic(可選,MQTTMessage):要發(fā)送MQTT?志消息的主題。Thelog_topichasanadditionalconfigurationoption:級別(可選,字符串):?于MQTT?志的?志級別。有關(guān)選項,請參閱?志級別。birth_message(可選,MQTTMessage):與經(jīng)紀(jì)?建?連接時要發(fā)送的消息。有關(guān)更多信息,請參閱遺囑和出?信息。will_message(可選,MQTTMessage):MQTT連接掉線時要發(fā)送的消息。有關(guān)更多信息,請參閱遺囑和出?信息。shutdown_message(可選,MQTTMessage):節(jié)點(diǎn)關(guān)閉和連接?凈關(guān)閉時要發(fā)送的消息。有關(guān)更多信息,請參閱遺囑和出?信息。ssl_fingerprints(可選,列表):僅在ESP8266上。?于驗證SSL連接的SHA1散列列表。有關(guān)更多信息,請參閱SSL指紋。certificate_authority(可選,字符串):僅使?esp-idf。PEM格式的CA證書。有關(guān)更多信息,請參閱帶有esp-idf的TLS(esp32)skip_cert_cn_check(可選,bool):僅使?esp-idf。不要驗證服務(wù)器證書中的通?名稱是否與broker的值匹配。idf_send_async(可選,bool):僅使?esp-idf。如果發(fā)布消息為真,則消息來?內(nèi)部mqtt任務(wù)。客戶端只排隊消息。默認(rèn)為false。異步發(fā)布的好處是它不會阻?esphome主線程。缺點(diǎn)是延遲(最多1-2秒),直到消息實際發(fā)送。如果ypi通過mqtt發(fā)送?量數(shù)據(jù),則將其設(shè)置為true。reboot_timeout(可選,時間):在沒有MQTT連接時重新啟動前等待的時間??梢酝ㄟ^將此設(shè)置為0s來禁?。默認(rèn)為15min。keepalive(可選,時間):保持MQTT插座活?的時間,減少這?點(diǎn)有助于整體穩(wěn)定性,因為WiFi流量更多,ping更多。默認(rèn)為15秒。on_connect(可選,?動化):與經(jīng)紀(jì)?建?連接時要執(zhí)?的操作。on_disconnect(可選,?動化):與代理的連接被放棄時要執(zhí)?的操作。on_message(可選,?動化):在收到有關(guān)特定MQTT主題的消息時要執(zhí)?的操作。請參閱on_message觸發(fā)器。on_json_message(可選,?動化):當(dāng)收到特定MQTT主題的JSON消息時要執(zhí)?的操作。請參閱on_json_message觸發(fā)器。id(可選,ID):?動指定?于代碼?成的ID。MQTTMessage使?MQTT消息模式,您可以告訴ESPHome應(yīng)該如何發(fā)送特定的MQTT出?消息或MQTT?志選項。#Simple:some_option:topic/to/send/to#Disable:some_option:#Advanced:some_option:topic:topic/to/send/topayload:onlineqos:0retain:true配置選項:主題(必填,字符串):發(fā)布消息的MQTT主題。有效負(fù)載(必填,字符串):消息內(nèi)容。將??些選項填充實際有效載荷,例如log_topic。qos(可選,int):主題的服務(wù)質(zhì)量級別。默認(rèn)為0。保留(可選,布爾值):如果已發(fā)布的消息是否應(yīng)該打開保留標(biāo)志。默認(rèn)為true。與家庭助理?起使?將ESPHome與家庭助理?起使?很容易,只需設(shè)置MQTT代理(likemosquitto),并將您的家庭助理安裝和ESPHome指向該代理。接下來,使?以下功能在家庭助理配置中啟?發(fā)現(xiàn):#ExampleHomeAssistantconfiguration.yamlentrymqtt:broker:...discovery:true這應(yīng)該已經(jīng)是通過ESPHome定義的所有設(shè)備都應(yīng)?動顯?在家庭助理的實體部分時“發(fā)現(xiàn)”您的設(shè)備,所有發(fā)現(xiàn)MQTT消息都需要保留。因此,即使舊實體不再在ESPHome中,舊實體也將在每個家庭助理重新啟動時重新出現(xiàn)。為了解決這個問題,ESPHome有?個簡單的助?腳本,可以為您清除陳舊的保留消息:esphomeconfiguration.yamlclean-mqtt與Docker:dockerrun--rm-v"${PWD}":/config-itesphome/esphomeclean-mqttconfiguration.yamlThiswillremoveallretainedmessageswiththetopic<DISCOVERY_PREFIX>/+/NODE_NAME/#.Ifyouwanttopurgeonanothertopic,simplyadd--topic<your_topic>tothecommand.家庭助理根據(jù)實體類型和實體名稱(例如sensor.uptime)為所有已發(fā)現(xiàn)的設(shè)備?成實體名稱。當(dāng)多個設(shè)備助理2021.12允許MQTT設(shè)備通過指定object_id發(fā)現(xiàn)屬性來更改此?為,該屬性取代了?成實體名稱的傳感器名稱部分。Settingdiscoverydiscovery_object_id_generator:ESPHomeMQTT集成配置中的device_name將導(dǎo)致家庭助理在?成的實體名稱中包含設(shè)備名稱(例如,sensor.uptime變成sensor.<devicename>_uptime),從?更容易區(qū)分各種實體列表中的實體。默認(rèn)值默認(rèn)情況下,如果您?動指定了所有消息,ESPHome將以節(jié)點(diǎn)名稱或topic_prefix為前綴??蛻舳薎D過使?您的節(jié)點(diǎn)名稱并將設(shè)備的MAC地址添加到其中來?動?成。接下來,默認(rèn)情況下使?家庭助理的默認(rèn)前綴homeassistant啟?發(fā)現(xiàn)。如果您想?不同的前綴為所有MQTT消息添加前綴,例如home/living_room,您可以在配置中指定?定義topic_prefix。這樣,您可以將現(xiàn)有的通配符(如home/+/#與ESPHome?起使?。ESPHome的所有其他功能(如可?性)仍應(yīng)正常?作。最后的遺囑和出?信息ESPHome使?MQTT的最后?個遺囑MQTT,家庭助理將顯?其所有實體不可?(功能)默認(rèn)情況下,ESPHome將online向<TOPIC_PREFIX>/status發(fā)送保留的MQTT消息,如果連接中斷,將告訴經(jīng)紀(jì)?offline發(fā)送帶有有效負(fù)載的消息<TOPIC_PREFIX>/status。Youcanchangethesemessagesbyoverridingthebirth_messageandwill_messagewiththefollowingoptions.mqtt:#...birth_message:topic:myavailability/topicpayload:onlinewill_message:topic:myavailability/topicpayload:offlinebirth_message(可選,MQTTMessage)will_message(可選,MQTTMessage)如果出?消息和最后?個將消息有空主題或彼此不同的主題,可?性報告將被禁?。SSL指紋在ESP8266上,您可以選擇為MQTT使?SSL連接。?旦基本庫AsyncTCP?持此功能,它將擴(kuò)展到ESP32。請注意,SSL功能僅檢查SSL證書的SHA1散列,以驗證連接的完整性,因此每次證書更改時,您都必須更新指紋變量。此外,眾所周知,SHA1部分不安全,使??些計算能?,指紋可以偽造。要獲取此指紋,請?先將代理和端?選項放?配置中,然后運(yùn)?ESPHome的mqtt-fingerprint腳本以獲取證書:esphomelivingroom.yamlmqtt-fingerprint>SHA1Fingerprint:a502ff13999f8b398ef1834f1123650b3236fc07>Copyabovestringintomqtt.ssl_fingerprintssectionoflivingroom.yamlmqtt:#...ssl_fingerprints:-a502ff13999f8b398ef1834f1123650b3236fc07帶有esp-idf的TLS(esp32)如果與esp-idf框架?起使?,可以建?與mqtt代理的TLS連接。需要服務(wù)器CA證書來驗證連接。您必須下載PEM格式的服務(wù)器CA證書,并將其添加到certificate_authority中。通常這些是.crt?件,您可以使?任何?本編輯器打開它們。此外,請確保更改mqtt經(jīng)紀(jì)?的port。?多數(shù)經(jīng)紀(jì)?使?端?8883進(jìn)?TLS連接。mqtt:broker:test.mymqtt.localport:8883discovery:truediscovery_prefix:${mqtt_prefix}/homeassistantlog_topic:${mqtt_prefix}/logsskip_cert_cn_check:trueidf_send_async:falsecertificate_authority:BEGINCERTIFICATEMIIEAzCCAuugAwIBAgIUBY1hlCGvdj4NhBXkZ/uLUZNILAwwDQYJKoZIhvcNAQELBQAwgZAxCzAJBgNVBAYTAkdCMRcwFQYDVQQIDA5Vbml0ZWQgS2luZ2RvbTEOMAwGA1UEBwwFRGVyYnkxEjAQBgNVBAoMCU1vc3F1aXR0bzELMAkGA1UECwwCQ0ExFjAUBgNVBAMMDW1vc3F1aXR0by5vcmcxHzAdBgkqhkiG9w0BCQEWEHJvZ2VyQGF0Y2hvby5vcmcwHhcNMjAwNjA5MTEwNjM5WhcNMzAwNjA3MTEwNjM5WjCBkDELMAkGA1UEBhMCR0IxFzAVBgNVBAgMDlVuaXRlZCBLaW5nZG9tMQ4wDAYDVQQHDAVEZXJieTESMBAGA1UECgwJTW9zcXVpdHRvMQswCQYDVQQLDAJDQTEWMBQGA1UEAwwNbW9zcXVpdHRvLm9yZzEfMB0GCSqGSIb3DQEJARYQcm9nZXJAYXRjaG9vLm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAME0HKmIzfTOwkKLT3THHe+ObdizamPgUZmD64Tf3zJdNeYGYn4CEXbyP6fy3tWc8S2boW6dzrH8SdFf9uo320GJA9B7U1FWTe3xda/Lm3JFfaHjkWw7jBwcauQZjpGINHapHRlpiCZsquAthOgxW9SgDgYlGzEAs06pkEFiMw+qDfLo/sxFKB6vQlFekMeCymjLCbNwPJyqyhFmPWwio/PDMruBTzPH3cioBnrJWKXc3OjXdLGFJOfj7pP0j/dr2LH72eSvv3PQQFl90CZPFhrCUcRHSSxoE6yjGOdnz7f6PveLIB574kQORwt8ePn0yidrTC1ictikED3nHYhMUOUCAwEAAaNTMFEwHQYDVR0OBBYEFPVV6xBUFPiGKDyo5V3+Hbh4N9YSMB8GA1UdIwQYMBaAFPVV6xBUFPiGKDyo5V3+Hbh4N9YSMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAGa9kS21N70ThM6/Hj9D7mbVxKLBjVWe2TPsGfbl3rEDfZ+OKRZ2j6AC6r7jb4TZO3dzF2p6dgbrlU71Y/4K0TdzIjRj3cQ3KSm41JvUQ0hZ/c04iGDg/xWf+pp58nfPAYwuerruPNWmlStWAXf0UTqRtg4hQDWBuUFDJTuWuuBvEXudz74eh/wKsMwfu1HFvjy5Z0iMDU8PUDepjVolOCue9ashlS4EB5IECdSR2TItnAIiIwimx839LdUdRudafMu5T5Xma182OC0/u/xRlEm+tvKGGmfFcN0piqVl8OrSPBgIlb+1IKJEm/XriWr/Cq4h/JfB7NTsezVslgkBaoU=ENDCERTIFICATEMQTT組件基本配置ESPHome中通過MQTT進(jìn)?某種通信的所有組件都可以對特定選項進(jìn)??些覆蓋。name:"Component#Optionalvariables:retain:truediscovery:trueavailability:topic:livingroom/statuspayload_available:onlinepayload_not_available:offlinestate_topic:livingroom/custom_state_topiccommand_topic:livingroom/custom_command_topiccommand_retain:false配置變量:名稱(必填,字符串):?于MQTT組件的名稱。保留(可選,布爾值):如果應(yīng)該保留所有MQTT狀態(tài)消息。默認(rèn)為true。發(fā)現(xiàn)(可選,布爾值):?動啟?/禁?組件的發(fā)現(xiàn)。默認(rèn)為全局默認(rèn)值???性(可選):?動設(shè)置應(yīng)該發(fā)送到家庭助理的內(nèi)容以顯?實體可?性。默認(rèn)來?全球出?/。state_topic(可選,字符串):要發(fā)布狀態(tài)更新的主題。默認(rèn)為<TOPIC_PREFIX>/<COMPONENT_TYPE>/<COMPONENT_NAME>/mand_topic(可選,字符串):從遙控器訂閱命令的主題。默認(rèn)為<TOPIC_PREFIX>/<COMPONENT_TYPE>/<COMPONENT_NAME>/mand_retain(可選,布爾):發(fā)送到設(shè)備的MQTT命令消息是否應(yīng)該保留。默認(rèn)為false。警告警告:在更改這些選項并使?MQTT發(fā)現(xiàn)時,您需要重新啟動“家庭助理”。這是因為家庭助理在每個家庭助理啟動時只發(fā)現(xiàn)?次設(shè)備。on_connect/on_disconnect觸發(fā)器當(dāng)建?或放棄與MQTT代理的連接時,此觸發(fā)器將被激活。mqtt:#...on_connect:switch.turn_on:on_disconnect:switch.turn_off:switch1on_message觸發(fā)器使?此配置選項,每當(dāng)收到有關(guān)特定主題的MQTT消息時,您都可以編寫復(fù)雜的?動化。要使?消息內(nèi)容,請使?lambda模板,消息有效負(fù)載在該lambda中的名稱x下可?。mqtt:#...on_message:topic:my/custom/topicqos:0then:switch.turn_on:some_switch配置變量:主題(必填,字符串):訂閱和收聽MQTT消息的MQTT主題。每次收到包含此確切主題的消息時,?動化都會觸發(fā)。qos(可選,int):訂閱主題的MQTT服務(wù)質(zhì)量。默認(rèn)為0。有效載荷(可選,字符串):可選設(shè)置匹配的有效載荷。只有確切地收到您使?此選項指定的有效負(fù)載時,才會執(zhí)??動化。筆記筆記:您甚?可以使?YAML列表指定多個on_message觸發(fā)器:mqtt:on_message:topic:some/topicthen:-#...topic:some/other/topicthen:-#...筆記筆記:此操作也可以?于lambdas:mqtt:#GivethemqttcomponentanIDid:mqtt_clientid(mqtt_client).subscribe("the/topic",[=](conststd::string&topic,conststd//dosomethingwithpayload});on_json_message觸發(fā)器使?此配置選項,每當(dāng)收到JSON編碼的MQTT消息時,您都可以編寫復(fù)雜的?動化。要使?消息內(nèi)容,請使?lambda模板,解碼的消息有效負(fù)載以該lambda內(nèi)部的名稱x提供。x對象屬于ArduinoJson庫的JsonObject類型,您可以使?該庫的所有?法來訪問數(shù)據(jù)?;旧?,您可以通過鍵?x["THE_KEY"]來訪問元素,并將其保存到本地變量中。請注意,最好先調(diào)?containsKey來檢查密鑰是否存在于Json對象中,因為如果訪問不存在的元素,ESP將崩潰。mqtt:#...on_json_message:topic:the/topicthen:-light.turn_on:id:living_room_lightstransition_length:!lambda|-intlength=1000;if(x.containsKey("length"))length=x["length"];returnlength;brightness:!lambda"returnx["bright"];"effect:!lambda|-constchar*effect="None";if(x.containsKey("effect"))effect=x["effect"];returneffect;配置變量:主題(必填,字符串):訂閱和收聽MQTT消息的MQTT主題。每次收到包含此確切主題的消息時,?動化都會觸發(fā)。qos(可選,int):訂閱主題的MQTT服務(wù)質(zhì)量。默認(rèn)為0。筆記:筆記:由于此觸發(fā)器內(nèi)部的?作?式,它與某些操作不兼容,并將觸發(fā)編譯失敗。例如,delay操作。筆記:此操作也可以?于lambdas:mqtt:#GivethemqttcomponentanIDid:mqtt_clientid(mqtt_client).subscribe_json("the/topic",[=](conststd::string&topic,Json//dosomethingwithJSON-decodedvalueroot});mqtt.publish?動在?動化中使?此操作發(fā)布有關(guān)主題的MQTT消息。on_...:then:mqtt.publish:topic:some/topicpayload:"Somethinghappened!"#Templated:mqtt.publish:topic:!lambdaif(id(reed_switch).state)return"topic1";elsereturn"topic2";payload:!lambda|-returnid(reed_switch).state?"YES":"NO";配置選項:主題(必填、字符串、可模板):發(fā)布消息的MQTT主題。有效負(fù)載(必填、字符串、可模板):消息內(nèi)容。qos(可選、int、可模板):主題的服務(wù)質(zhì)量?平。默認(rèn)為0。保留(可選、布爾、可模板):如果已發(fā)布的消息是否應(yīng)該打開保留標(biāo)志。默認(rèn)為false。筆記筆記:此操作也可以?lambdas編寫:mqtt:#GivethemqttcomponentanIDidid:mqtt_clientid(mqtt_client).publish("the/topic","ThePayload");mqtt.publish_json?動在?動化中使?此操作就主題發(fā)布JSON格式的MQTT消息。TheJSONmessagewillbeconstructedusingtheArduinoJsonlibrary.InthepayloadoptionyouhaveaccesstoarootobjectwhichwillrepresentsthebaseobjectoftheJSONmessage.Youcanassignvaluestokeysbyusingtheroot["KEY_NAME"]=VALUE;syntaxasseenbelow.on_...:then:mqtt.publish_json:topic:the/topicpayload:|-root["key"]=id(my_sensor).state;root["greeting"]="HelloWorld";#Willproduce:#{"key":42.0,"greeting":"HelloWorld"}配置選項:主題(必填、字符串、可模板):發(fā)布消息的MQTT主題。有效載荷(必填,lambda):消息內(nèi)容。qos(可選,int):主題的服務(wù)質(zhì)量級別。默認(rèn)為0。保留(可選,布爾值):如果已發(fā)布的消息是否應(yīng)該打開保留標(biāo)志。默認(rèn)為false。筆記筆記:此操作也可以?lambdas編寫:mqtt:#GivethemqttcomponentanIDid:mqtt_clientid(mqtt_client).publish_json("the/topic",[=](JsonObjectroot)root["something"]=id(my_sensor).state;});mqtt.connected條件此條件檢查MQTT客戶端當(dāng)前是否連接到MQTT代理。on_...:if:condition:mqtt.connected:then:logger.log:MQTTisconnected!筆記筆記:此操作也可以?lambdas編寫:mqtt:#GivethemqttcomponentanIDid:mqtt_clientif(id(mqtt_client)->is_connected()){//dosomethingifMQTTisconnected}另見API參考在GitHub上編輯此頁?I2C巴?I2C巴?—ESPHome2022/9/1112:53https://\hhttps://\hwww.esphome.io/components/i2c.html第PAGE2/2?I2C總線此組件為您的ESP32或ESP8266設(shè)置I2C總線。為了使這些組件正常?作,您需要在配置中定義I2C總線。請注意,ESP將為這些引腳啟?其內(nèi)部10kΩ拉式電阻,因此您通常不需要安裝外部引腳。您可以在?個I2C總線上使?多臺設(shè)備,因為每臺設(shè)備都有?個唯?的地址,?于在它與ESP路(SDA和SCL)的電線從每個設(shè)備板跳到下?個設(shè)備板上,或?qū)⒚總€設(shè)備的電線連接到ESP上的兩個I2C引腳來做到這?點(diǎn)。#ExampleconfigurationentryforESP32i2c:sda:21scl:22scan:trueid:bus_a配置變量:sda(可選,引腳):I2C總線數(shù)據(jù)線的引腳。默認(rèn)為董事會的默認(rèn)值(通常是ESP32的GPIO21和ESP8266的GPIO4)。scl(可選,引腳):I2C總線時鐘線的引腳。默認(rèn)為董事會的默認(rèn)值(通常是ESP32的GPIO22和ESP8266的GPIO5)。掃描(可選,布爾):如果ESPHome應(yīng)該在啟動時搜索I2C地址空間。默認(rèn)為true。frequency(Optional,float):SetthefrequencytheI2Cbusshouldoperateon.Defaultsto50kHz.Valuesare10kHz,50kHz,100kHz,200kHz,…800kHzid(可選,ID):如果您需要多個I2C總線,請?動指定此I2C總線的ID。筆記筆記:如果設(shè)備可以?持多個I2C總線(ESP32有2個,ESP8266不?持多個總線),則需要將這些總線定義如下,并且需要設(shè)置傳感器指定正確的總線:#Exampleconfigurationentryi2c:id:sda:13scl:16scan:trueid:sda:14scl:15scan:true#Sensorsshouldbespecifiedasfollowsplatform:i2c_id:bus_baddress:0x76#...#IfaI2CmultiplexerisusedallI2Cdevicescanbeadditionallyconfiguredplatform:multiplexer:id:multiplex0channel:0#...另見API參考在GitHub上編輯此頁?SPI巴?—ESPHome 2022/9/1112:53SPI總線SPI是許多設(shè)備?常常見的?速協(xié)議。SPI總線通常由4根電線組成:CLK:?于告訴接收設(shè)備何時讀取數(shù)據(jù)。總線上的所有設(shè)備都可以共享這條線路。有時也稱為SCK。CS(芯?選擇):?于告訴接收設(shè)備何時應(yīng)該監(jiān)聽數(shù)據(jù)。每臺設(shè)備都有?個單獨(dú)的CS線路。有時也稱為SS。如果SPI總線只有?個設(shè)備,其CS引腳有時可以連接到接地,告訴它它總是被選中。MOSI(也稱為DIN):?于將數(shù)據(jù)從主(ESP)線路。MISO(也稱為DOUT):?于接收數(shù)據(jù)??偩€上的所有設(shè)備都可以共享這條線路。在某些情況下,MOSI或MISO之?不存在,因為接收設(shè)備只接受數(shù)據(jù)或發(fā)送數(shù)據(jù)。要在ESPHome中設(shè)置SPI設(shè)備,您?先需要放置?個像下?的頂級SPI集線器,該集線器定義了?于上述功能的引腳。然后,CS引腳由組件單獨(dú)管理。如果您想使?ESP擁有多個SPI總線,spi:組件還接受總線列表(盡管這應(yīng)該很少必要,因為SPI總線可以由設(shè)備共享)。#Exampleconfigurationentryspi:clk_pin:GPIO14mosi_pin:GPIO13miso_pin:GPIO12配置變量:clk_pin(必填,引腳模式):?于SPI總線時鐘線的引腳。mosi_pin(可選,引腳模式):?于SPI總線MOSI線的引腳。miso_pin(可選,引腳模式):?于SPI總線MISO線的引腳。id(可選,ID):如果您需要多個SPI集線器,請?動指定此SPI集線器的ID。另見API參考在GitHub上編輯此頁?https://\hwww.esphome.io/components/spi.html 第1/1?UART巴?UART巴?—ESPHome2022/9/1112:53https://\hhttps://HYPERLINK"ht

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論