Kazalo:
- 1. korak: CROUTON
- 2. korak: ASIMILIRAJTE KROUTON
- 3. korak: SESTAVLJANJE NAPRAVE
- 4. korak: PROGRAMSKA OPREMA
- 5. korak: KARTICA ZA NAPRAVO
- 6. korak: KARTICA ZA VIDIK
- 7. korak: PRILAGAJANJE KONČNE TOČKE
- 8. korak: VIDEO
Video: IOT123 - POVEZALO SENZORJA ZA ASIMILIRANJE: ICOS10 CORS WEBCOMPONENTI: 8 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-31 10:24
Pomožni senzorji/akterji podrejeni vdelajo metapodatke, ki se uporabljajo za definiranje vizualizacij v Croutonu. Ta zgradba se nekoliko razlikuje od prejšnjih; strojne opreme ni. Vdelana programska oprema zdaj podpira gostovanje (bogatejših) urejevalnikov po meri, ki jih je mogoče vključiti v najnovejšo različico AssimilateCrouton. Več pozornosti bo v tem članku namenjeno razlagi vdelane programske opreme in nadzorne plošče MQTT.
Ena od prednosti strežnika WebComponents iz naprave, ki jo nadzorujejo, je, da je naprednejši nadzor nad napravo omejen na omrežje, na katero je naprava povezana: vašo dostopno točko WiFi. Čeprav po uporabi strežnika MQTT s preverjanjem pristnosti obstaja podobnost zaščite, bi lahko v javnih omrežjih, če za trenutek zapustite brskalnik (spletno mesto AssimilateCrouton), kdo priskočil in nadziral vaše avtomatizacijske naprave. Ta funkcija CORS WebComponent omogoča javno prikazovanje odčitkov (temp, raven svetlobe, vlaga), ukazne funkcije (vklop/izklop, razpored) pa so na voljo samo v omrežju naprave.
V napravi so še vedno podprte vse funkcije spletnega strežnika s preverjanjem pristnosti in gostovanjem v SPIFFS, posebna pozornost pa je bila namenjena podpori CORS (Cross Origin Resource Sharing) za Polymer WebComponents (Crouton uporablja Polymer 1.4.0).
V AssimilateCrouton (razcepu Croutona, ki se uporablja za Assimilate IOT Network) spremembe vključujejo
- podpora za kartico Device (assim-device), ki med drugim prikazuje in skriva za uporabnika posamezne kartice za napravo
- info lastnost na vseh karticah, ki prikazuje zdravico uporabnih kontekstualnih informacij za kartico
- podpora za spletne komponente CORS, v tem primeru gostuje na spletnem strežniku v napravi (ESP8266).
1. korak: CROUTON
Crouton je nadzorna plošča, ki vam omogoča vizualizacijo in upravljanje vaših naprav IOT z minimalnimi nastavitvami. V bistvu je najpreprostejša nadzorna plošča za vse ljubitelje strojne opreme IOT, ki uporablja samo MQTT in JSON.
ASIMILATIVE SLAVES (senzorji in akterji) imajo vdelane metapodatke in lastnosti, ki jih mojster uporablja za izdelavo paketa deviceInfo json, ki ga Crouton uporablja za izdelavo nadzorne plošče. Posrednik med ASSIMILATE NODES in Crouton je posrednik MQTT, ki je prijazen do spletnih vtičnic: za predstavitev se uporablja Mosquito.
Ker ASSIMILATE MASTER zahteva lastnosti, oblikuje odzivne vrednosti v zahtevani obliki za posodobitve Crouton. Vilica AssimilateCrouton dodaja nekatere funkcije, ki vam omogočajo decentralizacijo poslovnih pravil, ki vodijo vašo napravo, tj. Naprava IOT ne potrebuje nobenih vgrajenih poslovnih pravil, ampak je samo kanal za komunikacijo MQTT/I2C do pametnejših (pod nadzorom ATTINY) podrejenih igralcev in senzorjev..
2. korak: ASIMILIRAJTE KROUTON
SPREMEMBE KROUTONA
Spremembe v razcepljeni različici vključujejo:
- če ima končna točka definirano lastnost poti, bo WebComponent za kartico naredil uvoz HTMLI za vir CORS (spletni strežnik na ESP8266 v tej gradnji).
- na vse vire v smeri toka od (odvisnosti) spletne komponente CORS se sklicuje, kot da so na voljo s spletnega mesta Crouton; ko ne naložijo izvajalca izjem, znova spremenijo poti in se naložijo, če so s spletnega mesta.
- zgoraj desno je prikazan trenutni lokalni čas, ki je uporaben za preverjanje razporeda.
ODVISNOSTI OD POLIMERJA IN KORE
Liste drevesa odvisnosti od polimerov lahko gostite v CORS -u. Ker se lahko korenske odvisnosti v aplikaciji uporabljajo večkrat, jih ni mogoče sklicevati z dveh lokacij (s spletnega mesta in naprave), ker jih polimerni nalagalnik polimernih modulov obravnava kot dva ločena vira in več napak pri registraciji hitro naleti na aplikacijo.
Zaradi tega sta WebComponent za kartico (datoteka HTML v 1.4.0) in z njo povezana datoteka CSS edina datoteka, ki gostuje v napravi. Na druge odvisnosti se sklicuje, kot da WebComponent gostuje v mapi "html" na izvornem spletnem mestu, kar olajša razvoj spletnih komponent iz te mape, dokler niso pripravljene za nalaganje v SPIFFS na ESP8266. AssimilateCrouton se bo odločil, kako priti do pravilnih datotek.
RAZPOLOŽITEV
ustvarjalec edfungusa izvirnega Croutona je vir napisal v Pug/Less in imel orodno verigo NPM/Grunt. Pug/Less sem upodobil kot HTML/css in samo urejal/distribuiral upodobljene datoteke. To je prekinilo verigo orodij NPM/Grunt. Odpravljanje tega je obravnavano v razdelku PRIHODNOST.
Armaturno ploščo lahko preizkusite lokalno na svojem ohišju DEV:
- Iz ukazne vrstice v korenski mapi
- npm start
- Lite-strežnik je odprt za https:// localhost: 10001
Razmestitev na statični spletni strežnik:
- kopirajte vse mape razen node_modules
- kopirajte index.html (in morda web.config)
PRIHODNOST
Eden glavnih ciljev je nadgradnja na Polymer3 in delo iz Polymer CLI. Dodajanje naprednih urejevalnikov in okvira za razvijalce IOT -a je velika prioriteta. Sčasoma bo napredni avtomatizirani sistem popolnoma deloval od ločenih odjemalcev MQTT, kot je AssimilateCrouton.
Primer paketa deviceInfo, uporabljenega za AssimilateCrouton:
{ |
"deviceInfo": { |
"endPoints": { |
"CC_device": { |
"device_name": "ash_mezz_A3", |
"card-type": "assim-device", |
"ssid": "Corelines_2", |
"ip_addr": "192.168.8.104", |
"končne točke": [ |
{ |
"title": "Grow Lights", |
"card-type": "crouton-simple-toggle", |
"endpoint": "switch" |
}, |
{ |
"title": "Luči za sejanje", |
"card-type": "crouton-assim-weekview", |
"endpoint": "CC_switch" |
} |
] |
}, |
"CC_switch": { |
"card-type": "assim-weekview", |
"info": "Vklopite ali izklopite luči v 15 -minutnih časovnih režah", |
"path": "https://192.168.8.104/cors", |
"title": "Luči za sejanje", |
"interval_min": 15, |
"vrednote": { |
"value": "" |
} |
}, |
"switch": { |
"title": "Grow Lights", |
"card-type": "crouton-simple-toggle", |
"info": "ad hoc vklop ali izklop luči", |
"oznake": { |
"false": "OFF", |
"true": "ON" |
}, |
"ikone": { |
"false": "sonce-o", |
"true": "sun-o" |
}, |
"vrednote": { |
"vrednost": 0 |
} |
} |
}, |
"status": "dobro", |
"name": "ash_mezz_A3", |
"description": "Pisarna v Ashmoreju, Mezanin, območje A2", |
"color": "#4D90FE" |
} |
} |
oglejte si rawdeviceInfo.json, ki ga gosti ❤ GitHub
3. korak: SESTAVLJANJE NAPRAVE
Ker ni sprememb strojne opreme, so tukaj povezave do ustreznih informacij:
- Shell montaža
- Materiali in orodja
- Priprava MCU
- Priprava stanovanj MCU
- Izdelava pomožnega stikala nizke strani/RESET hčerinske plošče
- Sestavljanje glavnih sestavnih delov
4. korak: PROGRAMSKA OPREMA
GLAVNE SPREMEMBE TE ZGRADBE
Da bi lahko aplikacija AssimilateCrouton uporabljala vire CORS iz naprave, je bilo treba odzivne glave konfigurirati na poseben način. To je bilo implementirano v tej izdaji vdelane programske opreme (static_server.ino => server_file_read ()).
Tudi glavni graf odvisnosti za Polymer je moral biti iz enega izvora. Uporabljena je bila strategija za dodajanje upravljalnika ene napake (corsLinkOnError) v datoteke SPIFFS CORS za ponovno nalaganje virov s spletnega mesta AssimilateCrouton, ko jih v napravi ni.
V datotečni sistem SPIFFS sta dodani dve novi konvenciji za prilagajanje končnih točk, ustvarjenih v deviceInfo - ki jih AssimilateCrouton uporablja za ustvarjanje kartic nadzorne plošče:
- /config/user_card_base.json Definicija končne točke s spremenljivkami časa izvajanja, ki se najprej zamenjajo:,,. Tu se običajno doda kartica asim-naprave. To ne komunicira nazaj z napravo.
- /config/user_card_#.json Definicija končne točke s spremenljivkami časa izvajanja, ki se najprej zamenjajo:,,. Tu se običajno dodajo bogati uredniki, kot je kartica asimenski ogled tedna, priključeni na podrejeno enoto I2C (igralec/senzor), ki se nanaša na #.
SKIC/KNJIŽNICE
Na tej stopnji je bil projekt zapakiran kot primer za knjižnico AssimilateBus Arduino. To je predvsem zato, da omogočite enostaven dostop do vseh potrebnih datotek iz Arduino IDE. Glavni artefakti kode so:
- mqtt_crouton_esp8266_cors_webcomponents.ino - glavna vstopna točka.
- assimilate_bus.h/assimilate_bus.cpp - knjižnica, ki upravlja komunikacijo I2C s podrejenim senzorjem/igralci
- VizJson.h/VizJson.cpp - knjižnica, ki oblikuje/gradi kateri koli JSON, objavljen prek MQTT
- config.h/config.cpp - knjižnica, ki bere/škatle/zapisuje konfiguracijske datoteke na SPIFFS
- static_i2c_callbacks.ino - povratni klici I2C za prejeto lastnost in cikel podrejenih zahtev je popoln static_mqtt.ino - funkcije MQTT
- static_server.ino - funkcije spletnega strežnika
- static_utility.ino - pomožne funkcije
Statične funkcije INO so bile uporabljene (namesto knjižnic) iz različnih razlogov, predvsem pa zato, da sta se funkciji spletnega strežnika in MQTT dobro igrali.
VIRI SPIFFS
Podrobne razlage datotek SPIFFS najdete tukaj.
- favicon.ico - vir, ki ga uporablja Ace Editor
-
config
- device.json - konfiguracija naprave (Wifi, MQTT …)
- slave_metas _#. json - ustvarjeno med izvajanjem za vsako številko naslova pomožnika (#)
- user_card _#. json - končna točka po meri, ki jo je treba integrirati v deviceInfo za vsako številko podrejenega naslova (#)
- user_card_base.json - končna točka po meri, ki jo je treba integrirati v deviceInfo za napravo
- user_meta _#. json - metapodatki po meri preglasijo podrejene za vsako številko naslova podrejenega (#)
- user_props.json - imena lastnosti po meri za preglasitev tistih v metapodatkih podrejenih
-
cors
- card -webcomponent.css - slog za različne kartice po meri
- card -webcomponent.html - spletna komponenta za različne kartice po meri
-
urednik
- assimilate -logo-p.webp" />
- edit.htm.gz - gzip HTML -ja urejevalnika Ace
- edit.htm.src - izvirni HTML urejevalnika Ace
- favicon -32x32-p.webp" />
NALOŽBA PROGRAMSKE OPREME
- Repozitorij kod najdete tukaj (posnetek).
- ZIP knjižnice najdete tukaj (posnetek).
- Navodila za "Uvoz knjižnice ZIP" tukaj.
- Ko je knjižnica nameščena, lahko odprete primer "mqtt_crouton_esp8266_cors_webcomponents".
- Navodila za nastavitev Arduina za Wemos D1 Mini tukaj.
- Odvisnosti: ArduinoJson, TimeLib, PubSubClient, NeoTimer (glejte priloge, če kršite spremembe v skladiščih).
NALOŽI V SPIFFE
Ko je koda naložena v Arduino IDE, odprite device.json v mapi data/config:
- Spremenite vrednost wifi_ssid z vašim SSID -jem WiFi.
- S ključem WiFi spremenite vrednost wifi_key.
- Spremenite vrednost imena mqtt_device_name z želeno identifikacijo naprave (združevanje ni potrebno).
- Spremenite vrednost mqtt_device_description z želenim opisom naprave (v Croutonu).
- Shrani napravo.json.
- Naložite podatkovne datoteke v SPIFFS.
Glavna vstopna točka za primer AssimilateBus:
/* |
* |
*PRAVILA POSLOVANJA VAŠE NAPRAVE PRIČAKUJEMO, KI JIH UPRAVLJAJO PREKO MQTT - V TEJ VGRADNJI NE TEŽKO |
* |
* Razen nastavitve in zanke v tej datoteki |
* pomembni gibljivi deli so |
* on_bus_received in on_bus_complete v static_i2c_callbacks.ino |
* in |
* mqtt_publish in mqtt_callback v static_mqtt.ino |
* |
*/ |
#include "types.h" |
#include "VizJson.h" |
#include "assimilate_bus.h" |
#include "debug.h" |
#include "config.h" |
#vključi |
#vključi // nastavite MQTT_MAX_PACKET_SIZE na ~ 3000 (ali vaše potrebe po napraviInfo json) |
#vključi |
#vključi |
#vključi |
#vključi |
#vključi |
// --------------------------------- SPOMINSKE IZJAVE |
// ------------------------------------------------ - opredeljuje |
#defineDBG_OUTPUT_FLAG2 // 0, 1, 2 MINIMALNO, RELEASE, FULL |
#define_mqtt_pub_topic "outbox" // KROVONSKE KONVENCIJE |
#define_mqtt_sub_topic "nabiralnik" |
// ------------------------------------------------ - predmeti razreda |
Odpravljanje napak _debug (DBG_OUTPUT_FLAG); |
AssimilateBus _assimilate_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); |
// ------------------------------------------------ - podatkovne strukture / spremenljivka |
RuntimeDeviceData _runtime_device_data; |
PropertyDto _dto_props [50]; // največ 10 pomožnih oseb x največ 5 lastnosti |
// ------------------------------------------------ - krmilni tok |
volatilebool _sent_device_info = false; |
bajt _dto_props_index = 0; |
bool _fatal_error = false; |
// --------------------------------- IZJAVE O PODROČJU DELOVANJA |
// ------------------------------------------------ - static_i2c_callbacks.ino |
voidon_bus_received (bajt slave_address, bajt prop_index, vloga vloge, ime char [16], vrednost char [16]); |
voidon_bus_complete (); |
// ------------------------------------------------ - static_mqtt.ino |
voidmqtt_callback (char* tema, bajt* koristna obremenitev, dolžina brez podpisa); |
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 *končna točka, constchar *koristna obremenitev); |
boolmqtt_ensure_connect (); |
voidmqtt_subscribe (char *root_topic, char *DeviceName, char *končna točka); |
voidi2c_set_and_get (naslov bajtov, koda bajtov, constchar *param); |
// ------------------------------------------------ - static_server.ino |
String server_content_type_get (ime datoteke niza); |
boolserver_path_in_auth_exclusion (Pot niza); |
boolserver_auth_read (pot niza); |
boolserver_file_read (pot niza); |
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 (IP naslov in naslov); |
char *time_stamp_get (); |
// ------------------------------------------------ - static_utility.ino |
String spiffs_file_list_build (Pot niza); |
voidreport_deserialize_error (); |
voidreport_spiffs_error (); |
boolcheck_fatal_error (); |
boolget_json_card_type (bajt slave_address, bajt prop_index, char *type_card); |
boolget_struct_card_type (bajt slave_address, byte prop_index, char *type_card); |
boolget_json_is_series (bajt slave_address, bajt prop_index); |
voidstr_replace (char *src, constchar *oldchars, char *newchars); |
byte get_prop_dto_idx (bajt slave_address, bajt prop_index); |
// --------------------------------- GLAVNO |
voidsetup () { |
DBG_OUTPUT_PORT.začni (115200); |
SetupDeviceData device_data; |
Serial.println (); Serial.println (); // rob za smeti konzole |
zamuda (5000); |
if (DBG_OUTPUT_FLAG == 2) DBG_OUTPUT_PORT.setDebugOutput (true); |
_debug.out_fla (F ("nastavitev"), res, 2); |
// dobimo zahtevano konfiguracijo |
if (SPIFFS.begin ()) { |
_debug.out_str (spiffs_file_list_build ("/"), res, 2); |
if (! _config_data.get_device_data (device_data, _runtime_device_data)) { |
report_deserialize_error (); |
vrnitev; |
} |
} drugo { |
report_spiffs_error (); |
vrnitev; |
} |
// uporabite vrednost časovnika, nastavljeno v 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 (ime_podatka.ntp_server_name, data_data.time_zone); |
server_init (); |
// začetek zbiranja metapodatkov |
_assimilate_bus.get_metadata (); |
_assimilate_bus.print_metadata_details (); |
mqtt_ensure_connect (); |
// potrebuje lastnost senzorja (imena) za dokončanje zbiranja metapodatkov |
_assimilate_bus.get_properties (on_bus_received, on_bus_complete); |
_timer_property_request.reset (); // lahko do te točke izteče opazen čas, zato začnite znova |
} |
voidloop () { |
if (! check_fatal_error ()) vrnitev; |
mqtt_loop (); |
_server.handleClient (); |
if (_timer_property_request.repeat ()) {{100} {101} |
_assimilate_bus.get_properties (on_bus_received, on_bus_complete); |
} |
} |
oglejte si rawmqtt_crouton_esp8266_cors_webcomponents.ino, ki ga gosti ❤ GitHub
5. korak: KARTICA ZA NAPRAVO
Kartica naprave (tip kartice: assim-device) gostuje na spletnem mestu in je ni treba vročiti iz naprave (CORS).
Na privzeti strani so navedeni:
- Teme MQTT za branje in pisanje v napravo
- Dostopna točka, na katero je naprava povezana
- Povezava do urejevalnika datotek SPIFFS, ki gostuje v napravi z urejevalnikom ACE
- Ikona oči, ki razkrije stran Pokaži/skrij kartico.
Na strani Pokaži/skrij kartico so navedeni:
- Vsaka kartica kot ločen predmet
- Krepko modra pisava pri prikazu
- Črna navadna pisava, ko je skrita
- Ikona, ki prikazuje vrsto kartice.
Kartico lahko skrijete tako, da kliknete gumb za skrivanje na karticah ali kliknete element z modro krepko pisavo na seznamu. Kartice lahko prikažete s klikom na element črne normalne pisave na seznamu.
S to funkcijo so ohlapno povezani nazdravljeni z informacijami. Če ima katera od končnih točk v DeviceInfo dodeljeno lastnost info, bo poleg gumba za skrivanje na kartici prikazan gumb z informacijami. Ko kliknete, bodo kontekstni podatki, opredeljeni v končni točki, "nazdravljeni" v oknu.
Če kartica naprave ni definirana, gumbi za skrivanje ne bodo prikazani na karticah. To je zato, ker jih enkrat, ko so skriti, ni več mogoče prikazati.
Za podrobnosti o tem, kako lahko kartico asim-naprave dodate prek datotek SPIFFS na ESP8266, glejte ENDPOINT CUSTOMISATION.
Spletna komponenta AssimilateCrouton
POKAŽI Skrij ikono |
OBLIKA NAPRAVE |
div> |
POKAŽI Skrij seznam |
predloga> |
paper-listbox> |
div> |
crouton-card> |
predloga> |
dom-module> |
oglejte si rawassim-device.html, ki ga gosti ❤ GitHub
6. korak: KARTICA ZA VIDIK
Kartica tedenskega ogleda (vrsta kartice: assim-weekview) gostuje v napravi (mapa cors). Vbrizga se v paket deviceInfo, objavljen za AssimilateCrouton, z dodajanjem datoteke config/user_card _#. Json v SPIFFS (v tem primeru user_card_9.json).
PREGLED
Delovni dnevi so predstavljeni kot seznami časovnih razporedov. Zrnatost časovne reže je nastavljena z lastnostjo "interval_mins" v config/user_card _#. Json. To mora biti del ure ali večkratnik ure, npr. 10, 15, 20, 30, 60, 120, 360. S klikom na časovno režo zagotovite, da je za povezano napravo v tem času ukazano stanje vklopa. Če je časovni razpored zdaj, se za napravo takoj pošlje (objavi) ukaz. Običajno se stanje preverja/objavlja vsako minuto. Izbire se shranijo v LocalStorage, zato se bodo časi znova naložili z osvežitvijo brskalnika.
UPORABA PRIMEROV
V svojem trenutnem stanju je tedenski pogled primeren za naprave, ki lahko uporabijo preklopno stikalo za prikaz stanja, kar pomeni, da so vklopljene ali izklopljene in po nastavitvi ostanejo v tem stanju. Luči, ventilatorji in grelniki vode so dobri kandidati.
OMEJITVE/OPOZORILA
- Interval_mins mora biti ena od zgoraj navedenih vrednosti
- Tedenski pogled ne podpira trenutnih dejanj, ki so tudi načrtovana, na primer na kratko vklopite dotik (5 sekund) dvakrat na dan.
PRIHODNOST
- Pričakuje se, da bodo podprti trenutni ukrepi.
- Sinhroniziran pomnilnik med napravami, za izbiro urnika se razmišlja.
7. korak: PRILAGAJANJE KONČNE TOČKE
Kot je bilo omenjeno v FIRMWARE, sta v datotečnem sistemu SPIFFS dodani dve novi konvenciji za prilagajanje končnih točk. Datoteke JSON so fragmenti, ki se dodajo lastnosti končnih točk v paketu deviceInfo, objavljenem v posredniku MQTT, ki postane definicija nadzorne plošče.
Ključi končnih točk so ustvarjeni v vdelani programski opremi:
- CC_device (kartica po meri) za user_card_base.json
- CC_SLAVE_ENDPOINT NAME za user_card _#. Json (# je podrejeni naslov)
Kot smo že omenili, obstajajo spremenljivke, ki se med izvajanjem nadomestijo z vrednostmi:
- mqtt_device_name
- wifi_ssid
- local_ip
user_card_base.json
Primer:
user_card _#. json
Primer:
8. korak: VIDEO
Priporočena:
Gasilni aparat senzorja temperature in vlažnosti senzorja (Arduino UNO): 11 korakov
Samodejni gasilni aparat s senzorjem temperature in vlažnosti (Arduino UNO): Ta projekt je bil namenjen vsem v domovih ali podjetjih kot senzor temperature in vlažnosti, prikazan na LCD -prikazovalniku, ter senzor plamena, povezan z zvočnikom in vodno črpalko za gašenje. požar v nujnih primerih
IOT123 - PODEŠILO SENZORJA ZA ASIMILACIJO: ICOS10 GENERIC SHELL (HOOKUP WIRE) Montaža: 4 koraki
IOT123 - POVEZALO SENZORJA ZA ASIMILACIJO: ICOS10 GENERIČNA LUKNJA (ŽICA HOOKUP) Sestava: UPDATE Za večjo zanesljivost priporočamo uporabo IDC vezja (ne HOOKUP). Ta sklop HOOKUP je primeren za delovanje brez kritične naloge, če imate čas za preverjanje vezja. Našel sem nekaj žic (zgornja plast plošč: rdeča/rumena), ki niso dovolj dolge
IOT123 - PODEŠILO SENZORJA ZA ASIMILIRANJE: ICOS10 3V3 MQTT NODE: 6 korakov
IOT123 - POVEZALO SENZORJA ZA ASIMILIRANJE: ICOS10 3V3 MQTT NODE: To je prvo v različnih kombinacijah MCU/funkcij v HUB -jih ASSIMILATE SENSOR: poveljniki, ki zbirajo izpise podatkov iz podrejenih senzorjev I2C ASSIMILATE SENSORS. Ta gradnja uporablja Wemos D1 Mini za objavo vseh podatkov, odstranjenih iz ASSIMILATE
Kdo je pri mojih vratih? Projekt PIR senzorja gibanja/senzorja dosega: 5 korakov
Kdo je pri mojih vratih? Projekt senzorja gibanja PIR/senzorja dosega: Naš projekt je namenjen zaznavanju gibanja prek PIR in senzorjev razdalje. Koda Arduino bo oddajala vizualni in zvočni signal, ki bo uporabniku povedal, da je nekdo v bližini. Koda MATLAB bo poslala e -poštni signal, ki bo uporabnika opozoril, da je nekdo v bližini. Ta naprava
Metode odkrivanja nivoja vode Arduino z uporabo ultrazvočnega senzorja in senzorja vode Funduino: 4 koraki
Metode odkrivanja nivoja vode Arduino z uporabo ultrazvočnega senzorja in senzorja vode Funduino: V tem projektu vam bom pokazal, kako z dvema metodama ustvarite poceni detektor vode: 1. Ultrazvočni senzor (HC-SR04) .2. Senzor vode Funduino