Sisukord:

IOT123 - ASISIMILEERITUD SENSORI HUB: ICOS10 CUSTOMIZATION WEBSEREVER: 11 sammu
IOT123 - ASISIMILEERITUD SENSORI HUB: ICOS10 CUSTOMIZATION WEBSEREVER: 11 sammu

Video: IOT123 - ASISIMILEERITUD SENSORI HUB: ICOS10 CUSTOMIZATION WEBSEREVER: 11 sammu

Video: IOT123 - ASISIMILEERITUD SENSORI HUB: ICOS10 CUSTOMIZATION WEBSEREVER: 11 sammu
Video: MQ-2 датчик газов и дыма подключаем к Arduino 2024, Juuli
Anonim
IOT123 - ASISIMILEERITUD SENSORI HUB: ICOS10 CUSTOMIZATION WEBSEREVER
IOT123 - ASISIMILEERITUD SENSORI HUB: ICOS10 CUSTOMIZATION WEBSEREVER
IOT123 - ASISIMILEERITUD SENSORI HUB: ICOS10 CUSTOMIZATION WEBSEREVER
IOT123 - ASISIMILEERITUD SENSORI HUB: ICOS10 CUSTOMIZATION WEBSEREVER
IOT123 - ASIMILEERIMISENSURI HUB: ICOS10 CUSTOMIZATION WEBSEREVER
IOT123 - ASIMILEERIMISENSURI HUB: ICOS10 CUSTOMIZATION WEBSEREVER

ASSIMILATE SENSOR/ACTOR Slaves manustab metaandmeid, mida kasutatakse Croutoni määratlevate visualiseerimiste jaoks. See ehitis lisab veebiserveri ESP8266 Masterile, teenindab mõnda konfiguratsioonifaili, mida kasutaja saab muuta, ja kasutab seejärel neid faile visualiseerimiste uuesti määratlemiseks. Seega saab armatuurlaua kaartide nimesid ja enamikku konfigureeritavaid atribuute muuta. See oli vajalik nt. DHT11 avaldab temperatuuri ja niiskuse omadused: kui saidil on mitu sõlme, millel on eraldi DHT11 andurid, ei saa neid kõiki nimetada temperatuuriks (garaažitemperatuur, õue temperatuur…). I2C bussi seatud metaandmete pikkuse piirangut (16 märki) ei eksisteeri ja saab kasutada rikkamaid väärtusi (kuni 64 märki).

Valikuline põhiautentimine on redigeeritava veebilehe jaoks konfigureeritav, samuti muude ressursside puhul autentimisest väljaarvamise loend.

Olemasoleval tütarlaual on välja töötatud ka madala külje lüliti, mis vajadusel orjad välja lülitab.

Tehnilise märkusena võib öelda, et enne selle ehituse alustamist oli mälu jalajälg globaalse metaandmete objekti graafiku tõttu 70%. Viimases AssimilateBusi teegis on toimunud katkendlikke muudatusi, mis lahutavad globaalse muutuja väiksemateks SPSFFS -i salvestatud JSON -failideks. See on toonud jalajälje tagasi ~ 50%-ni, mis on kogu JSON -i parsimise/hoone jaoks turvalisem. AssimilateBusSlave raamatukogu jääb nende muudatuste ajal samaks (ASSIM_VERSION 2).

OMADUSED JA VISIOON

Praegu on orjad (andurid ja osalejad) iseseisevad ning nende omaduste lugemiseks või käskude täitmiseks toetuvad nad tavapärastele I2C sõnumitele. Meister võtab orjadelt metaandmed ja atribuudid ning saadab need MQTT maaklerile. Samuti käivitab see veebiserveri ja teenindab JSON -faile, mida saab redigeerida, et konfigureerida põhi ja kohandada metaandmeid/atribuute, mida Crouton lõpuks tarbib. Üksikuid andureid/näitlejaid loetakse/käsutatakse Croutoni kaudu, ilma et kaptenil oleks eelteadmisi sellest, mida orjad teevad.

ASSIMILATE IOT NETWORK üks eesmärke on kohandada Croutoni nii, et IOT NODE veebiserveritest (nagu see ehitis) pakutavad mashup -toimetajad lisatakse veebikomponentidena, mis annavad täieliku kontrolli selle üle, mida asi teeb, st kapten pole programmeeritud, orjadel on põhifunktsioonide komplektid, kuid Croutoni armatuurlaud sisaldab kõiki asja käitamiseks vajalikke ärireegleid!

Croutoni kahvlit peetakse võimaluseks asjade detsentraliseeritud juhtimiseks/konfigureerimiseks. Sisuliselt saab iga MQTT kliendi/graafilise kasutajaliidese kombinatsioon teie asju hallata, kuna kõik funktsioonid (andurid ja osalejad) on avatud MQTT lõpp -punktidena.

Samm: Crouton

Crouton
Crouton
Crouton
Crouton

Crouton. https://crouton.mybluemix.net/ Crouton on armatuurlaud, mis võimaldab minimaalse seadistusega oma IOT -seadmeid visualiseerida ja juhtida. 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 (see ehitis) nõuab atribuute, vormindab see vastuse väärtused Croutoni värskenduste jaoks nõutavas vormingus.

Samm: veebiserver / redaktor

Veebiserver / toimetaja
Veebiserver / toimetaja
Veebiserver / toimetaja
Veebiserver / toimetaja

Kui kapten käivitab (selle ehituse), käivitatakse manustatud veebiserver. IP -aadress väljastatakse jadakonsoolile; lõpuks avaldatakse see Croutoni armatuurlaual.

Kui sirvite määratud URL -i, laaditakse ACE EDITOR:

Ace on JavaScriptiga kirjutatud sisseehitatud koodiredaktor. See sobib kohalike toimetajate, nagu Sublime, Vim ja TextMate, funktsioonide ja jõudlusega.

Ace on populaarne manustatud veebiserverite seas ning pakub head liidest JSON -failide redigeerimiseks ja salvestamiseks.

Vasakul failinimel klõpsates loetakse ESP8266 fail SPIFFS -ist ja laaditakse sisu paremal redigeerimiseks. Faili saab salvestada ülemiselt tööriistaribalt.

Faili üleslaadimiseks tehke järgmist.

  1. Valige kohalikust failisüsteemist fail.
  2. Sisestage tekstikasti kausta tee (vajadusel).
  3. Klõpsake nuppu Laadi üles.
  4. Värskendage lehte.

Samm: seadme kohandamine

Seadme kohandamine
Seadme kohandamine

Seadme konfiguratsioon (ESP8266) toimub faili device.json kaudu.

Mõnda neist kirjetest (wifi_ssid, wifi_key) tuleb enne andmete SPIFFS -i üleslaadimist muuta (ESP8266 Sketch Data Upload).

Sirvige veebiserveri juure (kuvatakse konsooli väljundis nagu

TOIMETAMINE

Valige ACE EDITOR -is config/device.json.

Kirjed on järgmised:

  • www_auth_username: veebiserverifailide autoriseerimise kasutajanimi (tühi, kui pole volitatud).
  • www_auth_password: veebiserverifailide autoriseerimisparool (kui kasutajanimi on määratud).
  • www_auth_exclude_files: semikooloniga piiritletud failide loend, mis tuleb autoriseerimiskontrollist välja jätta (kui kasutajanimi on määratletud).
  • sensor_interval: millisekundid andmete avaldamise vahel MQTT maaklerile.
  • ntp_server_name: kasutatava ajaserveri nimi.
  • time_zone: kohaliku aja nihe tundides.
  • wifi_ssid: kohaliku pääsupunkti SSID.
  • wifi_key: SSID jaoks kasutatav võti.
  • mqtt_broker: MQTT maakleri aadress.
  • mqtt_username: kasutajanimi, mida kasutada MQTT maakleril (tühi, kontot pole vaja).
  • mqtt_password: parool, mida kasutada MQTT kasutajanimest.
  • mqtt_port: MQTT maakleri port.
  • mqtt_device_name: nimi, mida kasutada MQTT teemadel ja Croutoni identifitseerimiseks.
  • mqtt_device_description: Croutonis näidatud seadme kirjeldus.
  • viz_color: värv, mis tuvastab seadmekaardid Croutonis (hargnenud versioonis)

4. samm: kinnisvara kohandamine

Kinnisvara kohandamine
Kinnisvara kohandamine
Kinnisvara kohandamine
Kinnisvara kohandamine
Kinnisvara kohandamine
Kinnisvara kohandamine

Igal orjal on nvc -struktuurimassiiv, mis on määratletud failis definitions.h:

// --------------------------------------- AVALIKUD OMADUSED

nvc rekvisiidid [2] = {{"Niiskus", "", true}, {"Temperatuur", "", vale}}; // --------------------------------------- LÕPP AVALDATUD OMADUSED

Igal kirjel on indeks, millest esimene on 0 (null).

Atribuudi nime kohandamine toimub faili user_props.json kaudu.

Sirvige veebiserveri juure (kuvatakse konsooli väljundis nagu

TOIMETAMINE

Valige ACE EDITORis config/user_props.json (või laadige see üles).

Struktuur on järgmine:

Esimene võti on orja aadress failis definitions.h, mille identifitseerib:

#define ADDRESS_SLAVE XX

  • Järgmine võtmete tase on vara indeks.
  • Selle võtme väärtus on definitsioonifailis määratletud atribuudi nime asemel Croutonis kasutatav atribuudi nimi.

Samm: metaandmete kohandamine

Metaandmete kohandamine
Metaandmete kohandamine
Metaandmete kohandamine
Metaandmete kohandamine
Metaandmete kohandamine
Metaandmete kohandamine
Metaandmete kohandamine
Metaandmete kohandamine

Võimalike kohanduste hulga tõttu on igal orjal oma metaandmete muutmise fail. Failid peavad olema vormingus user_metas_.json.

Alam -aadress asub ATTINY85 visandite failis definitions.h:

#define ADDRESS_SLAVE XX

Metaandmed on samas failis määratletud järgmiselt:

const staatiline sümbol viz1 PROGMEM = "VIZ_CARD_TYPE";

const staatiline sümbol viz2 PROGMEM = "2: chart-donut"; const staatiline sümbol viz3 PROGMEM = "1";

Esimene rida on metaandmete üksuse nimi.

Teine rida on väärtus. Sellel on tavaliselt omaduste indeksi järelliide.

Kolmas rida on jätkulipp. 1 - jätka, 0 - metaandmete lõpp (VCC_MV).

Sirvige veebiserveri juure (kuvatakse konsooli väljundis nagu

TOIMETAMINE

Valige ACE EDITORis config/user_metas_SLAVE_ADDRESS.json (või laadige see üles). Struktuur on järgmine:

  • Nime/väärtuspaaride massiiv.
  • Nimi on muudetava metaandmeüksuse nimi.
  • Väärtus on muutus. Indeksi järelliidet kontrollitakse asendamise suhtes.

6. samm: materjalid ja tööriistad

Materjalid ja tööriistad
Materjalid ja tööriistad
Materjalid ja tööriistad
Materjalid ja tööriistad
Materjalid ja tööriistad
Materjalid ja tööriistad

ICOS10 (IDC) Shelli materjalide nimekiri

  1. D1M BLOCK Pin Jig (1)
  2. D1M BLOCK alus ja korpus (1)
  3. Wemos D1 Mini (1)
  4. Wemos D1 Mini Protoboard Shield (1)
  5. 40P naissoost päised (8P, 8P, 9P, 9P)
  6. Isane päis 90º (3P, 3P, 3P, 2P, 1P, 2P)
  7. 1 "kahepoolne protoboard (2)
  8. 2N7000 NFET (1)
  9. 6 kontaktiga varjatud IDC isane päis (1)
  10. Ühendusjuhe (~ 10)
  11. 0,5 mm tinatraat (~ 4)
  12. 4G x 15 mm nööppea isekeermestavad kruvid (2)
  13. 4G x 6 mm isekeermestavad uputuskruvid (~ 20)
  14. Jootmine ja triikraud (1)

7. samm: MCU ettevalmistamine

Image
Image
MCU ettevalmistamine
MCU ettevalmistamine

Selles konstruktsioonis kasutame Wemos D1 Mini. Kui olete varem ehitanud D1M WIFI BLOCKi, saate seda kasutada modulaarse riistvarakomponendi jaoks. Kui ei, siis järgige miinimumina järgmist jaotist.

PÄISE PINSIDE JUHENDAMINE MCU -S (PIN JIG -i abil) Kui te ei saa PIN -JIG -i printida, järgige lihtsalt juhiseid ja tehke improviseerimine: PIN -JIG -i kõrgus (nihe) on 6,5 mm.

  1. Printige/hankige PIN JIG sellelt lehelt.
  2. Viige päise tihvtid läbi plaadi põhja (TX parem-vasak) ja jootmisseadmesse.
  3. Vajutage tihvtid tasasele kõvale pinnale.
  4. Vajutage plaat kindlalt jigile alla.
  5. Jootke 4 nurgatappi.
  6. Soojendage ja vajadusel asetage plaat/tihvtid uuesti (plaat või tihvtid ei ole joondatud või püstised).
  7. Jootke ülejäänud tihvtid.

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_customization_webserver".

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:

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

8. etapp: MCU korpuse ettevalmistamine

Image
Image
MCU korpuse ettevalmistamine
MCU korpuse ettevalmistamine
MCU korpuse ettevalmistamine
MCU korpuse ettevalmistamine

MCU korpus paljastab D1 Mini päised, mida saab ühendada, ja tütarplaatide päised, mis suhtlevad pistikupesa (andurid ja näitlejad) ahelaga.

Eluaseme pead See põhineb D1 Mini protoboardil ja purustab need tihvtid:

  1. Ühendused D1M WIFI BLOCK/D1 Mini tihvtidega.
  2. D1M WIFI BLOCK/D1 Mini kontaktide 2 rea otsene katkestamine. Need on saadaval ainult mugavuse huvides prototüüpide koostamise ajal. Eeldatakse, et tütaretteplaadid blokeerivad igasuguse juurdepääsu nendele päistele.
  3. 4 Tütarlaudade kasutatavate konkreetsete tihvtide purunemised.

D1M -i kontaktide lisamiseks HOUSING HEADER -i toimige järgmiselt

  1. Vaata videot SOCKET JIG KASUTAV MÜÜTJA.
  2. Viige päise tihvtid läbi plaadi põhja (TX üleval vasakul ülaosas).
  3. Viige rakis üle plastikust päise ja tasandage mõlemad pinnad.
  4. Pöörake rakis ja agregaat ümber ja suruge päis kindlalt kõvale tasasele pinnale.
  5. Vajutage plaat kindlalt jigile alla.
  6. Jootke 4 nurgatappi minimaalse joodisega (ainult tihvtide ajutine joondamine).
  7. Soojendage ja vajadusel asetage plaat/tihvtid uuesti (plaat või tihvtid ei ole joondatud või püstised).
  8. Jootke ülejäänud tihvtid.
  9. Eemaldage jig.
  10. Lõika joodiste kohal tihvtid ära.

Tütrelaua Breakouts lisamiseks tehke järgmist

  1. Lõika 4 9P emase päist ära.
  2. Sisestage ülaosas 9P päised nagu näidatud ja jootke alt välja.

Otseste katkestuste lisamiseks tehke järgmist

  1. Lõika 2 ära 8P naissoost päised.
  2. Sisestage ülaosas 8P päised nagu näidatud ja jootke alt välja.

Päiste ühendamiseks allosas TX -tihvtiga ülespoole:

  1. Jälgige ja jootke RST -tihvti kaudu 4 tihvti.
  2. Jälgige ja jootke A0 tihvtilt 4 tihvti.
  3. Jälgige ja jootke D1 tihvtilt 4 tihvti.
  4. Jälgige ja jootke D2 tihvtilt 4 tihvti.
  5. Jälgige ja jootke D0 tihvtiga 2 rida allapoole ja üle 4 tihvti.
  6. Jälgige ja jootke D7 tihvtilt üle 4 tihvti.
  7. Jälgige ja jootke GND -tihvti kaudu 4 tihvti.
  8. Jälgige ja jootke 5 V tihvtilt üle 4 tihvti.
  9. Jälgige ja jootke 3V3 tihvtist 45 ° alla 4 tihvti.

KINNITUSE KOKKUVÕTMINE

Eluasemepead kinnitatakse MCU korpusele ja see kinnitatakse alusplaadile.

  1. Kui korpusepeade pikk külg on suunatud augu poole, sisestage D1M CONTACTS MCU HOUSING avadesse ja vajutage loputus alla.
  2. Sisestage MCU kinnitamise ajal MCU CONTACTS -ile, et tagada õige joondamine.
  3. Asetage HEADER RAAM kokkupandavate kinnitusdetailide ülaosale ja kinnitage 2 4G x 16 mm kruviga.
  4. Asetage kokkupandud kinnitusdetailid avaga lühikese külje poole ja kinnitage 4G x 6mm kruvidega.

9. samm: orjade madala külglüliti ehitamine/tütreplaadi lähtestamine

Slaves Low-Side Switch/RESET tütareplaadi ehitamine
Slaves Low-Side Switch/RESET tütareplaadi ehitamine
Slaves Low-Side Switch/RESET tütareplaadi ehitamine
Slaves Low-Side Switch/RESET tütareplaadi ehitamine
Slaves Low-Side Switch/RESET tütareplaadi ehitamine
Slaves Low-Side Switch/RESET tütareplaadi ehitamine

See on REST tütarlaua täiustus, mis on välja töötatud viimati. See lisab madala külje lüliti, mis ühendab orjad GROUNDiga. Kui master lähtestatakse, siis ka alamad ja metaandmete levitamine algab uuesti.

KOKKUVÕTMINE

  1. Sisestage siseküljel 9P 90 ° isane päised (1), 1P 90 ° isane päis (2), 2N7000 (3) ja jootke väljapoole.
  2. Jälgige seestpoolt kollast traati YELLOW1 kuni YELLOW2 ja jootke.
  3. Jälgige seestpoolt paljast traati SILVER1 kuni SILVER2 ja jootet.
  4. Jälgige seestpoolt paljast traati SILVER3 -st SILVER4 -ni ja jootet.

10. samm: peamiste komponentide kokkupanek

Peamiste komponentide kokkupanek
Peamiste komponentide kokkupanek
Peamiste komponentide kokkupanek
Peamiste komponentide kokkupanek
Peamiste komponentide kokkupanek
Peamiste komponentide kokkupanek
Peamiste komponentide kokkupanek
Peamiste komponentide kokkupanek
  1. Veenduge, et SHELL on ehitatud ja vooluahel testitud (kaabel ja pistikupesad).
  2. Vahetage 2P isane päis 3V3 I2C TÜTARLAUAL välja 2P 90º 1P meespeaga.
  3. Sisestage 3V3 I2C TÜTARPLAAT, 3V3 tihvtiga päiste räsitud otsa (vt pilti).
  4. Sisestage ALLA KÜLJELÜLITI/LÄHTESTAV TÜTARLAUA, traat seestpoolt (vt pilt).
  5. Jälgige Duponti juhet RESET DAUGHTER-BOARDi 90º 1P isase päise ja 3V3 I2C TÜTARLAUA vahel.
  6. Sisestage SHELL-KAABLI IDC-pistikupesa 3V3 I2C TÜTARLAUA IDC-päisesse.
  7. Sisestage TÜTARLAUAD/KORP ettevaatlikult KOORI kaablite vahele ja joondage aluse augud.
  8. Kinnitage PÕHIKOMPLEKT 4G x 6 mm kruvide abil KESKELE.
  9. Lisage kõik enda loodud ASIMILEERITUD ANDURID.

Samm: järgmised sammud

Image
Image
Järgmised sammud
Järgmised sammud
Järgmised sammud
Järgmised sammud
  1. Suunake oma brauser aadressile
  2. Veenduge, et maakler on test.mosquitto.org.
  3. Klõpsake nuppu Ühenda.
  4. Sisestage seadme nime sisendiks mqtt_device_name failis /config/device.json.
  5. Klõpsake nuppu Lisa seade.
  6. Klõpsake nuppu Automaatne ühendus.
  7. Lülitage oma ICOS10 (5V MicroUSB) sisse.
  8. Kinnitage Croutoni armatuurlaua kaudu.

Soovitan: