Мазмуну:
- 1 -кадам: CROUTON
- 2 -кадам: CROUTONду өздөштүрүү
- 3 -кадам: ТҮЗМӨК ЧОГУЛУШУ
- 4 -кадам: FIRMWARE
- 5 -кадам: DEVICE CARD
- 6 -кадам: WEEKVIEW КАРТАСЫ
- 7 -кадам: КӨРСӨТҮҮНҮ ЧОҢДОТУУ
- 8 -кадам: ВИДЕО
Video: IOT123 - ASSIMILATE SENSOR HUB: ICOS10 CORS WEBCOMPONENTS: 8 Steps
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-31 10:22
ASSIMILATE SENSOR/ACTOR Slaves Croutonдогу визуалдаштыруу үчүн колдонулган метадайындарды киргизет. Бул түзүлүш мурункулардан бир аз айырмаланат; аппараттык өзгөрүүлөр жок. Камтылган программа азыр AssimilateCroutonдун акыркы түзүлүшүнө интеграциялануучу бажы (бай) редакторлорун жайгаштырууну колдойт. Бул макалада камтылган программаны жана MQTT тактасын түшүндүрүүгө көбүрөөк көңүл бурулат.
WebComponentsди алар башкарган түзмөктөн тейлөөнүн артыкчылыктарынын бири, бул түзмөктүн өркүндөтүлгөн көзөмөлү бул түзмөк туташкан тармак менен чектелет: сиздин WiFi кирүү түйүнүнүз. Аутентификациясы бар MQTT серверин колдонгондон кийин, коргоонун окшоштугу бар, бирок эгер сиз браузериңизди бир азга калтырсаңыз (AssimilateCrouton веб -сайты), коомдук тармактарда кимдир бирөө секирип, автоматташтыруу түзмөктөрүңүздү башкара алат. Бул CORS WebComponent өзгөчөлүгү жалпыга көрсөтүлүүчү окууларды (темп, жарык деңгээлдери, нымдуулук) жана түзмөк тармагынан гана жеткиликтүү болгон буйрук функцияларын (күйгүзүү/өчүрүү, пландаштыруу) мүмкүн кылат.
Түзмөктө, SPIFFSте Аутентификация жана Хостинг менен веб -сервердин бардык функциялары дагы эле колдоого алынат, бирок өзгөчө басым CORS (Cross Origin Resource Sharing) Polymer WebComponents (Crouton Polymer 1.4.0 колдонот) колдоосуна жасалды.
Жылы AssimilateCrouton (IOT тармагын Assimilate үчүн колдонулган Crouton айры) өзгөртүүлөрдү камтыйт
- Колдонуучу үчүн башка нерселердин арасында көрсөткөн жана жашырган Түзмөк картасын (ассимиляция) колдоо, түзмөк үчүн жеке карталар
- info карта үчүн пайдалуу контексттик маалыматтын тостун көрсөткөн бардык карттардагы маалымат касиети
- CORS веб компоненттерин колдоо, бул учурда түзмөктөгү веб -серверде жайгашкан (ESP8266).
1 -кадам: CROUTON
Croutonis IOT түзмөктөрүңүздү минималдуу орнотуу менен элестетүүгө жана башкарууга мүмкүндүк берген панель. Негизи, бул IQ жабдууларын сүйүүчүлөр үчүн MQTT жана JSONду колдонуу менен орнотуунун эң оңой панели.
ASSIMILATE SLAVES (сенсорлор жана актерлор) киргизилген метадайындарга жана касиеттерге ээ, алар мастер DevitInfo json пакетин куруу үчүн колдонот. ASSIMILATE NODES менен Crouton ортосундагы ортомчу MQTT брокери болуп саналат, ал вебсокеттерге ыңгайлуу: Mosquito демо үчүн колдонулат.
ASSIMILATE MASTER касиеттерди сурагандыктан, ал жооп маанилерин Crouton жаңыртуулары үчүн керектүү форматта форматтайт. AssimilateCrouton айрысы сиздин түзмөгүңүздү башкаруучу бизнес эрежелерин борбордон ажыратууга мүмкүндүк берген кээ бир өзгөчөлүктөрдү кошот, башкача айтканда IOT түзмөгүнө эч кандай камтылган бизнес эрежелери талап кылынбайт, бул жөн гана MQTT/I2C байланыш үчүн акылдуу (ATTINY башкарылуучу) кул актерлоруна жана сенсорлоруна..
2 -кадам: CROUTONду өздөштүрүү
КРУТОНГО ӨЗГӨРТҮҮЛӨР
Айрым версиядагы өзгөртүүлөр төмөнкүлөрдү камтыйт:
- эгер акыркы чекиттин жол касиети аныкталса, карта үчүн WebComponent CORS булагы үчүн HTMLImportту аткарат (бул курулушта ESP8266 боюнча веб -сервер).
- CORS WebComponent'дин (көз карандылыгынан) жогору турган бардык ресурстар, алар Crouton веб -сайтынан алынган сыяктуу шилтеме кылынат; өзгөчө учурду иштете албагандан кийин, веб -сайттан болсо жолдорду жана жүктөөлөрдү калыбына келтирет.
- учурдагы жергиликтүү убакыт текшерүүнү пландаштыруу үчүн пайдалуу, жогорку оңдо көрсөтүлөт.
ПОЛИМЕРДИН КӨЗ КАРАНДЫЛЫГЫ ЖАНА КОРС
Полимердик көз карандылык дарагынын жалбырактарын CORSте жайгаштырса болот. Колдонмодо тамыр көз карандылыгы бир нече жолу колдонулушу мүмкүн болгондуктан, аларга 2 жерден (веб -сайт жана түзмөк) шилтеме кылуу мүмкүн эмес, анткени Полимердик Модуль Жүктөгүч аларды 2 өзүнчө ресурс катары карайт жана бир нече ката каталары колдонмону тез эле бузат.
Ушул себептен улам, WebComponent картага (1.4.0деги HTML файлы) жана ага байланыштуу CSS файлына түзмөктө жайгаштырылган жалгыз файлдар кирет. Башка көз карандылыктар WebComponent баштапкы веб -сайтта "html" папкасында жайгашкан сыяктуу шилтеме кылынат, бул WebPomponentsди ESP8266 боюнча SPIFFSке жүктөөгө даяр болгонго чейин ошол папкадан иштеп чыгууну жеңилдетет. AssimilateCrouton туура файлдарды кантип алууну иштеп чыгат.
КАЙРАТУУ
edfungus түпнускасы Crouton булагын Pug/Lessге жазган жана NPM/Grunt куралы болгон. Мен Pug/Less'ди HTML/css катары көрсөттүм жана көрсөтүлгөн файлдарды жөн эле түзөтүп/тараттым. Бул NPM/Grunt куралын сындырды. Муну оңдоо КЕЛЕЧЕК бөлүмүндө камтылган.
Сиз панелди DEV кутуңузда жергиликтүү түрдө сынап көрсөңүз болот:
- Тамыр папкасындагы командалык саптан
- npm башталышы
- lite-сервер https:// localhost: 10001 үчүн бөлүнгөн
Статикалык веб -серверге жайгаштыруу:
- node_modulesден башка бардык папкаларды көчүрүү
- index.html (жана мүмкүн web.config) көчүрүү
КЕЛЕЧЕК
Негизги максаттардын бири - Polymer3кө көтөрүлүү жана Polymer CLIден иштөө. Өркүндөтүлгөн редакторлорду жана IOTту иштеп чыгуучуларга өзүлөрүн иштеп чыгуу үчүн негиздерди кошуу - бул эң биринчи приоритет. Акыр -аягы, өркүндөтүлгөн автоматташтырылган система толугу менен AssimilateCrouton сыяктуу бөлүнгөн MQTT кардарларынан иштетилет.
AssimilateCrouton үчүн колдонулган deviceInfo пакетинин мисалы:
{ |
"deviceInfo": { |
"endPoints": { |
"CC_device": { |
"device_name": "ash_mezz_A3", |
"card-type": "assim-device", |
"ssid": "Corelines_2", |
"ip_addr": "192.168.8.104", |
"акыркы чекиттер": [ |
{ |
"title": "Жарыктарды өстүрүү", |
"card-type": "crouton-simple-toggle", |
"endpoint": "которуштуруу" |
}, |
{ |
"title": "Planter Lights", |
"card-type": "crouton-assim-weekview", |
"endpoint": "CC_switch" |
} |
] |
}, |
"CC_switch": { |
"card-type": "assim-weekview", |
"info": "Жарыкты 15 мүнөттүк убакыт аралыгында күйгүзүү же өчүрүү", |
"жол": "https://192.168.8.104/cors", |
"title": "Planter Lights", |
"interval_mins": 15, |
"баалуулуктар": { |
"value": "" |
} |
}, |
"которуу": { |
"title": "Жарыктарды өстүрүү", |
"card-type": "crouton-simple-toggle", |
"info": "Жарыктарды атайын режимде күйгүзүү же өчүрүү", |
"этикеткалар": { |
"false": "ӨЧҮК", |
"true": "ON" |
}, |
"иконалар": { |
"false": "sun-o", |
"true": "sun-o" |
}, |
"баалуулуктар": { |
"балл": 0 |
} |
} |
}, |
"status": "жакшы", |
"name": "ash_mezz_A3", |
"description": "Office of Ashmore, Mezzanine, Area A2", |
"color": "#4D90FE" |
} |
} |
GitHub тарабынан ❤ менен өткөрүлгөн rawdeviceInfo.json көрүү
3 -кадам: ТҮЗМӨК ЧОГУЛУШУ
Аппараттык өзгөрүүлөр болбогондуктан, бул жерде тиешелүү маалыматка шилтемелер бар:
- Shell Assembly
- Материалдар жана куралдар
- MCU даярдоо
- MCU турак жай даярдоо
- Кулдардын аз капталдуу которуштургучун куруу/КАЛЫПТАШТЫРУУ Кыздар тактасы
- Негизги компоненттерди чогултуу
4 -кадам: FIRMWARE
БАШКЫ БУЛ КУРУУ
AssimilateCrouton тиркемеси түзмөктөн CORS ресурстарын колдоно алышы үчүн, жооптордун аталыштары белгилүү бир жол менен конфигурацияланган болушу керек. Бул камтылган программанын ушул чыгарылышында ишке ашырылган (static_server.ino => server_file_read ()).
Ошондой эле Полимердин негизги көз карандылык графиги бир келип чыгышы керек эле. Стратегия SPIFFS CORS файлдарына түзмөктө жок болгондо AssimilateCrouton веб -сайтынан ресурстарды кайра жүктөө үчүн onerror иштетүүчүсүн (corsLinkOnError) кошуу үчүн колдонулган.
AsifilateCrouton панели карталарын түзүү үчүн колдонулган deviceInfoдо түзүлгөн акыркы чекиттерди ыңгайлаштыруу үчүн SPIFFS файл тутумуна 2 жаңы конвенция кошулган:
- /config/user_card_base.json Иш убактысынын өзгөрмөлөрү менен биринчи чекитти аныктоо:,,. Бул, адатта, assim-түзмөк картасы кошулат. Бул түзмөк менен кайра байланышпайт.
- /config/user_card_#.json Иш убактысынын өзгөрмөлөрү менен биринчи чекитти аныктоо:,,. Адатта бул жерде assim-weekview картасы сыяктуу бай редакторлор #2ге тиешелүү 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 RESURCES
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 - Ace Editor HTMLнин gzip
- edit.htm.src - Ace редакторунун түпнуска HTML
- favicon -32x32-p.webp" />
ФИРМАЛАРДЫ ЖҮКТӨТҮҮ
- Код кампасын бул жерден тапса болот (сүрөт).
- Китепкананын ZIP кодун бул жерден тапса болот (сүрөт).
- "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" кошуу |
#"asimilate_bus.h" кошуу |
#"debug.h" кошуу |
#"config.h" кошуу |
#кошуу |
#кошуу // MQTT_MAX_PACKET_SIZEди ~ 3000ге коюңуз (же сиздин түзмөккө болгон муктаждыгыңыз) |
#кошуу |
#кошуу |
#кошуу |
#кошуу |
#кошуу |
// -------------------------------- ЭСКЕРТҮҮ ДЕКЛАРАЦИЯЛАРЫ |
// ------------------------------------------------ - аныктайт |
#defineDBG_OUTPUT_FLAG2 // 0, 1, 2 МИНИМУМ, ЧЫГАРУУ, ТОЛУК |
#define_mqtt_pub_topic "outbox" // CROUTON CONVENTIONS |
#de_ine_mqtt_sub_topic "inbox" |
// ------------------------------------------------ - класстын объекттери |
Debug _debug (DBG_OUTPUT_FLAG); |
AssimilateBus _assimilate_bus; |
VizJson _viz_json; |
Config _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]; // максимум 10 кул x max 5 касиет |
// ------------------------------------------------ - башкаруу агымы |
volatilebool _sent_device_info = жалган; |
байт _dto_props_index = 0; |
bool _fatal_error = жалган; |
// --------------------------------- ФУНКЦИЯНЫН КОЛДОНУУ ДЕКЛАРАЦИЯЛАРЫ |
// ------------------------------------------------ - static_i2c_callbacks.ino |
voidon_bus_received (байт slave_address, байт prop_index, Ролдун ролу, char name [16], char value [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 *endpoint, constchar *payload); |
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 |
Striff spiffs_file_list_build (String path); |
voidreport_deserialize_error (); |
voidreport_spiffs_error (); |
boolcheck_fatal_error (); |
boolget_json_card_type (байт slave_address, байт prop_index, char *card_type); |
boolget_struct_card_type (байт slave_address, байт prop_index, char *card_type); |
boolget_json_is_series (байт slave_address, байт prop_index); |
voidstr_replace (char *src, constchar *oldchars, char *newchars); |
байт get_prop_dto_idx (байт кулдун дареги, байт prop_index); |
// --------------------------------- БАШКЫ |
voidsetup () { |
DBG_OUTPUT_PORT.begin (115200); |
SetupDeviceData device_data; |
Serial.println (); Serial.println (); // консол таштанды үчүн маржа |
кечигүү (5000); |
if (DBG_OUTPUT_FLAG == 2) DBG_OUTPUT_PORT.setDebugOutput (true); |
_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 ()) return; |
mqtt_loop (); |
_server.handleClient (); |
эгер (_timer_property_request.repeat ()) { |
_assimilate_bus.get_properties (автобуста_кабыл алынды, автобустун_төмөндө); |
} |
} |
rawmqtt_crouton_esp8266_cors_webcomponents.ino hosted менен GitHub тарабынан уюштурулганын көрүү
5 -кадам: DEVICE CARD
Түзмөктүн картасы (карта түрү: assim-түзмөк) веб-сайтта жайгашкан жана аны түзмөктөн (CORS) тейлөөнүн кажети жок.
Анын демейки баракчалары тизмеси:
- Окуу жана түзмөккө жазуу үчүн MQTT темалары
- Кирүү чекити түзмөк туташкан
- ACE EDITOR аркылуу түзмөктө жайгаштырылган SPIFFS файл редакторуна шилтеме
- Карточканы көрсөтүү/жашыруу баракчасын ачуучу көздүн сөлөкөтү.
Карта баракчасынын тизмесин көрсөтүү/жашыруу:
- Ар бир карта өзүнчө пункт катары
- Көрсөтүүдө коюу көк шрифт
- Жашырганда кара кадимки шрифт
- Картанын түрүн чагылдырган сөлөкөт.
Картаны жашыруу баскычын чыкылдатып же тизмедеги көк шрифт менен басуу менен жашырууга болот. Карталар тизмедеги кара нормалдуу шрифт баскычын басуу менен көрсөтүлүшү мүмкүн.
Бул өзгөчөлүк менен байланышкан маалымат тосттору. Эгерде deviceInfoдогу акыркы чекиттердин биринде маалымат касиети дайындалса, картадагы жашыруу баскычынын жанында маалымат баскычы көрсөтүлөт. Басылганда, акыркы чекитинде аныкталган контексттик маалымат терезеге "тост" кылынат.
Эгерде түзмөктүн картасы аныкталбаса, жашыруу баскычтары карттарда көрүнбөйт. Себеби, бир жолу жашырылганда, аларды кайра көрсөтүүгө эч кандай мүмкүнчүлүк жок.
ESP8266дагы SPIFFS файлдары аркылуу ассимум-түзмөк картасын кантип кошсо болорун түшүнүү үчүн ENDPOINT CUSTOMIZATION караңыз.
AssimilateCrouton WebComponent
ИКОНДУ ЖАШЫРУУ |
ТҮЗМӨК ФОРМУ |
div> |
ТИЗМЕНИ КӨРСӨТҮҮ |
шаблон> |
кагаз тизмеси> |
div> |
crouton-card> |
шаблон> |
дом-модул> |
rawassim-device.html менен GitHub тарабынан ❤ хостингин көрүү
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)
- CC_SLAVE_ENDPOINT NAME for user_card _#. Json (# кул дареги)
Жогоруда айтылгандай, иштөө маалында баалуулуктар алмаштырыла турган өзгөрмөлөр бар:
- mqtt_device_name
- wifi_ssid
- local_ip
user_card_base.json
Мисал:
user_card _#. json
Мисал:
8 -кадам: ВИДЕО
Сунушталууда:
Оңой IOT - Орточо диапазондогу IOT түзмөктөрү үчүн колдонмо көзөмөлдөгөн RF Sensor Hub: 4 кадам
Оңой IOT - Орточо диапазондогу IOT түзмөктөрү үчүн колдонмонун көзөмөлдөгөн RF сенсордук хабы: Бул сабактарда биз борбордук хабдын радиобайланышы аркылуу башкарылуучу түзүлүштөрдүн тармагын курабыз. WIFI же Bluetoothдун ордуна 433 МГц сериялык радио байланышын колдонуунун пайдасы алда канча чоң диапазондо (жакшы
Touch Sensor & Sound Sensor Control AC/DC Lights: 5 Steps
AC/DC жарыктарын башкаруучу сенсор жана үн сенсору: Бул менин биринчи долбоорум жана бул эки негизги сенсордун негизинде иштеп жатат, бири сенсор, экинчиси үн сенсору, сенсордук сенсорго сенсордук панелди басыңыз КҮЙГҮН, эгер сиз аны коё берсеңиз, Жарык ӨЧҮП калат жана ошол эле учурда
IOT123 - ICOS PANEL CIRCUIT TESTER: 4 Steps
IOT123 - ICOS PANEL CIRCUIT TESTER: ICOS10 ASSIMILATE SENSOR HUBту иштеп чыгууда мен панелдик схемаларды алар жасалышын текшеришим керек болчу. Ошондой эле, казыктар 3P баштарына ширетилип жаткандыктан, мен аларга 3P эркек төөнөгүчтөрдү кошуу учурунда кандайдыр бир деформацияны токтотуусун кааладым. Ошондой эле
IOT123 - SOLAR TRACKER - TILT/PANEL, PANEL FRAME, LDR MOUNTS RIG: 9 Steps (Сүрөттөр менен)
IOT123 - SOLAR TRACKER - TILT/PANEL, PANEL FRAME, LDR MOUNTS RIG: Эки октуу күн трекерлери үчүн DIY конструкцияларынын көпчүлүгү " ошол жерде " 9G Micro Servoго негизделген, алар чындыгында бир нече Күн клеткаларын, микро контроллерди, батареяны жана корпусту айланып өтүүгө жетишсиз. Сиз дизайн жасай аласыз
USB Hub үчүн 5V Stabilized Supply: 16 Steps
USB Hub үчүн 5V Stabilized Supply: Бул ага туташкан түзмөктөргө стабилдештирилген + 5 вольттуу жеткирүүнү жеткирүү үчүн автобус менен иштеген USB хабы менен колдонууга арналган стабилдештирилген жабдуу. Байланыш кабелинин каршылыгынан жана каршылыктар учурдагы үчүн киргизилген