Turinys:
- 1 žingsnis: KROUTONAS
- 2 žingsnis: ASIMILIUOKITE KROUTONĄ
- 3 žingsnis: ĮRENGINIO SURINKIMAS
- 4 žingsnis: FIRMWARE
- 5 veiksmas: ĮRENGINIO KORTELĖ
- 6 veiksmas: SAVAITGALIO KORTELĖ
- 7 veiksmas: ENDPOINT CUSTOMIZATION
- 8 žingsnis: VIDEO
Video: IOT123 - ASIMILIUOTOJO JUTIKLIO HUB: ICOS10 CORS TINKLAKOMPONENTAI: 8 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-31 10:22
ASSIMILATE SENSOR/ACTOR Slaves įterpia metaduomenis, kurie naudojami apibrėžiant vizualizacijas Crouton. Ši konstrukcija šiek tiek skiriasi nuo ankstesnių; aparatūros pakeitimų nėra. Programinė įranga dabar palaiko pritaikytų (turtingesnių) redaktorių, kuriuos galima integruoti į naujausią „AssimilateCrouton“versiją, prieglobą. Šiame straipsnyje daugiau dėmesio bus skirta programinės įrangos ir MQTT prietaisų skydelio paaiškinimui.
Vienas iš žiniatinklio komponentų aptarnavimo iš valdomo įrenginio pranašumų yra tas, kad pažangesnis įrenginio valdymas galimas tik tinkle, prie kurio įrenginys prijungtas: jūsų „WiFi“prieigos taške. Nors kai naudojate MQTT serverį su autentifikavimu, apsauga yra panaši, tačiau viešuosiuose tinkluose, jei akimirksniu paliksite naršyklę („AssimilateCrouton“svetainė), kažkas gali prisijungti ir valdyti jūsų automatikos įrenginius. Ši CORS žiniatinklio komponento funkcija leidžia rodmenis (temperatūra, apšvietimo lygis, drėgmė) rodyti viešai ir komandų funkcijas (įjungti/išjungti, planavimą) tik prietaisu tinkle.
Įrenginyje vis dar palaikomos visos žiniatinklio serverio funkcijos su autentifikavimu ir priegloba SPIFFS, tačiau ypatingas dėmesys buvo skiriamas CORS (Cross Origin Resource Sharing) palaikymui, skirtam „Polymer WebComponents“(„Crouton“naudoja „Polymer 1.4.0“).
„AssimilateCrouton“(„Crouton“šakutė, naudojama „Assimilate IOT Network“) pakeitimai apima
- įrenginio kortelės („assim-device“) palaikymas, kuris, be kita ko, parodo ir slepia vartotojui atskiras įrenginio korteles
- informacijos ypatybė visose kortelėse, kurioje rodoma toste naudingos kortelės kontekstinės informacijos
- CORS žiniatinklio komponentų palaikymas, šiuo atveju priglobtas įrenginio žiniatinklio serveryje (ESP8266).
1 žingsnis: KROUTONAS
„Croutonis“prietaisų skydelis, leidžiantis vizualizuoti ir valdyti savo IOT įrenginius su minimalia sąranka. Iš esmės tai yra paprasčiausias prietaisų skydelis, kurį gali nustatyti bet kuris IOT aparatūros entuziastas, naudodamas tik MQTT ir JSON.
ASSIMILATINIAI VERGIAI (jutikliai ir veikėjai) turi įterptus metaduomenis ir savybes, kurias meistras naudoja kurdamas įrenginio informaciją „infos json“, kurią „Crouton“naudoja kurdamas prietaisų skydelį. Tarpininkas tarp ASSIMILATE NODES ir „Crouton“yra MQTT brokeris, kuris yra draugiškas interneto lizdams: demonstravimui naudojamas Mosquito.
Kadangi ASSIMILATE MASTER prašo ypatybių, jis formuoja atsakymo reikšmes reikiamu formatu, kad atnaujintų „Crouton“. „AssimilateCrouton“šakutė papildo kai kurias funkcijas, leidžiančias decentralizuoti jūsų įrenginį veikiančias verslo taisykles, ty IOT įrenginiui nereikia jokių įterptųjų verslo taisyklių, tai tik MQTT/I2C ryšio kanalas protingesniems (ATTINY valdomiems) vergams ir jutikliams.
2 žingsnis: ASIMILIUOKITE KROUTONĄ
KROUTONO PAKEITIMAI
Šakinės versijos pakeitimai apima:
- jei galutiniame taške yra apibrėžta kelio ypatybė, kortelės žiniatinklio komponentas atliks HTMLImport CORS ištekliui (šio komponavimo ESP8266 žiniatinklio serveris).
- visi ištekliai, esantys prieš CORS žiniatinklio komponentą (priklausomybę), yra nurodomi taip, tarsi jie būtų teikiami iš „Crouton“svetainės; kai jiems nepavyksta įkelti išimčių tvarkytojo, jis perkelia kelius ir įkelia iš svetainės.
- dabartinis vietos laikas rodomas viršuje dešinėje, tai naudinga planuojant patvirtinimą.
POLIMERINĖS PRIKLAUSOMYBĖS IR CORS
Polimerų priklausomybės medžio lapai gali būti priglobti CORS. Kadangi pagrindinės priklausomybės programoje gali būti naudojamos kelis kartus, jų negalima nurodyti iš dviejų vietų (svetainės ir įrenginio), nes „Polymer Module Loader“jas laiko dviem atskirais ištekliais ir daugybe registracijos klaidų greitai užklumpa programą.
Dėl šios priežasties kortelės žiniatinklio komponentas (HTML failas 1.4.0) ir susijęs CSS failas yra vieninteliai įrenginyje priglobti failai. Kitos priklausomybės nurodomos taip, tarsi žiniatinklio komponentas būtų priglobtas kilmės svetainės aplanke „html“, o tai leidžia lengvai kurti to aplanko žiniatinklio komponentus, kol jie nebus paruošti įkelti į SPIFFS naudojant ESP8266. „AssimilateCrouton“išsiaiškins, kaip gauti teisingus failus.
PLĖTIMAS
„Edfungus“originalaus „Crouton“kūrėjas parašė šaltinį „Pug/Less“ir turėjo „NPM/Grunt“įrankių grandinę. Aš padariau „Pug/Less“kaip HTML/css ir tiesiog redagavau/platinau pateiktus failus. Tai sulaužė NPM/Grunt įrankių grandinę. Tai ištaisoma skyriuje ATEITIS.
Prietaisų skydelį galite išbandyti savo DEV dėžutėje:
- Iš komandinės eilutės šakniniame aplanke
- npm pradžia
- „Lite-server“yra sukurtas https:// localhost: 10001
Diegti į statinį žiniatinklio serverį:
- nukopijuokite visus aplankus, išskyrus node_modules
- kopijuoti index.html (ir galbūt web.config)
ATEITIS
Vienas iš pagrindinių tikslų yra atnaujinti į „Polymer3“ir dirbti iš „Polymer CLI“. Didelis prioritetas yra pridėti pažangių redaktorių ir sistemą, kad IOT kūrėjai galėtų kurti savo. Galų gale pažangi automatinė sistema bus visiškai paleista iš atsietų MQTT klientų, tokių kaip „AssimilateCrouton“.
„AssimilateCrouton“naudojamo „deviceInfo“paketo pavyzdys:
{ |
"deviceInfo": { |
"endPoints": { |
"CC_ prietaisas": { |
"device_name": "ash_mezz_A3", |
"card-type": "assim-device", |
"ssid": "Corelines_2", |
"ip_addr": "192.168.8.104", |
"baigtys": [ |
{ |
"title": "Grow Lights", |
"card-type": "crouton-simple-toggle", |
"galutinis taškas": "jungiklis" |
}, |
{ |
"title": "Sodinamosios lemputės", |
"kortelės tipas": "crouton-assim-weekview", |
"endpoint": "CC_switch" |
} |
] |
}, |
"CC_jungiklis": { |
"card-type": "assim-weekview", |
"info": "Įjunkite arba išjunkite šviesą per 15 minučių laiko tarpą", |
"kelias": "https://192.168.8.104/cors", |
"title": "Sodinamosios lemputės", |
"interval_mins": 15, |
"vertės": { |
"vertė": "" |
} |
}, |
"jungiklis": { |
"title": "Grow Lights", |
"card-type": "crouton-simple-toggle", |
"info": "Ad hoc įjunkite arba išjunkite šviesas", |
"etiketės": { |
"false": "OFF", |
"tiesa": "ĮJUNGTA" |
}, |
"piktogramos": { |
"false": "sun-o", |
"tiesa": "saulė" |
}, |
"vertės": { |
„vertė“: 0 |
} |
} |
}, |
"statusas": "geras", |
"pavadinimas": "ash_mezz_A3", |
"description": "Biuras Ashmore, Mezzanine, A2 zona", |
"spalva": "#4D90FE" |
} |
} |
peržiūrėkite „rawdeviceInfo.json“, kurį su „❤“priglobia „GitHub“
3 žingsnis: ĮRENGINIO SURINKIMAS
Kadangi nėra techninės įrangos pakeitimų, čia yra nuorodos į atitinkamą informaciją:
- Korpuso surinkimas
- Medžiagos ir įrankiai
- MCU paruošimas
- MCU būsto paruošimas
- Slave žemos pusės jungiklio/RESET dukterinės plokštės kūrimas
- Pagrindinių komponentų surinkimas
4 žingsnis: FIRMWARE
PAGRINDINIAI ŠIO PASTATO PAKEITIMAI
Kad programa „AssimilateCrouton“galėtų naudoti CORS išteklius iš įrenginio, atsakymų antraštes reikėjo sukonfigūruoti tam tikru būdu. Tai buvo įgyvendinta šioje programinės įrangos versijoje (static_server.ino => server_file_read ()).
Taip pat pagrindinė polimero priklausomybės diagrama turėjo būti iš vienos kilmės. Buvo naudojama strategija, skirta pridėti klaidų tvarkyklę (corsLinkOnError) prie SPIFFS CORS failų, kad būtų galima iš naujo įkelti išteklius iš „AssimilateCrouton“svetainės, kai jie nerandami įrenginyje.
Į SPIFFS failų sistemą įtrauktos 2 naujos konvencijos, skirtos pritaikyti „deviceInfo“sukurtus galinius taškus, kuriuos „AssimilateCrouton“naudoja kuriant prietaisų skydelio korteles:
- /config/user_card_base.json Galinio taško apibrėžimas, pirmiausia pakeitus vykdymo laiko kintamuosius:,,. Paprastai čia bus pridėta įrenginio kortelė. Tai nebendrauja su įrenginiu.
- /config/user_card_#.json Galinio taško apibrėžimas, pirmiausia pakeitus vykdymo laiko kintamuosius:,,. Paprastai tokie turtingi redaktoriai, kaip antai savaitės peržiūros kortelė, bus prijungti prie „I2C“vergo (aktoriaus/jutiklio), susijusio su #.
ESKYBAS/BIBLIOTEKOS
Šiame etape projektas buvo supakuotas kaip „AssimilateBus Arduino“bibliotekos pavyzdys. Tai daugiausia skirta tam, kad visi reikalingi failai būtų lengvai prieinami iš „Arduino IDE“. Pagrindiniai kodo artefaktai yra šie:
- mqtt_crouton_esp8266_cors_webcomponents.ino - pagrindinis įėjimo taškas.
- assimilate_bus.h/assimilate_bus.cpp - biblioteka, kuri tvarko I2C ryšį su Slave Sensor/Actors
- VizJson.h/VizJson.cpp - biblioteka, kuri formuoja/kuria bet kurį JSON, paskelbtą per MQTT
- config.h/config.cpp - biblioteka, kuri skaito/dėžutes/rašo konfigūracijos failus SPIFFS
- static_i2c_callbacks.ino - gaunamo turto I2C skambučiai, o vergų užklausų ciklas baigtas static_mqtt.ino - MQTT funkcijos
- static_server.ino - žiniatinklio serverio funkcijos
- static_utility.ino - pagalbinės funkcijos
Statinės INO funkcijos buvo naudojamos (vietoj bibliotekų) dėl įvairių priežasčių, bet daugiausia tam, kad žiniatinklio serverio ir MQTT funkcijos galėtų gerai veikti kartu.
SPIFFŲ IŠTEKLIAI
Išsamius SPIFFS failų paaiškinimus rasite čia.
- favicon.ico - „Ace Editor“naudojamas šaltinis
-
konfig
- device.json - įrenginio konfigūracija („Wifi“, MQTT …)
- slave_metas _#. json - generuojamas vykdant kiekvieną vergo adreso numerį (#)
- user_card _#. json - pasirinktinis galinis taškas, kuris turi būti integruotas į „DeviceInfo“kiekvienam vergo adreso numeriui (#)
- user_card_base.json - pasirinktinis galinis taškas, kuris turi būti integruotas į įrenginio „deviceInfo“
- user_meta _#. json - pasirinktiniai metaduomenys pakeičia kiekvieno vergo adreso numerio vergų duomenis (#)
- user_props.json - pasirinktiniai nuosavybės pavadinimai, norintys nepaisyti vergų metaduomenų pavadinimų
-
šerdys
- card -webcomponent.css - įvairių pasirinktinių kortelių stilių lapas
- card -webcomponent.html - įvairių pasirinktinių kortelių žiniatinklio komponentas
-
redaktorius
- assimilate -logo-p.webp" />
- edit.htm.gz - „Ace Editor HTML“gzip
- edit.htm.src - originalus „Ace Editor“HTML
- favicon -32x32-p.webp" />
FIRMO ĮRANGOS ĮKELIMAS
- Kodo saugyklą rasite čia (momentinė nuotrauka).
- Bibliotekos pašto adresą rasite čia (momentinė nuotrauka).
- „ZIP bibliotekos importavimo“instrukcijos čia.
- Įdiegę biblioteką, galite atidaryti pavyzdį „mqtt_crouton_esp8266_cors_webcomponents“.
- „Arduino“nustatymo „Wemos D1 Mini“instrukcijos čia.
- Priklausomybės: „ArduinoJson“, „TimeLib“, „PubSubClient“, „NeoTimer“(žr. Priedus, jei pažeidžiami saugyklų pakeitimai).
ĮKELTI Į SPIFFS
Kai kodas bus įkeltas į „Arduino IDE“, duomenų/konfigūracijos aplanke atidarykite device.json:
- Pakeiskite „wifi_ssid“vertę naudodami „WiFi“SSID.
- Pakeiskite „wifi_key“vertę naudodami „WiFi“raktą.
- Pakeiskite „mqtt_device_name“reikšmę naudodami pageidaujamą įrenginio identifikavimą (nereikia prisijungti).
- Pakeiskite „mqtt_device_description“vertę naudodami pageidaujamą įrenginio aprašą („Crouton“).
- Išsaugoti device.json.
- Įkelkite duomenų failus į SPIFFS.
Pagrindinis „AssimilateBus“pavyzdžio įėjimo taškas:
/* |
* |
*JŪSŲ ĮRENGINIO VERSLO TAISYKLĖS TIKĖTIS BŪTI KONTROLIUJAMOS MQTT - NEPRIKLAUSOMA Į ŠIĄ FIRMO ĮRANGĄ |
* |
* Išskyrus sąranką ir kilpą šiame faile |
* svarbios judančios dalys |
* on_bus_received ir on_bus_complete į static_i2c_callbacks.ino |
* ir |
* „mqtt_publish“ir „mqtt_callback“static_mqtt.ino |
* |
*/ |
#include "types.h" |
#įtraukti „VizJson.h“ |
#include "asimiliuoti_bus.h" |
#include "debug.h" |
#include "config.h" |
#įtraukti |
#įtraukti // nustatykite MQTT_MAX_PACKET_SIZE į ~ 3000 (arba jūsų poreikius įrenginiui informacija) |
#įtraukti |
#įtraukti |
#įtraukti |
#įtraukti |
#įtraukti |
// -------------------------------- ATMINTIES DEKLARACIJOS |
// ------------------------------------------------ - apibrėžia |
#defineDBG_OUTPUT_FLAG2 // 0, 1, 2 MINIMALUM, IŠLEISTI, PILNAS |
#define_mqtt_pub_topic "siunčiamieji" // KROUTONO SUSITARIMAI |
#define_mqtt_sub_topic „gautieji“ |
// ------------------------------------------------ - klasės objektai |
Derinti _debug (DBG_OUTPUT_FLAG); |
AssimilateBus _asimilate_bus; |
VizJson _viz_json; |
Config _config_data; |
„WiFiClient“_esp_client; |
PubSubClient _client (_esp_client); |
„WiFiUDP Udp“; |
ESP8266WebServer _server (80); |
Neotimer _timer_property_request = Neotimer (5000); |
// ------------------------------------------------ - duomenų struktūros / kintamasis |
RuntimeDeviceData _runtime_device_data; |
PropertyDto _dto_props [50]; // maks. 10 vergų x maks. 5 savybės |
// ------------------------------------------------ - kontroliuoti srautą |
volatilebool _sent_device_info = klaidinga; |
baitas _dto_props_index = 0; |
bool _fatal_error = klaidinga; |
// -------------------------------- FUNKCIJŲ APIMTIS DEKLARACIJOS |
// ------------------------------------------------ - static_i2c_callbacks.ino |
voidon_bus_received (baitas slave_address, byte prop_index, Vaidmens vaidmuo, char name [16], char value [16]); |
voidon_bus_complete (); |
// ------------------------------------------------ - static_mqtt.ino |
voidmqtt_callback (char* tema, baitas* naudingoji apkrova, unsignedint ilgis); |
voidmqtt_loop (); |
int8_tmqtt_get_topic_index (char* tema); |
voidmqtt_init (constchar* wifi_ssid, constchar* wifi_password, constchar* mqtt_broker, int mqtt_port); |
voidmqtt_create_subscriptions (); |
voidmqtt_publish (char *root_topic, char *deviceName, char *galinis taškas, constchar *naudingoji apkrova); |
boolmqtt_ensure_connect (); |
voidmqtt_subscribe (char *root_topic, char *deviceName, char *endpoint); |
voidi2c_set_and_get (baitų adresas, baitų kodas, constchar *param); |
// ------------------------------------------------ - static_server.ino |
Styginių serverio_turinio_tipo_getas (eilutės failo pavadinimas); |
boolserver_path_in_auth_exclusion (eilutės kelias); |
boolserver_auth_read (eilutės kelias); |
boolserver_file_read (eilutės kelias); |
voidserver_file_upload (); |
voidserver_file_delete (); |
voidserver_file_create (); |
voidserver_file_list (); |
voidserver_init (); |
voidtime_services_init (char *ntp_server_name, byte time_zone); |
time_tget_ntp_time (); |
voidsend_ntp_packet (IPAddress & address); |
char *time_stamp_get (); |
// ------------------------------------------------ - static_utility.ino |
Styginių spiffs_file_list_build (eilutės kelias); |
voidreport_deserialize_error (); |
voidreport_spiffs_error (); |
boolcheck_fatal_error (); |
boolget_json_card_type (baitas slave_address, byte prop_index, char *card_type); |
boolget_struct_card_type (baitų vergo_adresas, baitų prop_indeksas, char *kortelės tipas); |
boolget_json_is_series (baitas slave_address, baitas prop_index); |
voidstr_replace (char *src, constchar *oldchars, char *newchars); |
baitas get_prop_dto_idx (baitas slave_address, baitas prop_index); |
// --------------------------------- PAGRINDINIS |
voidsetup () { |
DBG_OUTPUT_PORT.begin (115200); |
SetupDeviceData device_data; |
Serial.println (); Serial.println (); // marža konsolės šiukšlėms |
vėlavimas (5000); |
jei (DBG_OUTPUT_FLAG == 2) DBG_OUTPUT_PORT.setDebugOutput (tiesa); |
_debug.out_fla (F („sąranka“), tiesa, 2); |
// gauti reikiamą konfigūraciją |
if (SPIFFS.begin ()) { |
_debug.out_str (spiffs_file_list_build ("/"), tiesa, 2); |
if (! _config_data.get_device_data (įrenginio_datai, _runtime_device_data)) { |
report_deserialize_error (); |
grįžti; |
} |
}Kitas{ |
report_spiffs_error (); |
grįžti; |
} |
// naudoti įrenginyje device.json nustatytą laikmačio reikšmę |
_timer_property_request.set (device_data.sensor_interval); |
„mqtt_init“(įrenginio_datai.wifi_sid, įrenginio_datai.wifi_raktas, įrenginio_data.mqtt_broker, įrenginio_datai.mqtt_portas); |
time_services_init (prietaiso_datos.ntp_serverio_pavadinimas, prietaiso_datos.laiko_zona); |
server_init (); |
// pradėti metaduomenų rinkinį |
_asimiliuoti_bus.get_metadata (); |
_assimilate_bus.print_metadata_details (); |
mqtt_ensure_connect (); |
// reikalinga jutiklio ypatybė (pavadinimai), kad būtų galima surinkti metaduomenis |
_assimilate_bus.get_properties (on_bus_received, on_bus_complete); |
_timer_property_request.reset (); // gali praleisti pastebimą laiką iki šio momento, todėl pradėkite jį iš naujo |
} |
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); |
} |
} |
peržiūrėkite rawmqtt_crouton_esp8266_cors_webcomponents.ino, kurį „GitHub“priglobia kartu su ❤
5 veiksmas: ĮRENGINIO KORTELĖ
Įrenginio kortelė (kortelės tipas: assim-device) yra priglobta svetainėje ir nebūtina jos pateikti iš įrenginio (CORS).
Jo numatytieji puslapių sąrašai:
- MQTT temos skaitymui ir rašymui įrenginyje
- Prieigos taškas, prie kurio prijungtas įrenginys
- Nuoroda į SPIFFS failų redaktorių, priglobtą įrenginyje naudojant ACE EDITOR
- Akies piktograma, rodanti puslapį Rodyti/slėpti kortelę.
Rodyti/slėpti kortelės puslapių sąrašus:
- Kiekviena kortelė kaip atskiras elementas
- Parodomas paryškintas mėlynas šriftas
- Paslėptas juodas įprastas šriftas
- Piktograma, vaizduojanti kortelės tipą.
Kortelę galima paslėpti spustelėjus kortelių mygtuką „Slėpti“arba sąraše spustelėjus mėlynai paryškintą šriftą. Kortelės gali būti parodytos spustelėjus juodo įprasto šrifto elementą sąraše.
Su šia funkcija laisvai susijęs informacinis tostas. Jei bet kuriam „deviceInfo“galutiniam taškui priskirta informacijos ypatybė, informacijos mygtukas bus rodomas šalia kortelės paslėpimo mygtuko. Spustelėjus galinėje dalyje apibrėžtą kontekstinę informaciją, ji bus „paskrudinta“į langą.
Jei įrenginio kortelė nėra apibrėžta, slėpimo mygtukai nebus rodomi kortelėse. Taip yra todėl, kad vieną kartą paslėpus nėra galimybės jų parodyti.
Žiūrėkite ENDPOINT CUSTOMIZATION, kad sužinotumėte, kaip įrenginio kortelę galima pridėti naudojant SPIFFS failus, esančius ESP8266.
„AssimilateCrouton“žiniatinklio komponentas
RODYTI SLĖPTĄ PIKRONĄ |
ĮRENGINIO FORMA |
div> |
RODYTI SLĖPTŲ SĄRAŠĄ |
šablonas> |
popierinis sąrašas> |
div> |
crouton-card> |
šablonas> |
dom-modulis> |
Peržiūrėkite rawassim-device.html, kurį priglobė „GitHub“❤
6 veiksmas: SAVAITGALIO KORTELĖ
Savaitės peržiūros kortelė (kortelės tipas: assim-weekview) priglobta įrenginyje (aplankas cors). Jis suleidžiamas į „deviceInfo“paketą, paskelbtą „AssimilateCrouton“, prie SPIFFS pridėjus failą config/user_card _#. Json (šiuo atveju user_card_9.json).
APŽVALGA
Darbo dienos pateikiamos kaip laiko tarpsnių sąrašai. Laiko laiko tarpsnio detalumas nustatomas naudojant ypatybę „interval_mins“konfigūracijoje/user_card _#. Json. Tai turi būti valandos dalis arba valandos kartotiniai, pvz. 10, 15, 20, 30, 60, 120, 360. Spustelėję laiko tarpą įsitikinkite, kad per tą laiką susietam įrenginiui įsakoma įjungti būsena. Jei laiko tarpas dabar yra, įrenginiui nedelsiant siunčiama (paskelbiama) komanda. Paprastai būsena tikrinama/skelbiama kiekvieną minutę. Pasirinkimai išsaugomi „LocalStorage“, todėl laikas bus įkeliamas atnaujinus naršyklę.
NAUDOJIMO ATVEJAI
Esant dabartinei būsenai, savaitės vaizdas tinka įrenginiams, kurie gali naudoti perjungimo jungiklį savo būsenai vizualizuoti, t. Y. Jie yra įjungti arba išjungti, o po nustatymo jie lieka toje būsenoje. Žibintai, ventiliatoriai ir vandens šildytuvai yra geri kandidatai.
APRIBOJIMAI/APGYVENDINIMAI
- Intervalas_mins turi būti viena iš aukščiau paminėtų verčių
- Savaitės peržiūra nepalaiko momentinių veiksmų, kurie taip pat yra suplanuoti, pvz., Trumpai (5 sekundes) dukart per dieną paspausti čiaupą.
ATEITIS
- Tikimasi, kad trumpalaikiai veiksmai bus remiami.
- Svarstomas planavimo pasirinkimo sinchronizavimas įrenginiuose.
7 veiksmas: ENDPOINT CUSTOMIZATION
Kaip trumpai paminėta FIRMWARE, SPIFFS failų sistemoje yra 2 naujos konvencijos, skirtos pritaikyti galinius taškus. JSON failai yra fragmentai, kurie pridedami prie „deviceInfo“paketo, paskelbto MQTT tarpininkui, savybės, kuri tampa prietaisų skydelio apibrėžimu.
Galinių taškų raktai generuojami programinėje įrangoje:
- CC_device (pasirinktinė kortelė), skirta user_card_base.json
- CC_SLAVE_ENDPOINT NAME for user_card _#. Json (# yra vergo adresas)
Kaip minėta anksčiau, yra kintamųjų, kurie vykdymo metu pakeičia reikšmes:
- mqtt_ prietaiso_pavadinimas
- wifi_ssid
- local_ip
user_card_base.json
Pavyzdys:
user_card _#. json
Pavyzdys:
8 žingsnis: VIDEO
Rekomenduojamas:
IOT123 - ASIMILIATORIUS JUTIKLIO HUB: ICOS10 GENERIC SHELL (HOOKUP WIRE) Surinkimas: 4 žingsniai
IOT123 - ASIMILIUOTOJO JUTIKLIO HUBAS: ICOS10 GENERIC SHELL (HOOKUP WIRE) Surinkimas: UPDATE Siekiant didesnio patikimumo, rekomenduojame naudoti IDC grandinę (ne HOOKUP). Šis „HOOKUP“mazgas tinka ne misijai svarbiems veiksmams, jei turite laiko patikrinti grandinę. Radau keletą laidų (viršutinis plokščių sluoksnis: raudonas/geltonas) neilgai trukus
IOT123 - ASIMILIATORIUS JUTIKLIO HUB: ICOS10 3V3 MQTT NODE: 6 žingsniai
IOT123 - ASISIMILIATUOJAMAS HUBAS: ICOS10 3V3 MQTT NODE: Tai pirmasis iš įvairių MCU/funkcijų derinių ASSIMILATE JUTIKLIO HUBLĖSE: meistrai, kurie renka duomenų iškarpas iš I2C ASSIMILATE SENSORS vergų. Šioje versijoje naudojamas „Wemos D1 Mini“, kad būtų paskelbti visi duomenys, išmesti iš ASSIMILATE
IOT123 - ASIMILIATORIUS JUTIKLIO HUB: ICOS10 GENERIC SHELL (IDC) SURINKIMAS: 6 žingsniai
IOT123 - ASIMILIUOTOJO JUTIKLIO HUB: ICOS10 GENERIC SHELL (IDC) MONTAVIMAS: PASTABA Tai patobulinta (grandinės patikimumo) ASSIMILATE SENSOR HUB versija: ICOS10 GENERIC SHELL (HOOKUP WIRE). Jis surenkamas greičiau ir turi aukštesnės kokybės grandinę, tačiau kainuoja daugiau (~ 10 USD papildomai, jei palaikoma 10 jutiklių). Pagrindinis fe
IOT123 - ASIMILIATORIUS JUTIKLIO HUB: ICOS10 KROUTONO NUSTATYMO NODAS: 6 žingsniai
IOT123 - ASIMILIUOTOJO JUTIKLIO HUB: ICOS10 KROUTONO NUSTATYMO NODAS: Crouton. http://crouton.mybluemix.net/ „Crouton“yra prietaisų skydelis, leidžiantis vizualizuoti ir valdyti savo IOT įrenginius su minimalia sąranka. Iš esmės tai yra paprasčiausias prietaisų skydelis, kurį galima nustatyti bet kuriam IOT aparatūros entuziastui, naudojantiems tik MQTT ir JSON. Tai
IOT123 - ASIMILIATORIUS JUTIKLIO HUB: ICOS10 CUSTOMIZATION WEBSEREVER: 11 žingsnių
IOT123 - ASIMILIATORIUS JUTIKLIO HUB: ICOS10 CUSTOMIZATION WEBSEREVER: ASSIMILATE SENSOR/ACTOR Vergai įterpia metaduomenis, kurie naudojami apibrėžiant vizualizacijas Crouton. Ši sąranka prideda žiniatinklio serverį prie ESP8266 pagrindinio kompiuterio, aptarnauja kai kuriuos konfigūracijos failus, kuriuos gali keisti vartotojas, ir tada naudoja tuos failus iš naujo apibrėžti