Mundarija:

IOT123 - SENSOR HUBINI ASSIMILASH: ICOS10 CORS WEBCOMPONENTS: 8 qadam
IOT123 - SENSOR HUBINI ASSIMILASH: ICOS10 CORS WEBCOMPONENTS: 8 qadam

Video: IOT123 - SENSOR HUBINI ASSIMILASH: ICOS10 CORS WEBCOMPONENTS: 8 qadam

Video: IOT123 - SENSOR HUBINI ASSIMILASH: ICOS10 CORS WEBCOMPONENTS: 8 qadam
Video: IOT123 - ASSIMILATE SENSOR HUB: ICOS10 IDC PANEL ASSEMBLY 2024, Iyul
Anonim
IOT123 - SENSOR HUBINI ASSIMILASH: ICOS10 CORS WEBCOMPONENTS
IOT123 - SENSOR HUBINI ASSIMILASH: ICOS10 CORS WEBCOMPONENTS
IOT123 - SENSOR HUBINI ASSIMILASH: ICOS10 CORS WEBCOMPONENTS
IOT123 - SENSOR HUBINI ASSIMILASH: ICOS10 CORS WEBCOMPONENTS

ASSIMILATE SENSOR/ACTOR Slaves Crouton vizualizatsiyasini aniqlash uchun ishlatiladigan metadatalarni joylashtiradi. Bu qurilish avvalgilaridan biroz farq qiladi; apparat o'zgarishlari yo'q. Mikrodastur endi AssimilateCrouton -ning so'nggi versiyasiga qo'shilishi mumkin bo'lgan maxsus (boy) muharrirlarni joylashtirishni qo'llab -quvvatlaydi. Ushbu maqolada dasturiy ta'minot va MQTT boshqaruv panelini tushuntirishga ko'proq e'tibor qaratiladi.

WebComponents -ga ular boshqaradigan qurilmadan xizmat ko'rsatishning afzalliklaridan biri shundaki, qurilmaning yanada takomillashtirilgan boshqaruvi qurilma ulangan tarmoq bilan chegaralanadi: sizning WiFi kirish nuqtangiz. Garchi siz autentifikatsiya bilan MQTT serveridan foydalansangiz, xuddi shunday himoya mavjud, lekin agar siz brauzeringizni bir zum tark etsangiz (AssimilateCrouton veb -sayti), umumiy tarmoqlarda kimdir sizning avtomatlashtirish qurilmalaringizga kirishi mumkin. Bu CORS WebComponent xususiyati faqat o'qishlar (harorat, yorug'lik darajasi, namlik) va faqat buyruqlar funktsiyalarini (yoqish/o'chirish, rejalashtirish) faqat qurilma tarmog'ida mavjud bo'lishini ta'minlaydi.

Qurilmada SPIFFS -da autentifikatsiya va xostingga ega bo'lgan barcha veb -server funktsiyalari hali ham qo'llab -quvvatlanadi, lekin CORS (Cross Origin Resource Sharing) qo'llab -quvvatlashiga Polimer WebComponents (Crouton Polymer 1.4.0 dan foydalanadi) uchun alohida e'tibor qaratiladi.

AssimilateCrouton -da (IOT tarmog'ini assimilyatsiya qilish uchun ishlatiladigan Crouton vilkasi) o'zgarishlarga quyidagilar kiradi:

  • boshqa narsalar qatorida foydalanuvchi uchun qurilma uchun individual kartalarni ko'rsatadigan va yashiradigan Qurilma kartasini (assim-qurilma) qo'llab-quvvatlash.
  • karta uchun foydali kontekstli ma'lumotni ko'rsatadigan barcha kartalardagi info xususiyati
  • CORS veb -komponentlarini qo'llab -quvvatlash, bu holda qurilmadagi veb -serverda joylashgan (ESP8266).

1 -qadam: CROUTON

CROUTON
CROUTON
CROUTON
CROUTON

Croutonis - IOT qurilmalarini minimal sozlash bilan vizualizatsiya qilish va boshqarish imkonini beruvchi asboblar paneli. Aslida, bu har qanday IOT apparat ixlosmandlari uchun faqat MQTT va JSON yordamida sozlashning eng oson paneli.

ASSIMILATE SLAVES (datchiklar va aktyorlar) o'rnatilgan metadata va xususiyatlarga ega, bu uskuna Crouton asboblar panelini qurishda foydalanadigan InInfo json paketini qurishda foydalanadi. ASSIMILATE NODES va Crouton o'rtasidagi vositachi - bu MQTT brokeridir, u veb -saytlarga mos keladi: chivin demo uchun ishlatiladi.

ASSIMILATE MASTER xususiyatlarni so'raganligi sababli, javob qiymatlarini Crouton yangilanishlari uchun kerakli formatda formatlaydi. AssimilateCrouton vilkasi sizning qurilmangizni boshqaradigan biznes qoidalarini markazsizlashtirishga imkon beradigan ba'zi xususiyatlarni qo'shadi, ya'ni IOT qurilmasiga hech qanday ko'milgan biznes qoidalari kerak emas, bu faqat MQTT/I2C aloqasi uchun aqlli (ATTINY boshqariladigan) qul aktyorlar va sensorlar uchun quvur..

2 -qadam: krutonni assimilyatsiya qilish

CROUTON assimilyatsiya qilish
CROUTON assimilyatsiya qilish

CROUTON OZGARISHLARI

Ajratilgan versiyadagi o'zgarishlar quyidagilarni o'z ichiga oladi.

  • Agar oxirgi nuqta yo'l xususiyatiga ega bo'lsa, karta uchun WebComponent CORS manbasi uchun HTMLImportni amalga oshiradi (bu tuzilmadagi ESP8266 veb -serveri).
  • CORS WebComponent -dan yuqori bo'lgan har qanday manbalarga xuddi Crouton veb -saytidan xizmat ko'rsatilgandek havola qilinadi; Agar ular istisnolarni yuklay olmasalar, veb -saytdan yo'llarni yuklaydi va yuklaydi.
  • joriy vaqt mahalliy vaqtning yuqori o'ng burchagida ko'rsatiladi, bu tekshiruvni rejalashtirish uchun foydalidir.

POLIMERGA VOZALIK VA KORS

Polimer qaramlik daraxtining barglari CORSda joylashtirilishi mumkin. Ildizga bog'liqlik ilovada bir necha marta ishlatilishi mumkinligi sababli, ularga 2 joydan (veb -sayt va qurilma) havola qilish mumkin emas, chunki polimer modulli yuklovchi ularni ikkita alohida manba sifatida ko'rib chiqadi va bir nechta ro'yxatga olish xatolari dasturni tez o'chiradi.

Shu sababli, karta uchun WebComponent (HTML fayli 1.4.0) va unga tegishli CSS fayli qurilmada joylashgan yagona fayllardir. Boshqa bog'liqliklar xuddi WebComponent boshlang'ich veb -saytning "html" papkasida joylashgandek ko'rsatiladi, bu esa ESP8266 -da SPIFFS -ga yuklashga tayyor bo'lgunga qadar o'sha papkadan WebComponents -ni ishlab chiqishni osonlashtiradi. AssimilateCrouton to'g'ri fayllarni qanday olish kerakligini aniqlaydi.

ISHLAB CHIQISH

original Crouton -ning yaratuvchisi edfungus manbani Pug/Less -da yozgan va NPM/Grunt asboblar zanjiriga ega edi. Men Pug/Less -ni HTML/CSS formatida ko'rsatdim va faqat ko'rsatilgan fayllarni tahrir qildim/tarqatdim. Bu NPM/Grunt asboblar zanjirini sindirdi. Buni tuzatish FUTURE bo'limida keltirilgan.

Siz asboblar panelini DEV qutisida mahalliy darajada sinab ko'rishingiz mumkin:

  • Ildiz papkasidagi buyruq satridan
  • npm boshlanishi
  • Lite-server https:// localhost: 10001 uchun tuzilgan

Statik veb -serverga joylashtiring:

  • node_modules tashqari barcha papkalarni nusxalash
  • index.html nusxasini (va, ehtimol, web.config)

Kelajak

Asosiy maqsadlardan biri Polymer3 -ga o'tish va Polymer CLI -dan ishlashdir. IOT ishlab chiquvchilariga o'zlarini ishlab chiqishlari uchun ilg'or tahrirlovchilar va tizimlarni qo'shish ustuvor vazifadir. Oxir -oqibat ilg'or avtomatlashtirilgan tizim butunlay AssimilateCrouton kabi alohida MQTT mijozlaridan ishlaydi.

AssimilateCrouton uchun ishlatilganInInfo paketining namunasi:

{
"deviceInfo": {
"endPoints": {
"CC_device": {
"qurilma_ nomi": "ash_mezz_A3",
"karta turi": "assim-qurilma",
"ssid": "Corelines_2",
"ip_addr": "192.168.8.104",
"so'nggi nuqtalar": [
{
"sarlavha": "Chiroqlar o'sishi",
"card-type": "crouton-simple-toggle",
"so'nggi nuqta": "o'tish"
},
{
"sarlavha": "Planter chiroqlari",
"card-type": "crouton-assim-weekview",
"so'nggi nuqta": "CC_switch"
}
]
},
"CC_switch": {
"card-type": "assim-weekview",
"info": "Chiroqlarni 15 daqiqali vaqt oralig'ida yoqish yoki o'chirish",
"yo'l": "https://192.168.8.104/cors",
"sarlavha": "Planter chiroqlari",
"interval_mins": 15,
"qiymatlar": {
"qiymat": ""
}
},
"o'tish": {
"sarlavha": "Chiroqlar o'sishi",
"card-type": "crouton-simple-toggle",
"info": "Vaqti -vaqti bilan chiroqlarni yoqish yoki o'chirish",
"yorliqlar": {
"noto'g'ri": "O'chirilgan",
"rost": "ON"
},
"piktogramma": {
"yolg'on": "quyosh-o",
"rost": "quyosh-o"
},
"qiymatlar": {
"qiymat": 0
}
}
},
"status": "yaxshi",
"ism": "ash_mezz_A3",
"tavsif": "Ashmore ofis, Mezzanine, A2 maydoni",
"rang": "#4D90FE"
}
}

GitHub tomonidan ❤ bilan uyushtirilgan rawdeviceInfo.json -ni ko'rish

3 -qadam: QURILMA YIG'ISHI

QURILMA YIG'ILISHI
QURILMA YIG'ILISHI
QURILMA YIG'ILISHI
QURILMA YIG'ILISHI
QURILMA YIG'ILISHI
QURILMA YIG'ILISHI

Uskuna o'zgarishi bo'lmaganligi sababli, tegishli ma'lumotlarga havolalar:

  • Qobiq yig'ilishi
  • Materiallar va asboblar
  • MCUga tayyorgarlik
  • MCU uy -joy tayyorlash
  • Qullarning past tomonli tugmachasini qurish/RESET-ni o'rnatish
  • Asosiy komponentlarni yig'ish

4 -qadam: FIRMWARE

YANGILAR
YANGILAR
YANGILAR
YANGILAR
YANGILAR
YANGILAR
YANGILAR
YANGILAR

BU QURILISHNI ASOSIY O'ZGARTIRADI

AssimilateCrouton ilovasi qurilmadan CORS resurslaridan foydalana olishi uchun javob sarlavhalarini maxsus tarzda sozlash kerak edi. Bu dasturiy ta'minotning ushbu versiyasida amalga oshirildi (static_server.ino => server_file_read ()).

Bundan tashqari, Polimer uchun asosiy qaramlik grafigi bitta manbadan bo'lishi kerak edi. Qurilmada mavjud bo'lmagan manbalarni AssimilateCrouton veb -saytidan qayta yuklash uchun SPIFFS CORS fayllariga xato ishlagichini (corsLinkOnError) qo'shish strategiyasi ishlatilgan.

DeviceInfo -da yaratilgan so'nggi nuqtalarni sozlash uchun SPIFFS fayl tizimiga 2 ta yangi konventsiya qo'shilgan - AssimilateCrouton asboblar paneli kartalarini yaratish uchun foydalanadi:

  • /config/user_card_base.json Oxirgi nuqta ta'rifi, ish vaqti o'zgaruvchilari avval almashtiriladi:,,. Odatda bu erda assim-qurilma kartasi qo'shiladi. Bu qurilma bilan aloqa o'rnatmaydi.
  • /config/user_card_#.json Oxirgi nuqta ta'rifi, ish vaqti o'zgaruvchilari avval almashtiriladi:,,. Bu odatda assim-haftalik ko'rish kartasi kabi boy muharrirlar #ga tegishli I2C quliga (aktyor/sensor) qo'shiladi.

Eskiz/kutubxonalar

Ushbu bosqichda loyiha AssimilateBus Arduino kutubxonasi uchun namuna sifatida yig'ilgan. Bu asosan Arduino IDE -dan barcha kerakli fayllarga kirishni osonlashtirish uchun. Asosiy kod artefaktlari:

  • mqtt_crouton_esp8266_cors_webcomponents.ino - asosiy kirish nuqtasi.
  • assimilate_bus.h/assimilate_bus.cpp - qul sensori/aktyorlari bilan I2C aloqasini boshqaradigan kutubxona.
  • VizJson.h/VizJson.cpp - MQTT orqali chop etiladigan har qanday JSON formatlaydigan/quradigan kutubxona.
  • config.h/config.cpp - SPIFFS -da konfiguratsiya fayllarini o'qadigan/qutilari/yozadigan kutubxona
  • static_i2c_callbacks.ino - qabul qilinayotgan mulk uchun I2C qayta qo'ng'iroqlar va qullar so'rovlari tsikli to'liq static_mqtt.ino - MQTT funktsiyalari
  • static_server.ino - veb -server vazifalari
  • static_utility.ino - yordamchi vazifalari

Statik INO funktsiyalari turli sabablarga ko'ra ishlatilgan (kutubxonalar o'rniga), lekin asosan Webserver va MQTT funktsiyalari birgalikda yaxshi o'ynashi uchun.

SPIFFS RESURSLARI

SPIFFS fayllarining batafsil tushuntirishlarini bu erda topishingiz mumkin.

  • favicon.ico - Ace muharriri tomonidan ishlatilgan manba
  • konfiguratsiya
    • device.json - qurilma konfiguratsiyasi (Wifi, MQTT…)
    • slave_metas _#. json - har bir qul manzili raqami uchun ish vaqtida hosil qilinadi (#)
    • user_card _#. json - har bir qo'shimcha manzil raqami (#) uchun qurilma ma'lumotlariga birlashtirilgan maxsus oxirgi nuqta.
    • user_card_base.json - qurilma uchun deviceInfo -ga qo'shiladigan maxsus oxirgi nuqta
    • user_meta _#. json - har bir qul manzili raqami uchun maxsus metadata qullarning o'rnini bosadi (#)
    • user_props.json - qullarning metadatasidagi nomlarini bekor qilish uchun maxsus mulk nomlari
  • korslar

    • card -webcomponent.css - har xil maxsus kartalar uchun uslublar jadvali
    • card -webcomponent.html - har xil maxsus kartalar uchun veb -komponent
  • muharrir

    • assimilate -logo-p.webp" />
    • edit.htm.gz - Ace Editor HTML gzip
    • edit.htm.src - Ace muharririning asl HTML -si
    • favicon -32x32-p.webp" />

ISHLAB CHIQARISH yuklanmoqda

  • Kod omborini bu erda topish mumkin (oniy tasvir).
  • Bu erda kutubxonaning ZIP kodini topishingiz mumkin (rasm).
  • Bu erda "ZIP kutubxonasini import qilish" bo'yicha ko'rsatmalar.
  • Kutubxona o'rnatilgandan so'ng siz "mqtt_crouton_esp8266_cors_webcomponents" misolini ochishingiz mumkin.
  • Bu erda Wemos D1 Mini uchun Arduino -ni sozlash bo'yicha ko'rsatmalar.
  • Bog'liqliklar: ArduinoJson, TimeLib, PubSubClient, NeoTimer (agar omborlardagi o'zgarishlar buzilsa, qo'shimchalarga qarang).

SPIFFS yuklash

Kod Arduino IDE -ga yuklanganidan so'ng, data/config papkasida device.json -ni oching:

  • Wi -Fi SSID yordamida wifi_ssid qiymatini o'zgartiring.
  • Wi -Fi kaliti yordamida wifi_key qiymatini o'zgartiring.
  • Mqtt_device_name qiymatini o'zingiz tanlagan qurilma identifikatori bilan o'zgartiring (qo'shilish shart emas).
  • Qurilma tavsifi bilan mqtt_device_description qiymatini o'zgartiring (Croutonda).
  • Qurilmani saqlang.json.
  • Ma'lumot fayllarini SPIFFS -ga yuklang.

AssimilateBus misoli uchun asosiy kirish nuqtasi:

/*
*
*QURILMALARINGIZNING BIZNES QOIDALARI MQTT orqali boshqarilishi kutilmoqda - bu dasturiy ta'minotda qattiq pishirilmagan.
*
* Ushbu faylda sozlash va ko'chadan tashqari
* muhim harakatlanuvchi qismlar
* on_bus_received va on_bus_complete static_i2c_callbacks.ino saytida
* va
* mqtt_publish va mqtt_callback static_mqtt.ino da
*
*/
#"type.h" ni qo'shing
#"VizJson.h" ni qo'shing
#"assimilyatsiya_bus.h" ni qo'shing
#"debug.h" ni qo'shing
#"config.h" ni qo'shing
#qo'shing

#qo'shing

// MQTT_MAX_PACKET_SIZE ni ~ 3000 ga sozlang (yoki sizning ehtiyojlaringizga deviceInfo json).

#qo'shing
#qo'shing
#qo'shing
#qo'shing
#qo'shing
// -------------------------------- Xotira deklaratsiyalari
// ------------------------------------------------ - belgilaydi
#defineDBG_OUTPUT_FLAG2 // 0, 1, 2 MINIMUMUM, RELEASE, FULL
#define_mqtt_pub_topic "outbox" // CROUTON CONVENTIONS
#de_mqtt_sub_topic "inbox" ni belgilang
// ------------------------------------------------ - sinf ob'ektlari
Debug _debug (DBG_OUTPUT_FLAG);
AssimilateBus _assimilate_bus;
VizJson _viz_json;
_Config_data -ni sozlash;
WiFiClient _esp_client;
PubSubClient _client (_esp_client);
WiFiUDP Udp;
ESP8266WebServer _server (80);
Neotimer _timer_property_request = Neotimer (5000);
// ------------------------------------------------ - ma'lumotlar tuzilmalari / o'zgaruvchilari
RuntimeDeviceData _runtime_device_data;
PropertyDto _dto_props [50]; // maksimal 10 ta qul x maksimal 5 ta xususiyat
// ------------------------------------------------ - nazorat qilish oqimi
volatilebool _sent_device_info = noto'g'ri;
bayt _dto_props_index = 0;
bool _fatal_error = noto'g'ri;
// -------------------------------- FUNKSIYA QO'LLANIShI BILANCHALARI
// ------------------------------------------------ - static_i2c_callbacks.ino
voidon_bus_received (bayt slave_address, bayt prop_index, Rol roli, char nomi [16], char qiymati [16]);
voidon_bus_complete ();
// ------------------------------------------------ - static_mqtt.ino
voidmqtt_callback (char* mavzu, bayt* yuk, imzosiz uzunlik);
voidmqtt_loop ();
int8_tmqtt_get_topic_index (char* mavzu);
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 (bayt manzili, bayt kodi, constchar *parametr);
// ------------------------------------------------ - static_server.ino
String server_content_type_get (String fayl nomi);
boolserver_path_in_auth_exclusion (String yo'l);
boolserver_auth_read (String yo'l);
boolserver_file_read (String yo'l);
voidserver_file_upload ();
voidserver_file_delete ();
voidserver_file_create ();
voidserver_file_list ();
voidserver_init ();
voidtime_services_init (char *ntp_server_name, bayt time_zone);
time_tget_ntp_time ();
voidsend_ntp_packet (IPAddress va manzil);
char *time_stamp_get ();
// ------------------------------------------------ - static_utility.ino
String spiffs_file_list_build (String yo'l);
voidreport_deserialize_error ();
voidreport_spiffs_error ();
boolcheck_fatal_error ();
boolget_json_card_type (bayt slave_adress, bayt prop_index, char *card_type);
boolget_struct_card_type (bayt slave_address, bayt prop_index, char *card_type);
boolget_json_is_series (bayt slave_adress, bayt prop_index);
voidstr_replace (char *src, constchar *oldchars, char *newchars);
bayt get_prop_dto_idx (bayt slave_adress, bayt prop_index);
// -------------------------------- ASOSIY
voidsetup () {
DBG_OUTPUT_PORT.begin (115200);
SetupDeviceData device_data;
Serial.println (); Serial.println (); // konsol axlatlari uchun chegara
kechikish (5000);
agar (DBG_OUTPUT_FLAG == 2) DBG_OUTPUT_PORT.setDebugOutput (rost);
_debug.out_fla (F ("sozlash"), to'g'ri, 2);
// kerakli konfiguratsiyani oling
agar (SPIFFS.begin ()) {
_debug.out_str (spiffs_file_list_build ("/"), rost, 2);
agar (! _config_data.get_device_data (device_data, _runtime_device_data)) {
report_deserialize_error ();
qaytish;
}
} boshqa {
report_spiffs_error ();
qaytish;
}
// device.json -da o'rnatilgan taymer qiymatidan foydalaning
_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 ();
// metadata to'plamini ishga tushiring
_assimilate_bus.get_metadata ();
_assimilate_bus.print_metadata_details ();
mqtt_ensure_connect ();
// metadata yig'ilishini yakunlash uchun sensor xossasi (ismlari) kerak
_assimilate_bus.get_properties (avtobusda_ qabul qilingan, avtobusda_to'liq);
_timer_property_request.reset (); // bu vaqtgacha ma'lum vaqt o'tishi mumkin, shuning uchun uni qaytadan boshlang
}
voidloop () {
agar (! check_fatal_error ()) qaytsa;
mqtt_loop ();
_server.handleClient ();
agar (_timer_property_request.repeat ()) {
_assimilate_bus.get_properties (avtobusda_ qabul qilingan, avtobusda_to'liq);
}
}

rawmqtt_crouton_esp8266_cors_webcomponents.ino ni GitHub ❤ tomonidan joylashtirilganini ko'rish.

5 -qadam: QURILMA KARTI

QURILMA KARTI
QURILMA KARTI
QURILMA KARTI
QURILMA KARTI
QURILMA KARTI
QURILMA KARTI
QURILMA KARTI
QURILMA KARTI

Qurilma kartasi (karta turi: assim-qurilma) veb-saytda joylashtirilgan va unga qurilmadan xizmat ko'rsatish shart emas (CORS).

Uning standart sahifalari ro'yxati:

  • Qurilmaga o'qish va yozish uchun MQTT mavzulari
  • Kirish nuqtasi qurilma ulangan
  • ACE EDITOR yordamida qurilmada joylashtirilgan SPIFFS fayl muharririga havola
  • Kartani ko'rsatish/yashirish sahifasini ochadigan ko'z belgisi.

Kartani ko'rsatish/yashirish sahifalari ro'yxati:

  • Har bir karta alohida element sifatida
  • Ko'rsatishda qalin ko'k shrift
  • Qora oddiy shrift yashiringanda
  • Karta turini tasvirlaydigan belgi.

Kartani yashirish uchun kartalardagi yashirish tugmachasini bosish yoki ro'yxatdagi ko'k-shriftli elementni bosish mumkin. Ro'yxatdagi qora-normal shriftli elementni bosish orqali kartalarni ko'rsatish mumkin.

Ma'lumot tostlari bu xususiyat bilan bog'liq. Agar deviceInfo -dagi so'nggi nuqtalardan birida ma'lumot xususiyati tayinlangan bo'lsa, kartadagi yashirish tugmasi yonida ma'lumot tugmasi ko'rsatiladi. Oxirgi nuqtada aniqlangan kontekstli ma'lumot bosilganda, oynaga "tushadi".

Agar qurilma kartasi aniqlanmagan bo'lsa, kartalarda yashirish tugmalari ko'rsatilmaydi. Buning sababi shundaki, bir marta yashirganingizda, ularni ko'rsatishning iloji yo'q.

ESP8266-dagi SPIFFS fayllari orqali assim-karta kartasini qanday qo'shish mumkinligi haqida ma'lumot olish uchun ENDPOINT CUSTOMIZATION ga qarang.

AssimilateCrouton veb -komponentasi

temir signallari>
div>
IKONI YOSHLASH
men> oraliq>
QURILMA FORMASI
MQTT TOPICSdiv>
/chiqish qutisi/{{endPointJson.device_name}}/*div>
/kirish qutisi/{{endPointJson.device_name}}/*div>
Wi -Fi SSIDdiv>
{{endPointJson.ssid}} div>
IP ADDRESSdiv>
{{endPointJson.ip_addr}} a> div>
div>
Ro'yxatni yashirish
element>qog'ozli element>
shablon>
qog'oz ro'yxati>
div>
crouton kartasi>
shablon>
dom-modul>

GitHub ❤ tomonidan joylashtirilgan rawassim-device.html-ni ko'ring

6 -qadam: WEEKVIEW kartasi

HAFTA KARTI
HAFTA KARTI
HAFTA KARTI
HAFTA KARTI
HAFTA KARTI
HAFTA KARTI

Haftalik ko'rish kartasi (karta turi: assim-weekview) qurilmada joylashgan (cors papkasi). U SPIFFS ga config/user_card _#. Json faylini qo'shish orqali AssimilateCrouton uchun chop etilgan deviceInfo paketiga kiritiladi (bu holda user_card_9.json).

UMUMIY

Ish kunlari vaqt oralig'i ro'yxati sifatida taqdim etiladi. Vaqt oralig'ining tafsilotlari config/user_card _#. Json da "interval_mins" xususiyati bilan o'rnatiladi. Bu bir soatning bir qismi yoki bir vaqtning ko'paytmasi bo'lishi kerak. 10, 15, 20, 30, 60, 120, 360. Vaqt oralig'ini bosish, o'sha vaqtda bog'liq qurilma uchun yoqilgan holatni tasdiqlaydi. Agar vaqt oralig'i hozir bo'lsa, darhol qurilma uchun buyruq yuboriladi (e'lon qilinadi). Odatda davlat har daqiqada tekshiriladi/e'lon qilinadi. Tanlovlar LocalStorage -da saqlanadi, shuning uchun vaqtlar brauzer yangilanishi bilan qayta yuklanadi.

VAZIYATLARDAN FOYDALANISH

Hozirgi holatida, haftalik ko'rish holati vizualizatsiya qilish uchun Toggle tugmachasini ishlatadigan qurilmalar uchun javob beradi, ya'ni ular yoqilgan yoki o'chirilgan va o'rnatilgandan so'ng ular shu holatda qoladilar. Chiroqlar, fanatlar va suv isitgichlari yaxshi nomzodlardir.

Cheklovlar/ogohlantirishlar

  • Interval_mins yuqorida ko'rsatilgan qiymatlardan biri bo'lishi kerak
  • Haftalik ko'rinish, shuningdek, rejalashtirilgan bir lahzali harakatlarni qo'llab -quvvatlamaydi, masalan, kuniga ikki marta qisqa (5 soniya) ochish.

Kelajak

  • Vaqtinchalik harakatlar qo'llab -quvvatlanishi kutilmoqda.
  • Jadvalni tanlash uchun qurilmalarda sinxronlangan saqlash joyi ko'rib chiqilmoqda.

7 -qadam: MAXSUS XUSUSIYATLARNI NUQTASI

FIRMWARE -da qisqacha aytib o'tilganidek, so'nggi nuqtalarni sozlash uchun SPIFFS fayl tizimiga 2 ta yangi konventsiya qo'shilgan. JSON fayllari MQTT brokeriga joylashtirilgan deviceInfo paketidagi so'nggi nuqta xususiyatiga qo'shiladigan bo'laklar bo'lib, ular asboblar paneli ta'rifiga aylanadi.

Oxirgi nuqtalarning kalitlari dasturiy ta'minotda yaratiladi:

  • User_card_base.json uchun CC_device (Maxsus karta)
  • _. Json foydalanuvchi_kartasi uchun CC_SLAVE_ENDPOINT NAME (# qul manzili)

Yuqorida aytib o'tilganidek, ish vaqtida qiymatlar almashtiriladigan o'zgaruvchilar mavjud:

  • mqtt_device_name
  • wifi_ssid
  • mahalliy_ip

user_card_base.json

Misol:

user_card _#. json

Misol:

8 -qadam: VIDEOS

Tavsiya: