Sisukord:

IOT123 - ASISIMILEERITUD ANTURI HUB: ICOS10 CORS VEEBIKOMPONENDID: 8 sammu
IOT123 - ASISIMILEERITUD ANTURI HUB: ICOS10 CORS VEEBIKOMPONENDID: 8 sammu

Video: IOT123 - ASISIMILEERITUD ANTURI HUB: ICOS10 CORS VEEBIKOMPONENDID: 8 sammu

Video: IOT123 - ASISIMILEERITUD ANTURI HUB: ICOS10 CORS VEEBIKOMPONENDID: 8 sammu
Video: Починить плату управления инвертором холодильника Samsung? Проверено другим специалистом 2024, Juuli
Anonim
IOT123 - ASISIMILEERITUD SENSORI HUB: ICOS10 CORS VEEBIKOMPONENDID
IOT123 - ASISIMILEERITUD SENSORI HUB: ICOS10 CORS VEEBIKOMPONENDID
IOT123 - ASISIMILEERITUD ANTURI HUB: ICOS10 CORS VEEBIKOMPONENDID
IOT123 - ASISIMILEERITUD ANTURI HUB: ICOS10 CORS VEEBIKOMPONENDID

ASSIMILATE SENSOR/ACTOR Slaves manustab metaandmeid, mida kasutatakse Croutoni määratlevate visualiseerimiste jaoks. See ehitis erineb pisut eelmistest; riistvara muudatusi pole. Püsivara toetab nüüd kohandatud (rikkamate) toimetajate majutamist, mida saab integreerida AssimilateCroutoni uusimasse versiooni. Selles artiklis pööratakse rohkem tähelepanu püsivara ja MQTT armatuurlaua selgitamisele.

Üks veebikomponentide teenindamise eeliseid nende juhitavast seadmest on see, et seadme täpsem juhtimine on piiratud võrguga, millega seade on ühendatud: teie WiFi pääsupunktiga. Kuigi kui kasutate MQTT -serverit koos autentimisega, on kaitse sarnasus, võib avalikes võrkudes brauserist hetkeks lahkudes (AssimilateCroutoni veebisait) keegi teie automaatikaseadmeid sisse juhtida. See CORSi veebikomponendi funktsioon võimaldab näidikuid (temperatuur, valgustase, niiskus) avalikult kuvada ja käsufunktsioone (sisse/välja, ajastamine) kasutada ainult seadme võrgus.

Seadmes toetatakse endiselt kõiki veebiserveri funktsioone, millel on SPIFFS -is autentimine ja hostimine, kuid erilist tähelepanu on pööratud CORS (Cross Origin Resource Sharing) toele Polymer WebComponents (Crouton kasutab Polymer 1.4.0).

AssimilateCroutonis (Assimilate IOT võrgu jaoks kasutatav Croutoni kahvel) on muudatused hõlmatud

  • seadmekaardi (assim-seade) tugi, mis muu hulgas näitab ja peidab kasutajale seadme jaoks eraldi kaarte
  • info atribuut kõigil kaartidel, mis näitab kaardi jaoks kasulikku kontekstipõhist teavet
  • CORS -i veebikomponentide tugi, sel juhul majutatakse seadme veebiserveris (ESP8266).

Samm: KROUTON

KROUTON
KROUTON
KROUTON
KROUTON

Croutonis armatuurlaud, mis võimaldab teil IOT -seadmeid visualiseerida ja juhtida minimaalse seadistusega. Põhimõtteliselt on see kõige lihtsam armatuurlaud IOT riistvarahuvilistele, kes kasutavad ainult MQTT -d ja JSON -i.

ASSIMILATE ORJAD (andurid ja osalejad) omavad metaandmeid ja atribuute, mida kapten kasutab seadme loomisel teabeinfo json paketis, mida Crouton kasutab armatuurlaua ehitamiseks. Vahendaja ASSIMILATE NODES ja Croutoni vahel on MQTT maakler, kes on veebipesade jaoks sõbralik: demo jaoks kasutatakse sääski.

Kuna ASSIMILATE MASTER taotleb atribuute, vormindab see vastuse väärtused Croutoni värskenduste jaoks nõutavas vormingus. AssimilateCroutoni kahvel lisab mõningaid funktsioone, mis võimaldavad teil detsentraliseerida teie seadet käitavaid ärireegleid, st IOT -seade ei vaja mingeid sisseehitatud ärireegleid, see on lihtsalt MQTT/I2C -side loomine targematele (ATTINY -juhitud) orjaosalistele ja anduritele.

2. etapp: ASIMILEERI KROUTON

ASISIMILEERI KROUTON
ASISIMILEERI KROUTON

MUUTUSED KROOONILE

Kahveldatud versiooni muudatused hõlmavad järgmist:

  • kui lõpp -punktil on määratud tee atribuut, teeb kaardi veebikomponent CORS -i ressursi jaoks HTMLImporti (selle ehituse ESP8266 veebiserver).
  • CORSi veebikomponendist ülesvoolu (sõltuvustest) eelnevatele ressurssidele viidatakse nii, nagu neid serveeritaks Croutoni veebisaidilt; kui neil ei õnnestu eranditöötlejat laadida, suunab teed ja laadib veebisaidilt uuesti.
  • paremas ülanurgas kuvatakse praegune kohalik aeg, mis on kasulik kontrollimise ajastamiseks.

POLÜMERI SÕLTUMISED JA SÜGID

Polümeerist sõltuvuspuu lehti saab hostida CORSis. Kuna juurusõltuvusi võib rakenduses mitu korda kasutada, ei saa neile viidata kahest kohast (veebisaidilt ja seadmest), kuna polümeerimooduli laadija käsitleb neid kahe eraldiseisva ressursina ja mitu registreerimisviga jätavad rakenduse kiiresti lesta.

Sel põhjusel on kaardi veebikomponent (HTML -fail punktis 1.4.0) ja sellega seotud CSS -fail ainsad seadmes hostitavad failid. Teistele sõltuvustele viidatakse nii, nagu oleks veebikomponent hostitud pärit veebisaidi kaustas "html", mis hõlbustab selle kausta veebikomponentide arendamist, kuni olete valmis ESP8266 -s SPIFFS -i üles laadima. AssimilateCrouton töötab välja, kuidas õigeid faile hankida.

PAIGALDAMINE

originaal Croutoni looja edfungus kirjutas allika väljaandesse Pug/Less ja tal oli NPM/Grunt tööriistakett. Renderdasin Pug/Less HTML/css -ks ja lihtsalt redigeerisin/levitasin renderdatud faile. See murdis NPM/Grunt tööriistaketi. Selle parandamist käsitletakse peatükis TULEVIK.

Saate juhtpaneeli kohapeal oma DEV -kastis testida.

  • Juurekausta käsurealt
  • npm algus
  • lite-server käivitatakse aadressil https:// localhost: 10001

Juurutamine staatilisse veebiserverisse:

  • kopeerige kõik kaustad, välja arvatud node_modules
  • kopeeri index.html (ja võib -olla ka web.config)

TULEVIK

Üks peamisi eesmärke on minna üle versioonile Polymer3 ja töötada Polymer CLI -ga. Täiustatud toimetajate ja raamistiku lisamine IOT -i arendajatele oma arendamiseks on kõrge prioriteet. Lõpuks käivitatakse täiustatud automatiseeritud süsteem täielikult eraldatud MQTT klientidelt nagu AssimilateCrouton.

AssimilateCroutoni jaoks kasutatava seadmeinfo paketi näide:

{
"deviceInfo": {
"endPoints": {
"CC_seade": {
"seadme_nimi": "ash_mezz_A3",
"kaardi tüüp": "assim-seade",
"ssid": "Corelines_2",
"ip_addr": "192.168.8.104",
"lõpp -punktid": [
{
"title": "Kasvatage tuled",
"kaardi tüüp": "crouton-simple-toggle",
"lõpp -punkt": "lüliti"
},
{
"title": "Istutustuled",
"kaardi tüüp": "crouton-assim-weekview",
"lõpp -punkt": "CC_switch"
}
]
},
"CC_ lüliti": {
"kaardi tüüp": "assim-weekview",
"info": "Lülitage tuled sisse või välja 15 -minutiliste ajavahemike järel",
"tee": "https://192.168.8.104/cors",
"title": "Istutustuled",
"interval_mins": 15,
"väärtused": {
"väärtus": ""
}
},
"lüliti": {
"title": "Kasvatage tuled",
"kaardi tüüp": "crouton-simple-toggle",
"info": "Lülitage tuled ad hoc sisse või välja",
"sildid": {
"false": "OFF",
"tõsi": "SEES"
},
"ikoonid": {
"false": "sun-o",
"tõsi": "päike"
},
"väärtused": {
"väärtus": 0
}
}
},
"olek": "hea",
"nimi": "ash_mezz_A3",
"kirjeldus": "Ashmore'i kontor, Mezzanine, piirkond A2",
"värv": "#4D90FE"
}
}

vaadake rawdeviceInfo.json, mille hostiks on GitHub ❤

3. samm: SEADME KOKKUPANEK

SEADME KOKKUPANEK
SEADME KOKKUPANEK
SEADME KOKKUPANEK
SEADME KOKKUPANEK
SEADME KOKKUPANEK
SEADME KOKKUPANEK

Kuna riistvara muudatusi ei toimu, on siin lingid asjakohasele teabele:

  • Kesta kokkupanek
  • Materjalid ja tööriistad
  • MCU ettevalmistamine
  • MCU korpuse ettevalmistamine
  • Slaves Low-Side Switch/RESET tütareplaadi ehitamine
  • Peamiste komponentide kokkupanek

4. samm: FIRMWAREAR

FIRMWAREAR
FIRMWAREAR
FIRMWAREAR
FIRMWAREAR
FIRMWAREAR
FIRMWAREAR
FIRMWAREAR
FIRMWAREAR

PÕHIMUUTUSED SEE EHITUS

Selleks, et rakendus AssimilateCrouton saaks seadmest kasutada CORS -i ressursse, tuli vastuste päised teatud viisil konfigureerida. Seda rakendati selles püsivara väljalaskes (static_server.ino => server_file_read ()).

Samuti pidi polümeeri peamine sõltuvusgraafik olema pärit ühest päritolust. Kasutati strateegiat, et lisada veahaldur (corsLinkOnError) SPIFFS CORS -failidesse, et ressursid uuesti laadida AssimilateCroutoni veebisaidilt, kui neid seadmest ei leita.

SPIFFS -failisüsteemi on lisatud 2 uut konventsiooni seadmeinfos loodud lõpp -punktide kohandamiseks - mida AssimilateCrouton kasutab armatuurlaua kaartide loomiseks:

  • /config/user_card_base.json Lõpp -punkti määratlus, kus esmalt vahetatakse käitusaja muutujad:,,. Tavaliselt lisatakse sinna assim-seadme kaart. See ei suhtle seadmega tagasi.
  • /config/user_card_#.json Lõpp -punkti määratlus, kus esmalt vahetatakse käitusaja muutujad:,,. See on tavaliselt koht, kus rikkalikud toimetajad, näiteks assim-weekview kaart, lisatakse ühendatuna #-ga seotud I2C orja (näitleja/andur) külge.

Sketš/RAAMATUKOGUD

Selles etapis on projekt pakitud AssimilateBus Arduino raamatukogu näitena. Seda peamiselt selleks, et Arduino IDE -st oleks kõikidele vajalikele failidele lihtne juurde pääseda. Peamised koodiartiklid on:

  • mqtt_crouton_esp8266_cors_webcomponents.ino - peamine sisenemispunkt.
  • assimilate_bus.h/assimilate_bus.cpp - raamatukogu, mis tegeleb I2C suhtlemisega alamanduri/näitlejatega
  • VizJson.h/VizJson.cpp - raamatukogu, mis vormindab/ehitab kõiki MQTT kaudu avaldatud JSON -e
  • config.h/config.cpp - raamatukogu, mis loeb/kastib/kirjutab konfiguratsioonifaile SPIFFS -is
  • static_i2c_callbacks.ino - vastuvõetud vara I2C tagasikutsumised ja orjade taotluste tsükkel on täielik static_mqtt.ino - MQTT funktsioonid
  • static_server.ino - veebiserveri funktsioonid
  • static_utility.ino - abistaja funktsioonid

Staatilisi INO funktsioone kasutati (teekide asemel) erinevatel põhjustel, kuid peamiselt selleks, et veebiserveri ja MQTT funktsioonid saaksid hästi koos mängida.

SPIFFI RESSURSID

SPIFFS -failide üksikasjalikud selgitused leiate siit.

  • favicon.ico - ressurss, mida kasutab Ace Editor
  • config

    • device.json - seadme konfiguratsioon (Wifi, MQTT …)
    • slave_metas _#. json - genereeritakse käitusajal iga orja aadressi numbri (#) jaoks
    • user_card _#. json - kohandatud lõpp -punkt, mis tuleb seadmesse integreerida iga alam aadressi numbri (#) jaoks
    • user_card_base.json - kohandatud lõpp -punkt, mis tuleb seadme DeviceInfo -sse integreerida
    • user_meta _#. json - kohandatud metaandmed alistavad alamate iga alam aadressi numbri (#)
    • user_props.json - kohandatud atribuutide nimed, mis alistavad orjade metaandmetes olevad nimed
  • cors

    • card -webcomponent.css - stiilileht erinevate kohandatud kaartide jaoks
    • card -webcomponent.html - erinevate kohandatud kaartide veebikomponent
  • toimetaja
    • assimilate -logo-p.webp" />
    • edit.htm.gz - Ace Editori HTML -i gzip
    • edit.htm.src - Ace Editori algne HTML
    • favicon -32x32-p.webp" />

FIRMWAREARI LAADIMINE

  • Koodide hoidla leiate siit (hetktõmmis).
  • Raamatukogu ZIP -i leiate siit (hetktõmmis).
  • Siit leiate juhised "ZIP -kogu importimiseks".
  • Kui kogu on installitud, saate avada näite "mqtt_crouton_esp8266_cors_webcomponents".
  • Juhised Arduino seadistamiseks Wemos D1 Mini jaoks siin.
  • Sõltuvused: ArduinoJson, TimeLib, PubSubClient, NeoTimer (vaadake manuseid, kui hoidlate muudatusi rikutakse).

LAADI SPIFFIDELE

Kui kood on Arduino IDE -sse laaditud, avage kaust data/config: device.json:

  • Muutke wifi_ssid väärtust oma WiFi SSID -ga.
  • Muutke wifi_key väärtust oma WiFi võtmega.
  • Muutke mqtt_device_name väärtust oma eelistatud seadme identifitseerimisega (liitumist pole vaja).
  • Muutke mqtt_device_description väärtust oma eelistatud seadme kirjeldusega (Croutonis).
  • Salvestage device.json.
  • Laadige andmefailid üles SPIFFS -i.

AssimilateBusi näite peamine sisenemispunkt:

/*
*
*SEADME ÄRIREEGLEID Eeldatakse, et neid kontrollitakse MQTT abil
*
* Muud kui seadistamine ja silmus selles failis
* olulised liikuvad osad on
* on_bus_received ja on_bus_complete saidil static_i2c_callbacks.ino
* ja
* mqtt_publish ja mqtt_callback saidil static_mqtt.ino
*
*/
#include "types.h"
#include "VizJson.h"
#include "assimilate_bus.h"
#include "silumine.h"
#include "config.h"
#kaasake

#kaasake

// määrake MQTT_MAX_PACKET_SIZE väärtuseks ~ 3000 (või teie vajadustele seadmeinfo kohta)

#kaasake
#kaasake
#kaasake
#kaasake
#kaasake
// -------------------------------- MÄLUDEKLARATSIOONID
// ------------------------------------------------ - määratleb
#defineDBG_OUTPUT_FLAG2 // 0, 1, 2 MIINIMUM, VABASTAMINE, TÄIS
#define_mqtt_pub_topic "outbox" // CROUTON CONVENTIONS
#define_mqtt_sub_topic "postkast"
// ------------------------------------------------ - klassi objektid
Silumine _debug (DBG_OUTPUT_FLAG);
Assimilatsioonibuss _assimilaatibuss;
VizJson _viz_json;
Config _config_data;
WiFiClient _esp_client;
PubSubClient _klient (_esp_client);
WiFiUDP Udp;
ESP8266WebServer _server (80);
Neotimer _timer_property_request = Neotimer (5000);
// ------------------------------------------------ - andmestruktuurid / muutuja
RuntimeDeviceData _runtime_device_data;
PropertyDto _dto_props [50]; // max 10 orja x max 5 atribuuti
// ------------------------------------------------ - voolu reguleerimine
volatilebool _sent_device_info = vale;
bait _dto_props_index = 0;
bool _fatal_error = vale;
// -------------------------------- FUNKTSIOONI RAKENDUSALA DEKLARATSIOONID
// ------------------------------------------------ - static_i2c_callbacks.ino
voidon_bus_received (bait slave_address, byte prop_index, Roll roll, char name [16], char value [16]);
voidon_bus_complete ();
// ------------------------------------------------ - static_mqtt.ino
voidmqtt_callback (char* teema, bait* kasulik koormus, unsignedint pikkus);
voidmqtt_loop ();
int8_tmqtt_get_topic_index (char* teema);
voidmqtt_init (constchar* wifi_ssid, constchar* wifi_parool, constchar* mqtt_broker, int mqtt_port);
voidmqtt_create_subscriptions ();
voidmqtt_publish (char *root_topic, char *deviceName, char *lõpp -punkt, constchar *kasulik koormus);
boolmqtt_ensure_connect ();
voidmqtt_subscribe (char *root_topic, char *deviceName, char *lõpp -punkt);
voidi2c_set_and_get (baidiaadress, baitkood, constchar *param);
// ------------------------------------------------ - static_server.ino
String server_content_type_get (Stringi failinimi);
boolserver_path_in_auth_exclusion (String tee);
boolserver_authread (stringitee);
boolserver_file_read (stringitee);
voidserver_file_upload ();
voidserver_file_delete ();
voidserver_file_create ();
voidserver_file_list ();
voidserver_init ();
voidtime_services_init (char *ntp_server_name, bait time_zone);
time_tget_ntp_time ();
voidsend_ntp_packet (IPAddress & address);
char *time_stamp_get ();
// ------------------------------------------------ - static_utility.ino
String spiffs_file_list_build (String tee);
voidreport_deserialize_error ();
voidreport_spiffs_error ();
boolcheck_fatal_error ();
boolget_json_card_type (baitide orja_aadress, bait prop_index, char *kaardi_tüüp);
boolget_struct_card_type (baitide orja_aadress, bait prop_index, char *kaardi_tüüp);
boolget_json_is_series (bait slave_address, bait prop_index);
voidstr_replace (char *src, constchar *oldchars, char *newchars);
bait get_prop_dto_idx (bait slave_address, bait prop_index);
// -------------------------------- PÕHILINE
voidsetup () {
DBG_OUTPUT_PORT.begin (115200);
SetupDeviceData seadme_andmed;
Serial.println (); Serial.println (); // varu konsooli prügi jaoks
viivitus (5000);
kui (DBG_OUTPUT_FLAG == 2) DBG_OUTPUT_PORT.setDebugOutput (tõene);
_debug.out_fla (F ("setup"), tõsi, 2);
// hangi vajalik konfiguratsioon
kui (SPIFFS.begin ()) {
_debug.out_str (spiffs_file_list_build ("/"), tõsi, 2);
kui (! _config_data.get_device_data (seadme_andmed, _runtime_device_data)) {
report_deserialize_error ();
tagasipöördumine;
}
} muud {
report_spiffs_error ();
tagasipöördumine;
}
// kasutage seadmes device.json määratud taimeriväärtust
_timer_property_request.set (device_data.sensor_interval);
mqtt_init (seadme_andmed.wifi_ssid, seadme_andmed.wifi_võti, seadme_andmed.mqtt_broker, seadme_andmed.mqtt_port);
time_services_init (seadme_andmed.ntp_server_name, device_data.time_zone);
server_init ();
// käivitada metaandmete kogu
_assimilate_bus.get_metadata ();
_assimilate_bus.print_metadata_andmed ();
mqtt_ensure_connect ();
// vajab metaandmete kogumise lõpuleviimiseks anduri atribuuti (nimesid)
_assimilate_bus.get_properties (on_bus_received, on_bus_complete);
_timer_property_request.reset (); // võib selle ajani märgatavat aega mööda minna, nii et alustage uuesti
}
voidloop () {
if (! check_fatal_error ()) return;
mqtt_loop ();
_server.handleClient ();
if (_timer_property_request.repeat ()) {
_assimilate_bus.get_properties (on_bus_received, on_bus_complete);
}
}

vaata rawmqtt_crouton_esp8266_cors_webcomponents.ino, mille hostiks on GitHub ❤

5. samm: SEADMEKAART

SEADMEKAART
SEADMEKAART
SEADMEKAART
SEADMEKAART
SEADMEKAART
SEADMEKAART
SEADMEKAART
SEADMEKAART

Seadmekaart (kaardi tüüp: assim-seade) on veebisaidil hostitud ja seda pole vaja seadmest (CORS) esitada.

Selle vaikelehtede loendid:

  • MQTT teemad seadmesse lugemiseks ja kirjutamiseks
  • Pöörduspunkt, millega seade on ühendatud
  • Link seadmesse hostitud SPIFFS -failiredaktori juurde ACE EDITORi abil
  • Silmaikoon, mis avab kaardi kuvamise/peitmise lehe.

Kaardi kuvamise/peitmise lehtede loendid:

  • Iga kaart eraldi üksusena
  • Näitamisel paks sinine font
  • Peidetud must tavaline font
  • Kaardi tüüpi kujutav ikoon.

Kaardi saab peita, klõpsates kaartidel peitmisnupul või loendis sinise-rasvases kirjas kirjega. Kaarte saab kuvada, kui klõpsate loendis musta tavalise fondiga üksust.

Selle funktsiooniga on lõdvalt seotud info röstsaiad. Kui seadme DeviceInfo mõnele lõpp -punktile on määratud info atribuut, kuvatakse kaardil peitmisnupu kõrval teabenupp. Kui klõpsate, kuvatakse lõpp -punktis määratletud kontekstipõhine teave aknasse "röstitud".

Kui seadmekaart pole määratletud, ei kuvata kaartidel peitmisnuppe. Seda seetõttu, et kui need on peidetud, pole neid enam võimalik näidata.

Vt ENDPOINT CUSTOMIZATION, et saada üksikasjalikku teavet selle kohta, kuidas assim-seadme kaarti saab lisada ESP8266 SPIFFS-failide kaudu.

AssimilateCroutoni veebikomponent

raudsignaalid>
div>
NÄIDA PEIDA Ikoon
i> span>
SEADME VORM
MQTT TEEMADdiv>
/outbox/{{endPointJson.device_name}}/*div>
/postkast/{{endPointJson.device_name}}/*div>
WIFI SSIDdiv>
{{endPointJson.ssid}} div>
IP -AADRESSdiv>
{{endPointJson.ip_addr}} a> div>
div>
Näita peidetud loendit
element>paber-ese>
mall>
paber-loendikast>
div>
crouton-kaart>
mall>
dom-moodul>

vaadake rawassim-device.html, mille hostiks on GitHub ❤

6. samm: NÄDALAVAADE KAART

NÄDALAVAADE KAART
NÄDALAVAADE KAART
NÄDALAVAADE KAART
NÄDALAVAADE KAART
NÄDALAVAADE KAART
NÄDALAVAADE KAART

Nädalakaart (kaardi tüüp: assim-weekview) on seadmes hostitud (kausta cors). See süstitakse AssimilateCroutoni jaoks avaldatud seadmeinfo paketti, lisades faili SPIFFS (antud juhul kasutaja_kaart_9.json) faili config/user_card _#. Json.

ÜLEVAADE

Argipäevad esitatakse ajavahemike loenditena. Ajavahemiku täpsus määratakse atribuudiga "interval_mins" konfiguratsioonis/kasutaja_kaardil _#. Json. See peab olema tunni murdosa või tunni kordajad nt. 10, 15, 20, 30, 60, 120, 360. Ajapilul klõpsates veenduge, et selle aja jooksul on seotud seadmele sisse lülitatud olek. Kui ajavahemik on praegu, saadetakse seadme jaoks kohe käsk (avaldatakse). Tavaliselt kontrollitakse/avaldatakse olekut iga minuti järel. Valikud salvestatakse LocalStorage'i, nii et ajad laaditakse uuesti brauseri värskendamisega.

KASUTA KOHTU

Nädalavaade sobib praeguses olekus seadmetele, mis saavad oma oleku visualiseerimiseks kasutada lülitit Toggle, st need on sisse või välja lülitatud ja pärast seadistamist jäävad nad sellesse olekusse. Tuled, ventilaatorid ja veesoojendid on head kandidaadid.

PIIRANGUD/TÄHELEPANUD

  • Intervall_mins peab olema üks ülalnimetatud väärtustest
  • Nädalavaade ei toeta ka hetke toiminguid, mis on samuti planeeritud, näiteks lühikese aja (5 sekundit) sisse lülitamine kaks korda päevas.

TULEVIK

  • Eeldatakse, et hetkelisi meetmeid toetatakse.
  • Ajakava valimisel kaalutakse seadmete sünkroonitud salvestusruumi.

Samm 7: ENDPOINT CUSTOMIZATION

Nagu FIRMWARE'is lühidalt mainitud, on lõpp -punktide kohandamiseks SPIFFS -failisüsteemi lisatud 2 uut tava. JSON -failid on fragmendid, mis lisatakse MQTT maaklerile postitatud seadmeinfo paketi lõpp -punktide atribuudile, millest saab armatuurlaua määratlus.

Lõpp -punktide võtmed genereeritakse püsivaras:

  • CC_device (kohandatud kaart) kasutaja_card_base.json jaoks
  • CC_SLAVE_ENDPOINT NAME kasutajakaardi _#. Json jaoks (# on orja aadress)

Nagu varem mainitud, on muutujaid, mis asendatakse väärtused käitusajal:

  • mqtt_seadme_nimi
  • wifi_ssid
  • local_ip

user_card_base.json

Näide:

kasutaja_kaart _#. json

Näide:

8. samm: VIDEOD

Soovitan: