Sadržaj:

IOT123 - Čvorište asimiliranog senzora: ICOS10 WEBSEREV ZA PRILAGOĐAVANJE: 11 koraka
IOT123 - Čvorište asimiliranog senzora: ICOS10 WEBSEREV ZA PRILAGOĐAVANJE: 11 koraka

Video: IOT123 - Čvorište asimiliranog senzora: ICOS10 WEBSEREV ZA PRILAGOĐAVANJE: 11 koraka

Video: IOT123 - Čvorište asimiliranog senzora: ICOS10 WEBSEREV ZA PRILAGOĐAVANJE: 11 koraka
Video: IOT123 - BYKO LIVE RIDE 2024, Novembar
Anonim
IOT123 - Čvorište asimiliranih senzora: ICOS10 WEBSEREV ZA PRILAGOĐAVANJE
IOT123 - Čvorište asimiliranih senzora: ICOS10 WEBSEREV ZA PRILAGOĐAVANJE
IOT123 - Čvorište asimiliranih senzora: ICOS10 WEBSEREV ZA PRILAGOĐAVANJE
IOT123 - Čvorište asimiliranih senzora: ICOS10 WEBSEREV ZA PRILAGOĐAVANJE
IOT123 - Čvorište asimiliranih senzora: ICOS10 WEBSEREV ZA PRILAGOĐAVANJE
IOT123 - Čvorište asimiliranih senzora: ICOS10 WEBSEREV ZA PRILAGOĐAVANJE

Podređeni senzor za asimilaciju/akter ugrađuju metapodatke koji se koriste za definiranje vizualizacija u Croutonu. Ova verzija dodaje web poslužitelj u ESP8266 Master, služi nekim konfiguracijskim datotekama koje korisnik može izmijeniti, a zatim ih koristi za redefiniranje vizualizacija. Tako se nazivi kartica nadzorne ploče i većina konfigurabilnih svojstava mogu promijeniti. To je bilo potrebno npr. DHT11 objavljuje svojstva temperature i vlažnosti: ako web lokacija ima nekoliko čvorova s odvojenim DHT11 senzorima, svi se ne mogu nazvati temperaturom (temperatura garaže, temperatura dvorišta …). Ograničenje dužine metapodataka koje postavlja I2C sabirnica (16 znakova) ne postoji i mogu se primijeniti bogatije vrijednosti (do 64 znaka).

Opcionalna osnovna provjera autentičnosti može se konfigurirati za uređivanje web stranice, kao i lista izuzimanja iz provjere autentičnosti za druge resurse.

Prekidač sa niske strane koji isključuje pomoćne uređaje kada je potrebno, takođe je razvijen na postojećoj pomoćnoj ploči.

Kao tehnička napomena, prije početka ove gradnje memorijski otisak je bio 70% zbog globalnog grafikona objekata metapodataka. Najnovija biblioteka AssimilateBus imala je prelomne promjene koje razdvajaju globalnu varijablu na manje JSON datoteke spremljene u SPIFFS. Ovo je vratilo otisak na ~ 50%, što je sigurnije za cijelu JSON analizu/izgradnju. Knjižnica AssimilateBusSlave ostaje ista (ASSIM_VERSION 2) tokom ovih promjena.

OSOBINE I VIZIJA

Trenutno su Slaveovi (senzori i akteri) samostalni i oslanjaju se na I2C poruke zasnovane na konvencijama za čitanje svojstava ili radnju po naredbama. Master preuzima metapodatke i svojstva od podređenih i šalje ih MQTT brokeru. Pokreće i web poslužitelj i služi JSON datotekama koje se mogu uređivati za konfiguriranje glavnog i prilagođavanje metapodataka/svojstava koje na kraju potroši Crouton. Pojedini senzori/glumci se čitaju/komanduju preko Croutona bez da gospodar ima predznanje o tome šta robovi rade.

Jedan od ciljeva ASSIMILATE IOT MREŽE je prilagoditi Croutona tako da se uređivači mashupa koji se poslužuju s IOT NODE web servera (poput ove verzije) dodaju kao web komponente koje će dati potpunu kontrolu nad onim što stvar radi, tj. Master nije programiran, robovi imaju osnovne skupove funkcija, ali Croutonova nadzorna ploča ugrađuje sva poslovna pravila potrebna za pokretanje!

Vilica Crouton se vidi kao opcija za decentraliziranu kontrolu/konfiguraciju stvari. U suštini, svaki MQTT klijent/GUI kombinacija može upravljati vašim stvarima, jer su sve funkcije (senzori i akteri) izložene kao MQTT krajnje tačke.

Korak 1: Crouton

Crouton
Crouton
Crouton
Crouton

Crouton. https://crouton.mybluemix.net/ Crouton je nadzorna ploča koja vam omogućuje vizualizaciju i kontrolu vaših IOT uređaja uz minimalno postavljanje. U osnovi, to je najjednostavnija nadzorna ploča za postavljanje za svakog ljubitelja IOT hardvera koji koristi samo MQTT i JSON.

ASIMILATIVNI SLOVENI (senzori i akteri) imaju ugrađene metapodatke i svojstva koja master koristi za izgradnju deviceInfo json paketa koji Crouton koristi za izradu nadzorne ploče. Posrednik između ASSIMILATE NODES -a i Crouton -a je MQTT posrednik koji je prilagođen web -utičnicama: za demonstraciju se koristi komarac.

Kako ASSIMILATE MASTER (ova verzija) zahtijeva svojstva, on formatira vrijednosti odgovora u potrebnom formatu za Croutonova ažuriranja.

Korak 2: Web server / urednik

Web server / urednik
Web server / urednik
Web server / urednik
Web server / urednik

Kako se Master podiže (ova verzija), pokreće se ugrađeni web poslužitelj. IP adresa se šalje na serijsku konzolu; na kraju će ovo biti objavljeno na Croutonovoj nadzornoj ploči.

Kad dođete do navedenog URL -a, ACE EDITOR će se učitati:

Ace je uređivač koda koji se može ugraditi napisan u JavaScript -u. Odgovara karakteristikama i performansama izvornih urednika kao što su Sublime, Vim i TextMate.

Ace je popularan kod ugrađenih web servera i pruža dobro sučelje za uređivanje i spremanje JSON datoteka.

Klikom na naziv datoteke s lijeve strane datoteka će se pročitati sa SPIFFS -a na ESP8266, a sadržaj će se učitati za uređivanje s desne strane. Datoteka se može spremiti s gornje trake s alatima.

Da biste učitali datoteku:

  1. Odaberite Datoteka iz vašeg lokalnog sistema datoteka.
  2. Umetnite putanju foldera (ako je potrebno) u okvir za tekst.
  3. Kliknite Otpremi.
  4. Osvježite stranicu.

Korak 3: Prilagođavanje uređaja

Prilagođavanje uređaja
Prilagođavanje uređaja

Konfiguracija uređaja (ESP8266) se vrši putem datoteke device.json.

Neki od ovih unosa (wifi_ssid, wifi_key) morat će se izmijeniti prije nego što postavite podatke na SPIFFS (ESP8266 Sketch Data Upload).

Potražite korijen web poslužitelja (prikazano u izlazu konzole poput

UREĐIVANJE

U ACE EDITOR -u odaberite config/device.json.

Unosi su:

  • www_auth_username: korisničko ime za autorizaciju za datoteke web poslužitelja (prazno za autorizaciju).
  • www_auth_password: autorizacijska lozinka za datoteke web poslužitelja (ako je definirano korisničko ime).
  • www_auth_exclude_files: lista staza datoteka razdvojenih tačkom i zarezom koja se isključuje iz provjera autorizacije (ako je definirano korisničko ime).
  • sensor_interval: milisekunde između objavljivanja podataka u MQTT brokeru.
  • ntp_server_name: ime vremenskog servera koji će se koristiti.
  • time_zone: pomak u satima za vaše lokalno vrijeme.
  • wifi_ssid: SSID vaše lokalne pristupne tačke.
  • wifi_key: ključ za korištenje SSID -a.
  • mqtt_broker: adresa brokera MQTT.
  • mqtt_username: korisničko ime koje se koristi za posrednika MQTT (prazno jer nije potreban račun).
  • mqtt_password: lozinka za korištenje od MQTT korisničkog imena.
  • mqtt_port: MQTT port posrednika.
  • mqtt_device_name: ime za upotrebu za MQTT teme i Croutonovu identifikaciju.
  • mqtt_device_description: opis uređaja prikazanog u Croutonu.
  • viz_color: boja za identifikaciju kartica uređaja u Croutonu (u račvastoj verziji)

Korak 4: Prilagođavanje imovine

Prilagođavanje imovine
Prilagođavanje imovine
Prilagođavanje imovine
Prilagođavanje imovine
Prilagođavanje imovine
Prilagođavanje imovine

Svaki od Slaveova ima niz nvc struktura definiran u datoteci definitions.h:

// --------------------------------------- OBJAVLJENE NEKRETNINE

nvc reps [2] = {{"Vlažnost", "", tačno}, {"Temperatura", "", lažno}}; // --------------------------------------- KRAJ OBJAVLJENE NEKRETNINE

Svaki od unosa ima indeks, a prvi je 0 (nula).

Prilagođavanje naziva svojstva vrši se putem datoteke user_props.json.

Potražite korijen web poslužitelja (prikazano u izlazu konzole poput

UREĐIVANJE

U ACE EDITOR -u odaberite config/user_props.json (ili ga učitajte).

Struktura je:

Prvi ključ je adresa pomoćnog računa u datoteci definitions.h koju je identificirao:

#define ADDRESS_SLAVE XX

  • Sljedeći nivo ključeva je Indeks svojstva.
  • Vrijednost tog ključa je naziv svojstva koje ćete koristiti u Croutonu umjesto naziva svojstva definiranog u datoteci definicija.

Korak 5: Prilagođavanje metapodataka

Prilagođavanje metapodataka
Prilagođavanje metapodataka
Prilagođavanje metapodataka
Prilagođavanje metapodataka
Prilagođavanje metapodataka
Prilagođavanje metapodataka
Prilagođavanje metapodataka
Prilagođavanje metapodataka

Zbog količine mogućih prilagodbi, svaki slave ima svoju datoteku za izmjenu metapodataka. Datoteke trebaju biti u formatu user_metas_.json.

Adresa slave se nalazi u datoteci definitions.h u skicama ATTINY85:

#define ADDRESS_SLAVE XX

Metapodaci su definirani u istoj datoteci ovako:

const static char viz1 PROGMEM = "VIZ_CARD_TYPE";

const static char viz2 PROGMEM = "2: grafikon-krafna"; const static char viz3 PROGMEM = "1";

Prvi red je naziv stavke metapodataka.

Drugi red je vrijednost. Općenito ima sufiks indeksa svojstava.

Treći red je zastava nastavka. 1 - nastavak, 0 - kraj metapodataka (VCC_MV).

Potražite korijen web poslužitelja (prikazano u izlazu konzole poput

UREĐIVANJE

U ACE EDITOR -u odaberite config/user_metas_SLAVE_ADDRESS.json (ili ga učitajte). Struktura je:

  • Niz parova ime/vrijednost.
  • Name je naziv stavke metapodataka koju treba promijeniti.
  • Vrijednost je promjena. Indeksni sufiks se provjerava radi zamjene.

Korak 6: Materijali i alati

Materijali i alati
Materijali i alati
Materijali i alati
Materijali i alati
Materijali i alati
Materijali i alati

ICOS10 (IDC) Shell Bill of Materials

  1. D1M BLOK Zatik pin (1)
  2. D1M BLOK baza i kućište (1)
  3. Wemos D1 Mini (1)
  4. Wemos D1 Mini protoboard štit (1)
  5. Ženski zaglavlji 40P (8P, 8P, 9P, 9P)
  6. Muški zaglavlje 90º (3P, 3P, 3P, 2P, 1P, 2P)
  7. 1 "dvostrana protoboard (2)
  8. 2N7000 NFET (1)
  9. ID zaglavlje sa 6 kontakata obavijeno IDC -om (1)
  10. Spojna žica (~ 10)
  11. 0,5 mm kalajisana žica (~ 4)
  12. 4G x 15 mm Samorezni vijci s gumbom (2)
  13. 4G x 6 mm samorezni vijci sa upuštenom glavom (~ 20)
  14. Lemljenje i gvožđe (1)

Korak 7: Priprema MCU -a

Image
Image
Priprema MCU -a
Priprema MCU -a

U ovoj verziji koristimo Wemos D1 Mini. Ako ste već izgradili D1M WIFI BLOK, možete ga koristiti za modularnu hardversku komponentu. Ako ne, slijedite sljedeći odjeljak kao minimum.

LETLJENJE PINOVA GLAVE NA MCU (pomoću PIN JIG -a) Ako ne možete odštampati PIN JIG, samo sledite uputstva i improvizujte: visina (pomak) PIN JIG -a je 6,5 mm.

  1. Odštampajte/nabavite PIN JIG sa ove stranice.
  2. Igle zaglavlja provucite kroz dno ploče (TX desno-lijevo) i u ubodnu lemilicu.
  3. Pritisnite igle prema dolje na tvrdu ravnu površinu.
  4. Čvrsto pritisnite ploču na držač.
  5. Lemite 4 ugaone igle.
  6. Ponovo zagrijte i po potrebi postavite ploču/igle (ploča ili igle nisu poravnate ili okomite).
  7. Lemite ostale igle.

Učitavanje firmvera

Spremište koda možete pronaći ovdje (snimak).

ZIP biblioteke možete pronaći ovdje (snimak).

Upute za "Uvoz ZIP biblioteke" ovdje.

Nakon što je biblioteka instalirana, možete otvoriti primjer "mqtt_crouton_esp8266_customization_webserver".

Upute za postavljanje Arduina za Wemos D1 Mini ovdje.

Zavisnosti: ArduinoJson, TimeLib, PubSubClient, NeoTimer (pogledajte priloge ako se krše promjene u spremištima).

UČITAJ U SPIFFOVE

Nakon što se kôd učita u Arduino IDE, otvorite device.json u mapi data/config:

  1. Izmijenite vrijednost wifi_ssid sa svojim WiFi SSID -om.
  2. Izmijenite vrijednost wifi_key sa svojim WiFi ključem.
  3. Izmijenite vrijednost mqtt_device_name sa željenom identifikacijom uređaja (spajanje nije potrebno).
  4. Izmijenite vrijednost mqtt_device_description sa željenim opisom uređaja (u Croutonu).
  5. Sačuvajte device.json.
  6. Prenesite datoteke s podacima u SPIFFS.

Korak 8: Priprema stambenog prostora MCU

Image
Image
Priprema stambenog prostora MCU -a
Priprema stambenog prostora MCU -a
Priprema stambenog prostora MCU -a
Priprema stambenog prostora MCU -a

MCU kućište izlaže zaglavlja za D1 Mini u koje se može priključiti i zaglavlja za pomoćne ploče koje komuniciraju sa utičnicom (senzori i akteri).

HOUSING HEADERS Ovo je zasnovano na D1 Mini Protoboard -u i razbija ove pinove:

  1. Igle za D1M WIFI BLOCK/D1 Mini za povezivanje.
  2. Izravni prekidi 2 reda kontakata iz D1M WIFI BLOCK/D1 Mini. Oni su dostupni samo radi praktičnosti tijekom izrade prototipa. Očekuje se da će pomoćne ploče blokirati sav pristup ovim zaglavljima.
  3. 4 Razbijanje posebnih pinova koje koriste pomoćne ploče.

Za dodavanje kontakata D1M u GLAVNU KUĆU:

  1. Pogledajte VIDEO VOĐENJE KORIŠĆENJA UTIČNICE.
  2. Igle zaglavlja provucite kroz dno ploče (TX gore-lijevo na gornjoj strani).
  3. Umetnite ubod preko plastične glave i poravnajte obje površine.
  4. Okrenite sklopku i sklop i čvrsto pritisnite glavu na tvrdu ravnu površinu.
  5. Čvrsto pritisnite ploču na držač.
  6. Lemite 4 kutna klina minimalnim lemljenjem (samo privremeno poravnavanje pinova).
  7. Ponovo zagrijte i po potrebi postavite ploču/igle (ploča ili igle nisu poravnate ili okomite).
  8. Lemite ostale igle.
  9. Uklonite šablon.
  10. Odrežite igle iznad lemljenja.

Da biste dodali prekide na kćeri, učinite sljedeće:

  1. Odsecite 4 ženska zaglavlja 9P.
  2. Na vrhu umetnite 9P zaglavlja kao što je prikazano, a lemite na dnu.

Da biste dodali izravne prekide:

  1. Odrežite 2 ženska zaglavlja 8P.
  2. Na vrhu umetnite 8P zaglavlja kao što je prikazano, a lemite na dnu.

Za spajanje zaglavlja, na dnu s TX iglom usmjerenom prema gore:

  1. Praćenje i lemljenje sa RST pina preko 4 pina.
  2. Praćenje i lemljenje od A0 pina preko 4 pina.
  3. Praćenje i lemljenje sa D1 pina preko 4 pina.
  4. Praćenje i lemljenje sa D2 pina preko 4 pina.
  5. Praćenje i lemljenje od D0 zakačite 2 reda preko 4 igle.
  6. Praćenje i lemljenje sa D7 pina preko 4 pina.
  7. Praćenje i lemljenje sa GND pina preko 4 pina.
  8. Praćenje i lemljenje od 5V pina preko 4 pina.
  9. Praćenje i lemljenje od 3V3 igle prema dolje 45 ° kroz 4 igle.

MONTAŽA STAVKE

HOUSING HEADERS je pričvršćen na MCU HOUSING, a ovaj je pričvršćen na OSNOVNU PLOČU.

  1. S dugom stranom GLAVA KUĆIŠTA usmjerenom prema rupi, umetnite D1M CONTACTS u otvore u MCU KUĆIŠTU i gurnite prema dolje.
  2. Umetnite MCU na MCU CONTACTS tokom postavljanja kako biste osigurali pravilno poravnanje.
  3. Postavite OKVIR GLAVE na vrh sklopova i pričvrstite ga s 2 vijka 4G x 16 mm.
  4. Postavite montirana tijela s rupom usmjerenom prema kratkoj strani i pričvrstite vijcima 4G x 6 mm.

Korak 9: Izgradnja Slaves prekidača sa niske strane/RESET kćeri

Izgradnja Slaves prekidača sa niske strane/RESET kćeri
Izgradnja Slaves prekidača sa niske strane/RESET kćeri
Izgradnja Slaves prekidača sa niske strane/RESET kćeri
Izgradnja Slaves prekidača sa niske strane/RESET kćeri
Izgradnja pomoćnog prekidača sa niske strane/RESET kćeri
Izgradnja pomoćnog prekidača sa niske strane/RESET kćeri

Ovo je poboljšanje REST pomoćne ploče razvijene u posljednjoj verziji. Ovo dodaje prekidač sa niske strane koji povezuje slave uređaje sa GROUND. Ako se master resetira, slave će se također pokrenuti, a inicijalizacija koja širi metapodatke će ponovno započeti.

MONTAŽA

  1. Sa unutrašnje strane umetnite muške zaglavlje 9P 90 ° (1), 1P 90 ° muški zaglavlje (2), 2N7000 (3) i lemite spolja.
  2. Na unutrašnjoj strani ucrtajte žutu žicu od ŽUTE1 do ŽUTE2 i lemite.
  3. S unutarnje strane ogolite žicu od SILVER1 do SILVER2 i lemite.
  4. Sa unutrašnje strane navucite golu žicu od SREBRNOG3 do SREBRNOG4 i lemite.

Korak 10: Sastavljanje glavnih komponenti

Sklapanje glavnih komponenti
Sklapanje glavnih komponenti
Sklapanje glavnih komponenti
Sklapanje glavnih komponenti
Sklapanje glavnih komponenti
Sklapanje glavnih komponenti
Sklapanje glavnih komponenti
Sklapanje glavnih komponenti
  1. Uvjerite se da je školjka izgrađena i da je kolo ispitano (kabel i utičnice).
  2. Zamijenite 2P muško zaglavlje na 3V3 I2C KUĆNOJ PLOČI sa 2P 90º 1P muškim zaglavljem.
  3. Umetnite 3V3 I2C DAUGHTER-BOARD, sa 3V3 iglom na otrcanom kraju zaglavlja (vidi sliku).
  4. Umetnite KUĆU PLOČU ZA NIZU STRANICU/RESETIRANJE, sa žicom prema unutra (vidi sliku).
  5. Ucrtajte Dupont provodnik između muškog zaglavlja 90º 1P na RESET DAF KARTI do 3V3 I2C DAUGHTER BOARD.
  6. Umetnite IDC utičnicu iz ŠKOLSKOG KABLA u IDC zaglavlje na 3V3 I2C KUĆI.
  7. Pažljivo umetnite KUĆNE PLOČE/KUĆIŠTE između kabela u ŠKOLICI i poravnajte rupe za podnožje.
  8. Pričvrstite OSNOVNI SKLOP na ŠKOLICU vijcima 4G x 6 mm.
  9. Priložite sve ASIMILIRANE SENZORE koje ste napravili.

Korak 11: Sljedeći koraci

Image
Image
Sljedeći koraci
Sljedeći koraci
Sljedeći koraci
Sljedeći koraci
  1. Usmjerite svoj preglednik na
  2. Uvjerite se da je posrednik test.mosquitto.org.
  3. Pritisnite Connect.
  4. Unesite unos naziva uređaja kao mqtt_device_name u datoteci /config/device.json.
  5. Kliknite Dodaj uređaj.
  6. Kliknite Automatsko povezivanje.
  7. Uključite svoj ICOS10 (5V MicroUSB).
  8. Provjerite putem Croutonove nadzorne ploče.

Preporučuje se: