Мазмұны:
- 1 -қадам: CROUTON
- 2 -қадам: крутонды ассимиляциялау
- 3 -қадам: ҚҰРЫЛҒЫНЫ ЖИНАУ
- 4 -қадам: FIRMWARE
- 5 -қадам: ҚҰРЫЛҒЫ КАРТАСЫ
- 6 -қадам: WEEKVIEW картасы
- 7 -қадам: РЕЖИМДЕУЛІКТІ ҚОСУ
- 8 -қадам: ВИДЕО
Бейне: IOT123 - СЕНЗОР ХАБЫН БІЛУ: ICOS10 CORS WEBCOMPONENTS: 8 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-31 10:21
ASSIMILATE SENSOR/ACTOR Slaves Crouton -да визуалдылықты анықтау үшін қолданылатын метадеректерді ендіреді. Бұл құрылым бұрынғыдан сәл өзгеше; аппараттық құралдарда өзгерістер жоқ. Микробағдарлама енді AssimilateCrouton -тың соңғы құрылымына біріктіруге болатын реттелетін (бай) редакторларды орналастыруды қолдайды. Бұл мақалада микробағдарлама мен MQTT бақылау тақтасын түсіндіруге көбірек назар аударылады.
WebComponent -терге олар басқаратын құрылғыдан қызмет көрсетудің артықшылықтарының бірі - бұл құрылғыны неғұрлым жетілдірілген басқару құрылғының жалғанған желісімен шектелуі: сіздің WiFi кіру нүктесі. Егер сіз аутентификациясы бар MQTT серверін қолдансаңыз, қорғаныстың ұқсастығы бар, бірақ егер сіз браузерден бір сәтте (AssimilateCrouton веб -сайты) шығып кетсеңіз, қоғамдық желілерде біреу кіріп, сіздің автоматтандыру құрылғыларыңызды басқара алады. Бұл CORS WebComponent мүмкіндігі тек оқуларға (температура, жарық деңгейлері, ылғалдылық) және командалық функцияларды (қосу/өшіру, жоспарлау) тек құрылғы желісінен ғана алуға мүмкіндік береді.
Құрылғыда SPIFFS аутентификациясы мен хостингі бар барлық веб -сервер мүмкіндіктері әлі де қолдау көрсетеді, бірақ Polymer WebComponents (Crouton Polymer 1.4.0 қолданады) үшін CORS (Cross Origin Resource Sharing) қолдауына ерекше назар аударылды.
AssimilateCrouton (IOT желісін ассимиляциялау үшін қолданылатын Crouton шанышқысы) бағдарламасына өзгерістер кіреді
- пайдаланушы үшін құрылғыға арналған жеке карталарды көрсететін және жасыратын Құрылғы картасын (ассимиляциялық құрылғыны) қолдау
- info картасы үшін пайдалы контекстік ақпарат тостын көрсететін барлық карталардағы info сипаты
- CORS веб -компоненттерін қолдау, бұл жағдайда құрылғыдағы веб -серверде орналасқан (ESP8266).
1 -қадам: CROUTON
Croutonis - бұл IOT құрылғыларын минималды орнатумен визуализациялауға және басқаруға мүмкіндік беретін бақылау тақтасы. Негізінде, бұл кез келген IOT аппараттық энтузиастары үшін тек MQTT және JSON көмегімен орнатудың ең оңай бақылау тақтасы.
ASSIMILATE SLAVES (сенсорлар мен актерлер) қондырылған метадеректер мен қасиеттерге ие, олар шебер тақтаны құру үшін Crouton қолданатын InInfo json пакетін құруға пайдаланады. ASSIMILATE NODES пен Crouton арасындағы делдал - бұл MQTT брокері, ол веб -сокеттерге қолайлы: москит демо үшін қолданылады.
ASSIMILATE MASTER сипаттарды сұрайтындықтан, ол Crouton жаңартулары үшін қажетті форматта жауап мәндерін пішімдейді. AssimilateCrouton шанышқысы сіздің құрылғыңызда жұмыс істейтін бизнес ережелерін орталықсыздандыруға мүмкіндік беретін кейбір мүмкіндіктерді қосады, яғни IOT құрылғысына ендірілген бизнес ережелері қажет емес, бұл MQTT/I2C байланысының ақылды (ATTINY басқарылатын) қосалқы актерлері мен сенсорларына арналған құбыры..
2 -қадам: крутонды ассимиляциялау
Крутонға өзгеріс
Айырбасталған нұсқадағы өзгерістерге мыналар жатады:
- егер соңғы нүктеде жол сипаты анықталса, картаға арналған WebComponent CORS ресурсына HTMLImport жасайды (осы құрылымдағы ESP8266 веб -сервері).
- CORS WebComponent -тен (тәуелділіктерден) жоғары ағымдағы кез келген ресурстарға олар Crouton веб -сайтынан алынған сияқты сілтеме жасайды; олар ерекше жағдайды жүктей алмаса, веб -сайттан жолдар мен жүктемелерді қайта қарайды.
- ағымдағы жергілікті уақыт оң жақта көрсетіледі, бұл тексеруді жоспарлауға пайдалы.
ПОЛИМЕРДІҢ ТӘУЕЛСІЗДІГІ МЕН КОРС
Полимерлік тәуелділік ағашының жапырақтарын CORS -те орналастыруға болады. Қолданбада түбірлік тәуелділіктер бірнеше рет қолданылуы мүмкін болғандықтан, оларға 2 жерден сілтеме жасау мүмкін емес (веб -сайт пен құрылғы), себебі полимерлік модульді жүктеуші оларды екі бөлек ресурс ретінде қарастырады және көптеген тіркеу қателері қосымшаны тез бұзады.
Осы себепті картаға арналған WebComponent (HTML файлы 1.4.0) және онымен байланысты CSS файлы - бұл құрылғыда орналастырылған жалғыз файлдар. Басқа тәуелділіктер WebComponent бастапқы веб -сайттағы «html» қалтасында орналасқан сияқты сілтеме жасайды, бұл ESP8266 -да SPIFFS -ке жүктеуге дайын болғанша WebComponent -ті сол қалтадан дамытуды жеңілдетеді. AssimilateCrouton дұрыс файлдарды қалай алуға болатынын анықтайды.
ЖҰМЫС
edfungus түпнұсқасын Crouton жасаушы дереккөзді Pug/Less тілінде жазды және NPM/Grunt құралдар тізбегі болды. Мен Pug/Less -ді HTML/css ретінде көрсетіп, көрсетілген файлдарды өңдедім/тараттым. Бұл NPM/Grunt құралдар тізбегін бұзды. Бұны түзету БОЛАШАҚ бөлімінде қарастырылған.
Сіз бақылау тақтасын DEV терезесінде жергілікті түрде тексере аласыз:
- Түпкі қалтадағы пәрмен жолынан
- npm басталуы
- қарапайым сервер https:// localhost: 10001 үшін қосылады
Статикалық веб -серверге орналастырыңыз:
- node_modules -тен басқа барлық қалталарды көшіріңіз
- index.html (және мүмкін web.config) көшіріңіз
КЕЛЕШЕК
Негізгі мақсаттардың бірі - Polymer3 -ке жаңарту және Polymer CLI -ден жұмыс істеу. IOT әзірлеушілеріне жетілдірілген редакторлар мен құрылымды өз бетімен жасау үшін қосу - бірінші кезектегі мәселе. Ақырында жетілдірілген автоматтандырылған жүйе толығымен AssimilateCrouton сияқты бөлек MQTT клиенттерінен іске қосылады.
AssimilateCrouton үшін пайдаланылатын DeviceInfo пакетінің мысалы:
{ |
«deviceInfo»: { |
«endPoints»: { |
«CC_device»: { |
«құрылғы_атауы»: «ash_mezz_A3», |
«card-type»: «assim-device», |
«ssid»: «Corelines_2», |
«ip_addr»: «192.168.8.104», |
«соңғы нүктелер»: [ |
{ |
«title»: «Шамдарды өсіру», |
«card-type»: «crouton-simple-switchgle», |
«соңғы нүкте»: «ауыстыру» |
}, |
{ |
«title»: «Planter шамдары», |
«card-type»: «crouton-assim-weekview», |
«соңғы нүкте»: «CC_switch» |
} |
] |
}, |
«CC_switch»: { |
«card-type»: «assim-weekview», |
«ақпарат»: «Шамдарды 15 минуттық уақыт аралығында қосыңыз немесе өшіріңіз», |
«жол»: «https://192.168.8.104/cors», |
«title»: «Planter шамдары», |
«интервал_миндер»: 15, |
«құндылықтар»: { |
«құндылық»: «» |
} |
}, |
«ауысу»: { |
«title»: «Шамдарды өсіру», |
«card-type»: «crouton-simple-switchgle», |
«ақпарат»: «Жарықтарды уақытша қосу немесе өшіру», |
«жапсырмалар»: { |
«false»: «ӨШІРУ», |
«true»: «ON» |
}, |
«белгішелер»: { |
«жалған»: «күн-о», |
«шын»: «күн-о» |
}, |
«құндылықтар»: { |
«мән»: 0 |
} |
} |
}, |
«мәртебе»: «жақсы», |
«аты»: «ash_mezz_A3», |
«description»: «Ashmore, Mezzanine, A2 аймағындағы кеңсе», |
«түс»: «#4D90FE» |
} |
} |
GitHub ❤ арқылы орналастырылған rawdeviceInfo.json файлын қарау
3 -қадам: ҚҰРЫЛҒЫНЫ ЖИНАУ
Аппараттық құралдар өзгермегендіктен, сәйкес ақпаратқа сілтемелер:
- Қабық құрастыру
- Құралдар мен материалдар
- MCU дайындау
- MCU тұрғын үйге дайындық
- Құлдардың төменгі жағындағы қосқышты құру/ҚАЙТА РЕТТЕУ Қыз тақтасы
- Негізгі компоненттерді жинау
4 -қадам: FIRMWARE
БҰЛ ҚҰРЫЛЫСТЫҢ НЕГІЗГІ ӨЗГЕРІСТЕРІ
AssimilateCrouton қосымшасы құрылғыдан CORS ресурстарын қолдана алуы үшін жауап тақырыптары белгілі бір жолмен конфигурациялануы керек. Бұл микробағдарламаның осы шығарылымында орындалды (static_server.ino => server_file_read ()).
Сондай -ақ, полимердің негізгі тәуелділік графигі бір түптен болуы керек. Құрылғыда AssimilateCrouton веб -сайтынан ресурстарды қайта жүктеу үшін SPIFFS CORS файлдарына қате өңдегішін (corsLinkOnError) қосу стратегиясы қолданылды.
Аспаптар картасын жасау үшін AssimilateCrouton қолданатын deviceInfo -да жасалған соңғы нүктелерді теңшеу үшін SPIFFS файлдық жүйесіне 2 жаңа конвенция қосылды:
- /config/user_card_base.json Жұмыс уақыты айнымалысы бірінші ауыстырылатын соңғы нүктенің анықтамасы:,,. Әдетте бұл жерде құрылғы картасы қосылады. Бұл құрылғымен кері байланыс жасамайды.
- /config/user_card_#.json Жұмыс уақыты айнымалысы бірінші ауыстырылатын соңғы нүктенің анықтамасы:,,. Әдетте бұл жерде ас-апталық қарау картасы сияқты бай редакторлар #-ға қатысты I2C құлына (актер/сенсор) қосылады.
ЭСКЕРТУ/КІТАПХАНАЛАР
Бұл кезеңде жоба AssimilateBus Arduino кітапханасына үлгі ретінде жинақталды. Бұл негізінен Arduino IDE -ден барлық қажетті файлдарға қол жеткізуді жеңілдету үшін. Негізгі код артефактілері:
- mqtt_crouton_esp8266_cors_webcomponents.ino - негізгі кіру нүктесі.
- assimilate_bus.h/assimilate_bus.cpp - құл сенсорымен/актерлермен I2C байланысын басқаратын кітапхана
- VizJson.h/VizJson.cpp - MQTT арқылы жарияланған кез келген JSON форматтайтын/құрастыратын кітапхана
- config.h/config.cpp - SPIFFS -те конфигурациялық файлдарды оқитын/қораптайтын/жазатын кітапхана
- static_i2c_callbacks.ino - алынған қасиетке I2C кері қоңырау шалу және құлдардың сұранысының циклы static_mqtt.ino - MQTT функциялары
- static_server.ino - веб -сервердің функциялары
- static_utility.ino - көмекші функциялар
Статикалық INO функциялары (кітапханалардың орнына) әр түрлі себептермен қолданылды, бірақ негізінен Webserver мен MQTT функциялары бір -бірімен жақсы ойнауы үшін.
SPIFFS РЕСУРСТАРЫ
SPIFFS файлдарының толық түсініктемелерін мына жерден табуға болады.
- favicon.ico - Ace Editor қолданатын ресурс
-
конфигурация
- device.json - құрылғы конфигурациясы (Wifi, MQTT…)
- slave_metas _#. json - әрбір қосымша мекенжай нөмірі үшін жұмыс уақытында жасалады (#)
- user_card _#. json - әрбір қосалқы мекенжай нөмірі үшін deviceInfo -ға біріктірілетін реттелетін соңғы нүкте (#)
- user_card_base.json - құрылғы үшін deviceInfo -ға біріктірілетін реттелетін соңғы нүкте
- user_meta _#. json - реттелетін метадеректер әрбір құл мекенжай нөмірі үшін құлдарды өзгертеді (#)
- user_props.json - құлдардың метадеректеріндегілерді ауыстыруға арналған реттелетін сипат атаулары
-
корс
- card -webcomponent.css - әр түрлі реттелетін карталарға арналған стиль кестесі
- card -webcomponent.html - әр түрлі реттелетін карталарға арналған вебкомпонент
-
редактор
- assimilate -logo-p.webp" />
- edit.htm.gz - HTML Ace редакторының gzip
- edit.htm.src - Ace редакторының түпнұсқалық HTML -сі
- favicon -32x32-p.webp" />
ЖАБДЫҚТАРДЫ ЖҮКТЕУ
- Код репозиторийін мына жерден табуға болады (суретті).
- Кітапхананың индексін мына жерден табуға болады (суретті).
- Мұнда «ZIP кітапханасын импорттау» бойынша нұсқаулар бар.
- Кітапхана орнатылғаннан кейін сіз «mqtt_crouton_esp8266_cors_webcomponents» мысалын аша аласыз.
- Wemos D1 Mini үшін Arduino орнату туралы нұсқаулар мұнда.
- Тәуелділіктер: ArduinoJson, TimeLib, PubSubClient, NeoTimer (репозиторийлердегі өзгерістер бұзылған жағдайда қосымшаларды қараңыз).
SPIFFS ЖҮКТЕУ
Код Arduino IDE -ге жүктелгеннен кейін, data/config қалтасында device.json ашыңыз:
- WiFi SSID көмегімен wifi_ssid мәнін өзгертіңіз.
- WiFi кілті арқылы wifi_key мәнін өзгертіңіз.
- Mqtt_device_name мәнін қалаған құрылғы идентификаторымен өзгертіңіз (қосылу қажет емес).
- Mqtt_device_description мәнін қалаған құрылғы сипаттамасымен өзгертіңіз (Crouton тілінде).
- Device.json сақтаңыз.
- Деректер файлдарын SPIFFS -ке жүктеңіз.
AssimilateBus мысалы үшін негізгі кіру нүктесі:
/* |
* |
*ҚҰРЫЛҒЫНЫҢ БИЗНЕС ЕРЕЖЕЛЕРІ MQTT арқылы БАСҚАРУ КҮТІЛДІ - БҰЛ ЖАБДЫҚҚА ПІШІРІЛМЕЙДІ. |
* |
* Бұл файлдағы орнату мен циклден басқа |
* маңызды қозғалатын бөлшектер |
* on_bus_received және on_bus_complete in static_i2c_callbacks.ino |
* және |
* mqtt_publish және mqtt_callback static_mqtt.ino |
* |
*/ |
#«type.h» қосыңыз |
#«VizJson.h» қосыңыз |
#«автобусты_ ассимиляциялауды» қосыңыз |
#«debug.h» қосыңыз |
#«config.h» қосыңыз |
#қосу |
#қосу // MQTT_MAX_PACKET_SIZE мәнін ~ 3000 етіп орнатыңыз (немесе сіздің қажеттіліктеріңізге deviceInfo json) |
#қосу |
#қосу |
#қосу |
#қосу |
#қосу |
// -------------------------------- ЕСКЕРТУ ДЕКЛАРАЦИЯЛАРЫ |
// ------------------------------------------------ - анықтайды |
#defineDBG_OUTPUT_FLAG2 // 0, 1, 2 МИНИМУМ, РЕЛИЗ, ТОЛЫ |
#de_ine_mqtt_pub_topic «шығыс жәшігін» анықтаңыз // CROUTON КОНВЕНЦИЯЛАРЫ |
#анықта_mqtt_sub_topic «кіріс жәшігі» |
// ------------------------------------------------ - сынып объектілері |
_Debug жөндеу (DBG_OUTPUT_FLAG); |
AssimilateBus _assimilate_bus; |
VizJson _viz_json; |
_Config_data конфигурациясы; |
WiFiClient _esp_client; |
PubSubClient _client (_esp_client); |
WiFiUDP Udp; |
ESP8266WebServer _сервері (80); |
Neotimer _timer_property_request = Neotimer (5000); |
// ------------------------------------------------ - мәліметтер құрылымы / айнымалы |
RuntimeDeviceData _runtime_device_data; |
PropertyDto _dto_props [50]; // max 10 slave x max 5 қасиеттері |
// ------------------------------------------------ - бақылау ағыны |
volatilebool _sent_device_info = жалған; |
байт _dto_props_index = 0; |
bool _fatal_error = жалған; |
// -------------------------------- ФУНКЦИОНДЫҚ ДЕКЛАРАЦИЯЛАР |
// ------------------------------------------------ - static_i2c_callbacks.ino |
voidon_bus_received (байт slave_adress, байт prop_index, рөл рөлі, char атауы [16], char мәні [16]); |
voidon_bus_complete (); |
// ------------------------------------------------ - static_mqtt.ino |
voidmqtt_callback (char* тақырыбы, байт* пайдалы жүктеме, белгісіз ұзындық); |
voidmqtt_loop (); |
int8_tmqtt_get_topic_index (char* тақырыбы); |
voidmqtt_init (constchar* wifi_ssid, constchar* wifi_password, constchar* mqtt_broker, int mqtt_port); |
voidmqtt_create_subscription (); |
voidmqtt_publish (char *root_topic, char *deviceName, char *соңғы нүкте, constchar *пайдалы жүктеме); |
boolmqtt_ensure_connect (); |
voidmqtt_subscribe (char *root_topic, char *deviceName, char *endpoint); |
voidi2c_set_and_get (байт адресі, байт коды, constchar *парам); |
// ------------------------------------------------ - static_server.ino |
String server_content_type_get (Жолдың файл атауы); |
boolserver_path_in_auth_exclusion (Жол жолы); |
boolserver_auth_read (Жол жолы); |
boolserver_file_read (Жол жолы); |
voidserver_file_upload (); |
voidserver_file_delete (); |
voidserver_file_create (); |
voidserver_file_list (); |
voidserver_init (); |
voidtime_services_init (char *ntp_server_name, байт time_zone); |
time_tget_ntp_time (); |
voidsend_ntp_packet (IPAddress & address); |
char *time_stamp_get (); |
// ------------------------------------------------ - static_utility.ino |
Жолдық spiffs_file_list_build (Жол жолы); |
voidreport_deserialize_error (); |
voidreport_spiffs_error (); |
boolcheck_fatal_error (); |
boolget_json_card_type (байт slave_adress, байт prop_index, char *card_type); |
boolget_struct_card_type (байт slave_adress, байт prop_index, char *card_type); |
boolget_json_is_series (байт slave_adress, байт prop_index); |
voidstr_replace (char *src, constchar *oldchars, char *newchars); |
get_prop_dto_idx байт (байт slave_adress, байт prop_index); |
// -------------------------------- БАСТЫ |
voidsetup () { |
DBG_OUTPUT_PORT.begin (115200); |
SetupDeviceData device_data; |
Serial.println (); Serial.println (); // консольдік қоқысқа арналған маржа |
кешіктіру (5000); |
егер (DBG_OUTPUT_FLAG == 2) DBG_OUTPUT_PORT.setDebugOutput (ақиқат); |
_debug.out_fla (F («орнату»), ақиқат, 2); |
// қажетті конфигурацияны алыңыз |
if (SPIFFS.begin ()) { |
_debug.out_str (spiffs_file_list_build («/»), ақиқат, 2); |
егер (! _config_data.get_device_data (device_data, _runtime_device_data)) { |
report_deserialize_error (); |
қайтару; |
} |
} басқа { |
report_spiffs_error (); |
қайтару; |
} |
// device.json ішінде орнатылған таймер мәнін қолданыңыз |
_timer_property_request.set (device_data.sensor_interval); |
mqtt_init (device_data.wifi_ssid, device_data.wifi_key, device_data.mqtt_broker, device_data.mqtt_port); |
time_services_init (device_data.ntp_server_name, device_data.time_zone); |
server_init (); |
// метадеректер жинағын бастау |
_assimilate_bus.get_metadata (); |
_assimilate_bus.print_metadata_details (); |
mqtt_ensure_connect (); |
// метадеректер жинағын аяқтау үшін сенсор қасиеті (атаулары) қажет |
_assimilate_bus.get_properties (автобуста_қабылданды, автобуста_ аяқталды); |
_timer_property_request.reset (); // осы уақытқа дейін белгілі уақытқа созылуы мүмкін, сондықтан оны қайтадан бастаңыз |
} |
voidloop () { |
if (! check_fatal_error ()) қайтару; |
mqtt_loop (); |
_server.handleClient (); |
егер (_timer_property_request.repeat ()) { |
_assimilate_bus.get_properties (автобуста_қабылданды, автобуста_ аяқталды); |
} |
} |
rawmqtt_crouton_esp8266_cors_webcomponents.ino қарауды GitHub ❤ арқылы ұйымдастырады
5 -қадам: ҚҰРЫЛҒЫ КАРТАСЫ
Құрылғы картасы (карта түрі: assim-құрылғы) веб-сайтта орналасқан және оған құрылғыдан (CORS) қызмет көрсету қажет емес.
Оның әдепкі бетінде:
- Құрылғыны оқуға және жазуға арналған MQTT тақырыптары
- Құрылғы кіру нүктесіне қосылған
- ACE EDITOR көмегімен құрылғыда орналастырылған SPIFFS файл редакторына сілтеме
- Картаны көрсету/жасыру бетін ашатын көз белгішесі.
Картаны көрсету/жасыру беттерінің тізімі:
- Әр карта жеке элемент ретінде
- Көрсету кезінде қалың көк шрифт
- Жасырылған кезде қара қалыпты қаріп
- Картаның түрін бейнелейтін белгіше.
Картаны жасыруға болады, оны карталардағы жасыру батырмасын басу арқылы немесе тізімдегі көк шрифтпен шертіңіз. Карталарды тізімдегі қара-қалыпты қаріп элементін басу арқылы көрсетуге болады.
Ақпараттық тосттар бұл функциямен тығыз байланысты. Егер deviceInfo -дағы соңғы нүктелердің кез келгенінде ақпарат сипаты тағайындалған болса, картаның жасыру түймесінің жанында ақпарат түймесі көрсетіледі. Басқан кезде соңғы нүктеде анықталған мәтінмәндік ақпарат терезеге «тост» қойылады.
Егер құрылғы картасы анықталмаса, карталарда жасыру түймелері көрсетілмейді. Бұл жасырын болғаннан кейін оларды көрсетуге мүмкіндік жоқ болғандықтан.
ESP8266-дағы SPIFFS файлдары арқылы ассимиляциялық құрылғы картасын қалай қосуға болатынын егжей-тегжейлі білу үшін ENDPOINT CUSTOMIZATION бөлімін қараңыз.
AssimilateCrouton WebComponent
ИКОНДАРДЫ ЖАСЫРУ |
ҚҰРЫЛҒЫ ФОРМАСЫ |
div> |
ТІЗІМДІ ЖАСЫРУ |
үлгі> |
қағаз тізімі> |
div> |
крутон картасы> |
үлгі> |
дом-модуль> |
GitHub ❤ арқылы орналастырылған rawassim-device.html қарау
6 -қадам: WEEKVIEW картасы
Аптаны қарау картасы (карта түрі: assim-weekview) құрылғыда орналасқан (cors қалтасы). Ол SPIFFS -ке config/user_card _#. Json файлын қосу арқылы AssimilateCrouton үшін жарияланған deviceInfo пакетіне енгізіледі (бұл жағдайда user_card_9.json).
ШОЛУ
Жұмыс күндері уақыт аралықтарының тізімі ретінде ұсынылады. Уақыт аралығы түйіршілдігі config/user_card _#. Json ішіндегі «interval_mins» қасиетімен орнатылады. Ол сағаттың бөлшегі немесе сағаттың еселігі болуы керек. 10, 15, 20, 30, 60, 120, 360. Уақыт аралығын басу байланысты құрылғы үшін қосылу күйінің командаланғанын қамтамасыз етеді. Егер уақыт белдеуі қазір болса, құрылғыға бірден команда жіберіледі (жарияланады). Әдетте күй әр минут сайын тексеріледі/жарияланады. Таңдаулар LocalStorage -те сақталады, сондықтан уақыт браузерді жаңарту арқылы қайта жүктеледі.
ЖАҒДАЙДЫ ПАЙДАЛАНУ
Ағымдағы күйде апталық көрініс күйін визуализациялау үшін Toggle қосқышын қолдана алатын құрылғыларға жарамды, яғни олар қосулы немесе өшірулі және орнатылғаннан кейін олар сол күйде қалады. Жарықтар, желдеткіштер мен су жылытқыштар жақсы үміткерлер.
ШЕКТЕУЛЕР/ЕСКЕРТУЛЕР
- Interval_mins жоғарыда көрсетілген мәндердің бірі болуы керек
- Апталық көрініс кранды күніне екі рет қысқа уақытқа (5 секунд) қосу сияқты жоспарланған уақытша әрекеттерді қолдамайды.
КЕЛЕШЕК
- Уақытша әрекеттер қолдау табады деп күтілуде.
- Құрылғыларда синхрондалған сақтау, кесте таңдаулары қарастырылуда.
7 -қадам: РЕЖИМДЕУЛІКТІ ҚОСУ
FIRMWARE -де қысқаша айтылғандай, соңғы нүктелерді реттеу үшін SPIFFS файлдық жүйесіне 2 жаңа конвенция қосылды. JSON файлдары MQTT брокеріне орналастырылған deviceInfo пакетіндегі соңғы нүктелер сипатына қосылатын фрагменттер болып табылады, олар бақылау тақтасының анықтамасына айналады.
Соңғы нүктелердің кілттері микробағдарламада жасалады:
- User_card_base.json үшін CC_device (Custom Card)
- _. Json пайдаланушы картасы үшін CC_SLAVE_ENDPOINT NAME (# қосымша мекенжай)
Жоғарыда айтылғандай, жұмыс уақытында мәндер алмастырылатын айнымалылар бар:
- mqtt_device_name
- wifi_ssid
- local_ip
user_card_base.json
Мысал:
{«device_name»: «», «card-type»: «assim-device», «ssid»: «», «ip_addr»: «», «endpoints»: [{«title»: «Lights Grow», « card-type «:» crouton-simple-toggle «,» endpoint «:» switch «}, {» title «:» Planter Lights «,» card-type «:» crouton-assim-weekview «,» endpoint «: «CC_switch»}]}
user_card _#. json
Мысал:
{«card-type»: «assim-weekview», «path»: «https:/// cors», «title»: «Planter Lights», «info»: «Жарықтарды 15 минут ішінде қосыңыз немесе өшіріңіз. слоттар «,» интервал_миндер «: 15,» мәндер «: {» мән «:» «}}
8 -қадам: ВИДЕО
Ұсынылған:
Пернетақтаның ағылшын тілінен басқа орналасуын білу үшін Python-ды қолдану: 8 қадам
Пернетақтаның ағылшын емес орналасуын білу үшін Python-ды қолдану: Сәлеметсіз бе, мен Джулиенмін! Мен информатика мамандығының студентімін, бүгін мен сізге Python көмегімен ағылшын тілінен басқа пернетақтаның орналасуын үйретуге болатынын көрсетемін. Қазіргі уақытта интернетте көптеген тіл үйрену жүріп жатыр, және адамдар бір нәрсені біле алады
Ескі пернетақтадан USB хабын жасау керек пе? 3 қадам (суреттермен)
Ескі пернетақтадан USB хабын жасау керек пе? Менде ескі пернетақта бар, бірақ оның пернелері ақаулы, сондықтан мен оны жақсартуға шешім қабылдадым. Мен оның тақтасын алып, оны «USB хабына» айналдырдым. Бұл оңай болды
Ауа райын білу: 5 қадам
Сіз білетін ауа райы: сәлем, біздің мектептегі жобамыз үшін біз өзіміз жасағымыз келетін жобаны немесе идеяны таңдауға болатын тізімге ие болдық. Мен метеостанцияны таңдадым, себебі ол қызықты болып көрінді және оны сақтау жақсы болар еді. бүтін және кіші
FPV көмегімен ДРОН құру үшін білу қажет барлық нәрсе: 13 қадам
FPV көмегімен дрон жасау үшін білуіңіз керек барлық нәрсе: Сонымен … дронды құру оңай да, қиын да болуы мүмкін, өте қымбат немесе заңды, бұл сіз кіретін және дамып келе жатқан жол. Мен саған не керек екенін үйретемін, мен нарықтағы барлығын қамтымақ емеспін, тек
IOT123 - СЕНСИЗОР ХАБЫН БІЛУ: ICOS10 3V3 MQTT ТҮЙІН: 6 қадам
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 3V3 MQTT NODE: Бұл ASSIMILATE SENSOR HUBS -тегі әр түрлі MCU/Мүмкіндік комбинацияларының біріншісі: I2C ASSIMILATE SENSORS құлдарынан деректерді жинайтын шеберлер. Бұл құрылғы ASSIMILATE -дан алынған кез келген деректерді жариялау үшін Wemos D1 Mini пайдаланады