Përmbajtje:
- Hapi 1: CROUTON
- Hapi 2: ASRIMILIMI I KRUTONIT
- Hapi 3: KUVENDIMI I Pajisjeve
- Hapi 4: FIRMWARE
- Hapi 5: KARTA E PAJISJES
- Hapi 6: KARTA E PARASHIKIMIT
- Hapi 7: KUSTOMIZIMI PPRFUNDIM
- Hapi 8: VIDEO
Video: IOT123 - HUB SENSOR ASSIMILATE: ICOS10 CORS WEBCOMPONENTS: 8 Hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-31 10:25
SENSORI ASIMILATOR/ACTOR Slaves ngërthejnë meta të dhëna që përdoren për vizualizimet përcaktuese në Crouton. Kjo ndërtesë është paksa e ndryshme nga ato të mëparshme; nuk ka ndryshime në harduer. Firmware tani mbështet hostet e redaktuesve me porosi (më të pasur) që mund të integrohen në ndërtimin e fundit të AssimilateCrouton. Më shumë vëmendje do t'i kushtohet shpjegimit të firmware -it dhe pultit MQTT në këtë artikull.
Një nga avantazhet e shërbimit të WebComponents nga pajisja që ata kontrollojnë, është se kontrolli më i avancuar i pajisjes kufizohet në rrjetin me të cilin pajisja është e lidhur: Pika juaj e hyrjes WiFi. Edhe pse sapo përdorni një server MQTT me vërtetim ka një ngjashmëri mbrojtjeje, në rrjetet publike nëse e lini shfletuesin tuaj për një moment (faqja e internetit AssimilateCrouton) dikush mund të hyjë dhe të kontrollojë pajisjet tuaja të automatizimit. Ky funksion i CORS WebComponent bën të mundur që vetëm leximet (temperatura, nivelet e dritës, lagështia) të shfaqen publikisht dhe funksionet e komandës (ndezja/fikja, planifikimi) të jenë të disponueshme vetëm nga rrjeti i pajisjes.
Në pajisje, të gjitha veçoritë e serverit të uebit me Autentifikimin dhe Pritjen në SPIFFS janë ende të mbështetura, por fokus i veçantë i është kushtuar mbështetjes së CORS (Cross Origin Resource Sharing) për Polymer WebComponents (Crouton përdor Polymer 1.4.0).
Në AssimilateCrouton (piruni i Crouton i përdorur për Assimilate IOT Network) ndryshimet përfshijnë
- mbështetje për një kartë Device (assim-device) që ndër të tjera tregon dhe fsheh, për një përdorues, karta individuale për një pajisje
- pronë e informacionit në të gjitha kartat që tregon një dolli informacioni të dobishëm kontekstual për një kartë
- mbështetje për komponentët e uebit CORS, në këtë rast të pritur në serverin e uebit në pajisje (ESP8266).
Hapi 1: CROUTON
Crouton është një pult që ju lejon të vizualizoni dhe kontrolloni pajisjet tuaja IOT me konfigurim minimal. Në thelb, është pulti më i lehtë për tu konfiguruar për çdo entuziast të pajisjeve IOT duke përdorur vetëm MQTT dhe JSON.
SKLAVT ASSIMILATE (sensorë dhe aktorë) kanë të përfshirë metadata dhe veti që masteri përdor për të ndërtuar paketën e informacionit json të pajisjes që Crouton përdor për të ndërtuar pultin. Ndërmjetësi midis ASSIMILATE NODES dhe Crouton është një ndërmjetës MQTT që është miqësor me rrjetet në internet: Mushkonja përdoret për demonstrimin.
Ndërsa ASSIMILATE MASTER kërkon veti, ai formaton vlerat e përgjigjes në formatin e kërkuar për përditësimet e Crouton. Piruni AssimilateCrouton shton disa veçori që ju mundësojnë të decentralizoni rregullat e biznesit që drejtojnë pajisjen tuaj dmth pajisja IOT nuk ka nevojë për ndonjë rregull të integruar të biznesit, është thjesht një tubacion për komunikimin MQTT/I2C me aktorët dhe sensorët më të zgjuar (të kontrolluar nga ATTINY) Me
Hapi 2: ASRIMILIMI I KRUTONIT
NDRYSHIMET N C CROUTON
Ndryshimet nga versioni i pirunit përfshijnë:
- nëse një pikë përfundimtare ka një pronë të përcaktuar, WebComponent për kartën do të bëjë një HTMLImport për një burim CORS (serveri i uebit në ESP8266 në këtë ndërtim).
- çdo burim në rrjedhën e sipërme nga (varësitë e) një Komponenti Ueb CORS referohen sikur të shërbehen nga uebfaqja e Crouton; kur ata nuk arrijnë të ngarkojnë një kontrollues përjashtimi rejigs shtigjet dhe ngarkimet nëse nga faqja e internetit.
- një orë aktuale lokale shfaqet në të djathtë, e dobishme për planifikimin e verifikimit.
VARENDSIT AND DHE KORMET E POLIMERIT
Gjethet e një peme të varësisë nga Polimeri mund të strehohen në CORS. Për shkak se varësitë rrënjësore mund të përdoren disa herë në një aplikacion, ato nuk mund të referohen nga 2 vende (faqja e internetit dhe pajisja) sepse Ngarkuesi i Modulit Polimer i trajton ato si 2 burime të veçanta dhe gabime të shumta regjistrimi shpejt çorodisin një aplikacion.
Për këtë arsye, WebComponent për një kartë (skedar HTML në 1.4.0) dhe skedari i lidhur CSS janë skedarët e vetëm të pritur në pajisje. Varësitë e tjera referohen sikur WebComponent të jetë i vendosur në dosjen "html" në faqen e internetit origjinale, gjë që e bën të lehtë zhvillimin e WebComponents nga ai dosje derisa të jetë gati për t'u ngarkuar në SPIFFS në ESP8266. AssimilateCrouton do të punojë se si të marrë skedarët e duhur.
PUNLSIM
krijuesi i edfungus i Crouton origjinal shkroi burimin në Pug/Less dhe kishte një zinxhir mjetesh NPM/Grunt. Unë e dhashë Pug/Less si HTML/css dhe sapo redaktova/shpërndava skedarët e dhënë. Kjo prishi zinxhirin e veglave NPM/Grunt. Rregullimi i kësaj mbulohet në seksionin E ARDHSHME.
Mund ta provoni pultin në vend në kutinë tuaj DEV:
- Nga linja e komandës në dosjen rrënjë
- npm fillimi
- serveri lite është rrotulluar për https:// localhost: 10001
Vendoseni në një server në internet statik:
- kopjoni të gjithë dosjet përveç node_modules
- kopjoni index.html (dhe ndoshta web.config)
E ARDHME
Një nga qëllimet kryesore është të azhurnoni në Polymer3 dhe të punoni nga Polymer CLI. Shtimi i redaktuesve të avancuar dhe kuadrit për zhvilluesit e IOT për të zhvilluar të tyrin është një përparësi e lartë. Përfundimisht sistemi i avancuar i automatizuar do të drejtohet tërësisht nga klientët e shkëputur MQTT si AssimilateCrouton.
Një shembull i paketës së pajisjesInfo të përdorur për AssimilateCrouton:
{ |
"deviceInfo": { |
"endPoints": { |
"CC_device": { |
"emri i pajisjes": "ash_mezz_A3", |
"card-type": "assim-device", |
"ssid": "Corelines_2", |
"ip_addr": "192.168.8.104", |
"pikat përfundimtare": [ |
{ |
"title": "Rriten Dritat", |
"card-type": "crouton-simple-toggle", |
"pika përfundimtare": "kalo" |
}, |
{ |
"title": "Dritat e mbjellësit", |
"card-type": "crouton-assim-weekview", |
"pika përfundimtare": "CC_switch" |
} |
] |
}, |
"CC_switch": { |
"card-type": "assim-weekview", |
"info": "Ndezja ose fikja e dritave në afate kohore 15 minutëshe", |
"shteg": "https://192.168.8.104/cors", |
"title": "Dritat e mbjellësit", |
"interval_min": 15, |
"vlerat": { |
"vlera": "" |
} |
}, |
"kalo": { |
"title": "Rriten dritat", |
"card-type": "crouton-simple-toggle", |
"info": "Ndizni ose fikni dritat në baza ad hoc", |
"etiketat": { |
"false": "OFF", |
"e vërtetë": "ON" |
}, |
"ikona": { |
"false": "diell-o", |
"true": "sun-o" |
}, |
"vlerat": { |
"vlera": 0 |
} |
} |
}, |
"status": "mirë", |
"emri": "ash_mezz_A3", |
"description": "Zyra në Ashmore, Mezzanine, Area A2", |
"ngjyra": "#4D90FE" |
} |
} |
shikoni rawdeviceInfo.json të pritur me ❤ nga GitHub
Hapi 3: KUVENDIMI I Pajisjeve
Meqenëse nuk ka ndryshime në harduer, këtu janë lidhjet me informacionin përkatës:
- Asambleja e Shellit
- Materialet dhe Mjetet
- Përgatitja e MCU
- Përgatitja e Strehimit MCU
- Ndërtimi i skllevërve Ndërprerësja me anë të ulët/RESET Vajza
- Montimi i përbërësve kryesorë
Hapi 4: FIRMWARE
NDRYSHIMET KRYESORE K THT B NDRTIM
Në mënyrë që aplikacioni AssimilateCrouton të jetë në gjendje të përdorë burimet CORS nga pajisja, titujt e përgjigjeve duhej të konfiguroheshin në një mënyrë të veçantë. Kjo u zbatua në këtë lëshim të firmuerit (static_server.ino => server_file_read ()).
Gjithashtu grafiku kryesor i varësisë për Polimerin duhej të ishte nga një origjinë e vetme. Një strategji u përdor për të shtuar një kontrollues të gabimeve (corsLinkOnError) në skedarët SPIFFS CORS për të ringarkuar burimet nga faqja e internetit AssimilateCrouton kur ato nuk gjenden në pajisje.
Janë shtuar 2 konventa të reja në sistemin e skedarëve SPIFFS për personalizimin e pikave përfundimtare që krijohen në pajisjenInfo - të cilat AssimilateCrouton i përdor për të krijuar kartat e pultit:
- /config/user_card_base.json Përkufizimi i pikës përfundimtare me ndryshoret e kohës së funksionimit që ndërrohen së pari:,,. Kjo është zakonisht vendi ku do të shtohet karta e pajisjes assim. Kjo nuk komunikon përsëri me pajisjen.
- /config/user_card_#.json Përkufizimi i pikës fundore me ndryshoret e kohës së funksionimit që ndërrohen së pari:,,. Kjo është zakonisht aty ku redaktorët e pasur si karta assim-weekview do të shtohen të lidhura me skllavin I2C (aktor/sensor) që lidhet me #.
SKISHA/BIBLIOTEKAT
Në këtë fazë projekti është paketuar si shembull për bibliotekën AssimilateBus Arduino. Kjo është kryesisht për të bërë të lehtë qasjen në të gjithë skedarët e nevojshëm nga Arduino IDE. Artefaktet kryesore të kodit janë:
- mqtt_crouton_esp8266_cors_webcomponents.ino - pika kryesore e hyrjes.
- assimilate_bus.h/assimilate_bus.cpp - biblioteka që trajton komunikimin I2C me Sensorin/Skllevërit/Aktorët
- VizJson.h/VizJson.cpp - biblioteka që formaton/ndërton çdo JSON të publikuar përmes MQTT
- config.h/config.cpp - biblioteka që lexon/kutitë/shkruan skedarët e konfigurimit në SPIFFS
- static_i2c_callbacks.ino - thirrjet e I2C për një pronë që merret dhe cikli i kërkesave të skllevërve është i plotë static_mqtt.ino - funksionet MQTT
- static_server.ino - funksionet e serverit në internet
- static_utility.ino - funksionet ndihmëse
Funksionet statike INO u përdorën (në vend të bibliotekave) për një sërë arsyesh, por kryesisht në mënyrë që funksionet e Webserver dhe MQTT të luajnë mirë së bashku.
BURIMET SPIFFS
Shpjegimet e hollësishme të skedarëve SPIFFS mund të gjenden këtu.
- favicon.ico - burim i përdorur nga Ace Editor
-
konfiguro
- device.json - konfigurimi për pajisjen (Wifi, MQTT…)
- slave_metas _#. json - e krijuar në kohën e ekzekutimit për secilin numër të adresës së skllavit (#)
- karta e përdoruesit _#.
- user_card_base.json - pika përfundimtare e personalizuar për t'u integruar në pajisjenInfo për pajisjen
- user_meta _#.
- user_props.json - emrat e pronave të personalizuara për të anashkaluar ato në meta të dhënat e skllevërve
-
cors
- card -webcomponent.css - fletë stili për karta të ndryshme me porosi
- card -webcomponent.html - webcomponent për karta të ndryshme me porosi
-
redaktor
- assimilate -logo-p.webp" />
- edit.htm.gz - gzip i Ace Editor HTML
- edit.htm.src - HTML origjinale e Ace Editor
- favicon -32x32-p.webp" />
P URFUNDIMI I FIRMWARE
- Depoja e kodeve mund të gjendet këtu (fotografi).
- Një ZIP i bibliotekës mund të gjendet këtu (fotografi).
- Udhëzimet për "Importimi i një biblioteke ZIP" këtu.
- Pasi të jetë instaluar biblioteka, mund të hapni shembullin "mqtt_crouton_esp8266_cors_webcomponents".
- Udhëzimet për vendosjen e Arduino për Wemos D1 Mini këtu.
- Varësitë: ArduinoJson, TimeLib, PubSubClient, NeoTimer (shihni bashkëngjitjet nëse prishen ndryshimet në depo).
NGARKIM P TOR SPIFFS
Pasi kodi të jetë ngarkuar në Arduino IDE, hapni pajisjen.json në dosjen e të dhënave/konfigurimit:
- Ndryshoni vlerën e wifi_ssid me SSID -in tuaj WiFi.
- Ndryshoni vlerën e çelësit wifi_ me çelësin tuaj WiFi.
- Ndryshoni vlerën e mqtt_device_name me identifikimin e pajisjes tuaj të preferuar (nuk nevojitet bashkim).
- Ndryshoni vlerën e mqtt_device_description me përshkrimin e pajisjes tuaj të preferuar (në Crouton).
- Ruani pajisjen.json.
- Ngarko skedarët e të dhënave në SPIFFS.
Pika kryesore e hyrjes për shembullin AssimilateBus:
/* |
* |
*RREGULLAT E BIZNESIT P FORR PAJISJEN TUAJ PRITEN T TO KONTROLLOHEN PIARMJET MQTT - NUK HSHT PARDRFSHIR N K THTIS FIRMWARE |
* |
* Përveç konfigurimit dhe lakut në këtë skedar |
* pjesët e rëndësishme lëvizëse janë |
* on_bus_mbledhur dhe on_bus_complete në static_i2c_callbacks.ino |
* dhe |
* mqtt_publish dhe mqtt_callback në static_mqtt.ino |
* |
*/ |
#përfshi "llojet.h" |
#përfshi "VizJson.h" |
#include "assimilate_bus.h" |
#përfshi "debug.h" |
#include "config.h" |
#përfshi |
#përfshi // vendosni MQTT_MAX_PACKET_SIZE në 3000 ~ (ose nevojat tuaja për pajisjenInfo json) |
#përfshi |
#përfshi |
#përfshi |
#përfshi |
#përfshi |
// --------------------------------- DEKLARATAT KUJTESORE |
// ---------------------------------------------------- - përcakton |
#përcaktoDBG_OUTPUT_FLAG2 // 0, 1, 2 MINIMUM, LIRIM, I PLOT |
#define_mqtt_pub_topic "outbox" // KONVENTET KROUTON |
#define_mqtt_sub_topic "inbox" |
// ---------------------------------------------------- - objekte të klasës |
Debug _debug (DBG_OUTPUT_FLAG); |
AssimilateBus _assimilate_bus; |
VizJson _viz_json; |
Konfiguro _config_data; |
WiFiClient _esp_client; |
PubSubClient _klient (_esp_client); |
WiFiUDP Udp; |
ESP8266WebServer _server (80); |
Neotimer _timer_property_request = Neotimer (5000); |
// ---------------------------------------------------- - strukturat / ndryshoret e të dhënave |
RuntimeDeviceData _ruantime_device_data; |
PropertyDto _dto_props [50]; // max 10 skllevër x max 5 veti |
// ---------------------------------------------------- - kontrollin e rrjedhës |
volatilebool _sent_device_info = false; |
byte _dto_props_index = 0; |
bool _fatal_error = false; |
// --------------------------------- DEKLARATAT E FUSHSIMIT TUN FUNKSIONIT |
// ---------------------------------------------------- - static_i2c_callbacks.ino |
voidon_bus_received (byte slave_address, byte prop_index, Roli i rolit, emri char [16], char char [16]); |
voidon_bus_complete (); |
// ---------------------------------------------------- - static_mqtt.ino |
voidmqtt_callback (temë char*, byte* ngarkesë, gjatësi pa shenjë); |
voidmqtt_loop (); |
int8_tmqtt_get_topic_index (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 *endpoint, constchar *payload); |
boolmqtt_ensure_connect (); |
voidmqtt_subscribe (char *root_topic, char *deviceName, char *pika e fundit); |
voidi2c_set_and_get (adresa e bajtit, kodi i bajtit, constchar *param); |
// ---------------------------------------------------- - serveri statik.ino |
String_content_type_get string (Emri i skedarit të vargut); |
boolserver_path_in_auth_exclusion (Rruga e vargut); |
boolserver_auth_read (Rruga e vargut); |
boolserver_file_read (Rruga e vargut); |
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 (IPAdresa & adresa); |
char *time_stamp_get (); |
// ---------------------------------------------------- - static_utility.ino |
String spiffs_file_list_build (String path); |
voidreport_deserialize_error (); |
voidreport_spiffs_error (); |
boolcheck_fatal_error (); |
boolget_json_card_type (byte slave_address, byte prop_index, char *card_type); |
boolget_struct_card_type (byte slave_address, byte prop_index, char *card_type); |
boolget_json_is_series (byte slave_address, byte prop_index); |
voidstr_replace (char *src, constchar *oldchars, char *newchars); |
byte get_prop_dto_idx (byte slave_address, byte prop_index); |
// --------------------------------- KRYESORE |
voidsetup () { |
DBG_OUTPUT_PORT.filloj (115200); |
Të dhënat e pajisjes SetupDeviceData; |
Serial.println (); Serial.println (); // diferenca për plehrat e tastierës |
vonesa (5000); |
nëse (DBG_OUTPUT_FLAG == 2) DBG_OUTPUT_PORT.setDebugOutput (e vërtetë); |
_debug.out_fla (F ("konfigurimi"), e vërtetë, 2); |
// merrni konfigurimin e kërkuar |
nëse (SPIFFS.filloj ()) { |
_debug.out_str (spiffs_file_list_build ("/"), true, 2); |
nëse (! _config_data.get_device_data (të dhënat e pajisjes, _runtime_device_data)) { |
report_deserialize_error (); |
kthim; |
} |
} tjetër { |
report_spiffs_error (); |
kthim; |
} |
// përdor vlerën e kohëmatësit të vendosur në pajisje.json |
_timer_property_request.set (pajisje_data.sensor_interval); |
mqtt_init (pajisje_data.wifi_ssid, pajisje_data.wifi_key, pajisje_data.mqtt_broker, pajisje_data.mqtt_port); |
time_services_init (pajisja_data.ntp_server_name, device_data.time_zone); |
server_init (); |
// filloni koleksionin e meta të dhënave |
_assimilate_bus.get_metadata (); |
_assimilate_bus.print_metadata_details (); |
mqtt_ensure_connect (); |
// ka nevojë për vetinë e sensorit (emrat) për të përfunduar mbledhjen e meta të dhënave |
_assimilate_bus.get_properties (on_bus_received, on_bus_complete); |
_timer_property_request.reset (); // mund të kalojë kohë e dukshme deri në këtë pikë, kështu që fillojeni përsëri |
} |
voidloop () { |
nëse (! check_fatal_error ()) kthehet; |
mqtt_loop (); |
_server.handleClient (); |
nëse (_timer_property_request.repeat ()) { |
_assimilate_bus.get_properties (on_bus_received, on_bus_complete); |
} |
} |
shiko rawmqtt_crouton_esp8266_cors_webcomponents.ino pritur me ❤ nga GitHub
Hapi 5: KARTA E PAJISJES
Karta e pajisjes (lloji i kartës: assim-device) është pritur në faqen e internetit dhe nuk është e nevojshme ta shërbeni atë nga pajisja (CORS).
Faqja e saj e paracaktuar liston:
- Temat MQTT për leximin dhe shkrimin në pajisje
- Pika e hyrjes me të cilën është lidhur pajisja
- Një lidhje me redaktuesin e skedarëve SPIFFS të vendosur në pajisje duke përdorur ACE EDITOR
- Një ikonë e syrit që zbulon faqen Trego/Fshih kartën.
Listat e faqeve të Shfaq/Fshih kartën:
- Çdo kartë si një artikull i veçantë
- Font blu i guximshëm kur shfaqet
- Shkronja normale e zezë kur fshihet
- Një ikonë që përshkruan llojin e kartës.
Karta mund të fshihet duke klikuar butonin e fshehjes në karta, ose duke klikuar në një artikull me shkronja blu të guximshme në listë. Kartat mund të shfaqen duke klikuar në një artikull me shkronja të zeza-normale në listë.
E lidhur ngushtë me këtë veçori është dolli i informacionit. Nëse ndonjë prej pikave përfundimtare në pajisjenInfo ka një pronë të caktuar të informacionit, një buton informacioni do të shfaqet pranë butonit të fshehjes në kartelë. Kur klikohet, informacioni kontekstual i përcaktuar në pikën përfundimtare do të "theksohet" në dritare.
Nëse karta e pajisjes nuk është e përcaktuar, butonat e fshehjes nuk do të shfaqen në karta. Kjo ndodh sepse pasi fshihet nuk ka asnjë mënyrë për t'i treguar ato, përsëri.
Shihni PURSHIRIMI ENDPOINT për të detajuar sesi karta e pajisjes assim mund të shtohet përmes skedarëve SPIFFS në ESP8266.
Komponenti Web AssimilateCrouton
TREGO Fsheh Ikonën |
FORMULARI I PAJISJES |
div> |
TREGO FSHEHUR LISTA |
shabllon> |
letër-listbox> |
div> |
crouton-card> |
shabllon> |
dom-modul> |
shikoni rawassim-device.html të pritur me ❤ nga GitHub
Hapi 6: KARTA E PARASHIKIMIT
Karta e shikimit të javës (lloji i kartës: assim-weekview) ruhet në pajisje (dosja cors). Injektohet në paketën deviceInfo të publikuar për AssimilateCrouton, duke shtuar një skedar config/user_card _#. Json në SPIFFS (në këtë rast user_card_9.json).
P ORMBLEDHJE
Ditët e javës paraqiten si lista të afateve kohore. Hollësia e hapësirës kohore është vendosur me vetinë "interval_min" në konfigurimin/user_card _#. Json. Duhet të jetë një fraksion i një ore ose shumëfish i një ore p.sh. 10, 15, 20, 30, 60, 120, 360. Klikimi në një hapësirë kohore sigurohuni që një gjendje ndezjeje të komandohet për pajisjen e lidhur në atë kohë. Nëse afati kohor është tani, një komandë dërgohet (publikohet) menjëherë për pajisjen. Normalisht gjendja kontrollohet/publikohet çdo minutë. Zgjedhjet ruhen në LocalStorage, kështu që kohët do të ringarkohen me një rifreskim të shfletuesit.
RASTE TE PERDORIMIT
Në gjendjen e tij aktuale, pamja e javës është e përshtatshme për pajisjet që mund të përdorin një çelës Toggle për të vizualizuar gjendjen e tyre, domethënë ato janë ose të ndezura ose të fikura dhe pasi të jenë vendosur ato mbeten në atë gjendje. Dritat, tifozët dhe ngrohësit e ujit janë kandidatë të mirë.
KUFIZIMET/Shpellat
- Intervali_min duhet të jetë një nga vlerat e përmendura më lart
- Pamja e javës nuk mbështet veprimet momentale që janë planifikuar gjithashtu, të tilla si hapja e një trokitje e lehtë shkurtimisht (5 sekonda) dy herë në ditë.
E ARDHME
- Pritet që veprimet momentale të mbështeten.
- Magazinimi i sinkronizuar nëpër pajisje, për zgjedhjet e orarit po merret parasysh.
Hapi 7: KUSTOMIZIMI PPRFUNDIM
Siç u përmend shkurtimisht në FIRMWARE, janë 2 konventa të reja të shtuara në sistemin e skedarëve SPIFFS për personalizimin e pikave përfundimtare. Skedarët JSON janë fragmente që shtohen në pronën e pikave përfundimtare në paketën deviceInfo të postuara në ndërmjetësin MQTT që bëhet përkufizimi i pultit.
Çelësat e pikave përfundimtare gjenerohen në firmware:
- CC_device (Kartë e personalizuar) për user_card_base.json
- CC_SLAVE_ENDPOINT EMRI për kartën e përdoruesit _#. Json (# duke qenë adresa e skllavit)
Siç u përmend më parë, ka variabla që zëvendësohen me vlerat në kohën e ekzekutimit:
- mqtt_device_name
- wifi_ssid
- lokale_ip
user_card_base.json
Nje shembull:
karta e përdoruesit _#. json
Nje shembull:
Hapi 8: VIDEO
Recommended:
DIY: Mini Sensor i Kufirit të Montuar me Sensor Lëvizjeje të Fokusueshëm: 4 Hapa
DIY: Mini Sensor i Kufirit të Montuar me Sensor Lëvizjeje të Fokusueshëm: Përshëndetje. Disa kohë më parë unë i ndihmova mikut tim me konceptin e shtëpisë së zgjuar dhe krijova një mini kuti me sensorë me një dizajn të personalizuar që mund të montohej në tavan në vrimën 40x65mm. Kjo kuti ndihmon në: • matjen e intensitetit të dritës • matjen e lagështirës
IOT123 - D1M BLOCK - 2xAMUX Montimi: 7 hapa (me fotografi)
IOT123 - D1M BLOCK - 2xAMUX Kuvendi: BLACK -et D1M shtojnë kuti prekëse, etiketa, udhëzues polariteti dhe thyerje për Wemos D1 Mini SOC/Shields/Clones të njohura. Një nga çështjet me çipin ESP8266 është se ka vetëm një pin analog IO në dispozicion. Ky udhëzues tregon se si të montoni 2xA
IOT123 - D1M BLOCK - RFTXRX Montimi: 8 hapa
IOT123 - D1M BLOCK - RFTXRX Montimi: BLACK -et D1M shtojnë kuti prekëse, etiketa, udhëzues polariteti dhe thyerje për Wemos D1 Mini SOC/Shields/Clones të njohura. Transmetuesit/Marrësit RF lejojnë ESP8266 të hyjë në automatizimin ekzistues të shtëpisë/industrisë. Kjo shtresë siguron prishje për 433/
IOT123 - D1M BLOCK - GY521 Montimi: 8 Hapa
IOT123 - Blloku D1M - GY521 Asambleja: Bllokimet D1M shtojnë kuti prekëse, etiketa, udhëzues polariteti dhe thyerje për WEMOS D1 Mini SOC/Shields/Clones të njohura. Ky BLLOK D1M jep një lidhje të thjeshtë midis Wemos D1 Mini dhe modulit GY-521 (kunjat e Adresës dhe Ndërprerjes mund të lidhen
IOT123 - NJUBSIA E SENSORIT TS ASIMIMIMIT: ICOS10 CUSTOMIZIMI Faqja e Internetit: 11 hapa
IOT123 - ASUSIMILATE SENSOR HUB: ICOS10 CUSTOMIZATION WEBSEREVER: SENSORI/ASHTORI ASSIMILATOR Skllevërit futin meta të dhëna që përdoren për vizualizimet përcaktuese në Crouton. Kjo ndërtesë shton një server në internet në Master ESP8266, shërben disa skedarë konfigurimi që mund të modifikohen nga përdoruesi, pastaj i përdor ato skedarë për të ripërcaktuar