Satura rādītājs:

IOT123 - ASIMILĒTĀS SENSORA HUB: ICOS10 PIELĀGOŠANAS TĪMEKLIS: 11 soļi
IOT123 - ASIMILĒTĀS SENSORA HUB: ICOS10 PIELĀGOŠANAS TĪMEKLIS: 11 soļi

Video: IOT123 - ASIMILĒTĀS SENSORA HUB: ICOS10 PIELĀGOŠANAS TĪMEKLIS: 11 soļi

Video: IOT123 - ASIMILĒTĀS SENSORA HUB: ICOS10 PIELĀGOŠANAS TĪMEKLIS: 11 soļi
Video: IOT123 - ASSIMILATE SENSOR HUB: ICOS10 FRONT 2024, Jūlijs
Anonim
IOT123 - ASIMILĒTAS SENSORA HUB: ICOS10 Pielāgošanas tīmekļa vietne
IOT123 - ASIMILĒTAS SENSORA HUB: ICOS10 Pielāgošanas tīmekļa vietne
IOT123 - ASIMILĒTAS SENSORA HUB: ICOS10 Pielāgošanas tīmekļa vietne
IOT123 - ASIMILĒTAS SENSORA HUB: ICOS10 Pielāgošanas tīmekļa vietne
IOT123 - ASIMILĒTAS SENSORA HUB: ICOS10 Pielāgošanas tīmekļa vietne
IOT123 - ASIMILĒTAS SENSORA HUB: ICOS10 Pielāgošanas tīmekļa vietne

ASSIMILATE SENSOR/ACTOR Slaves iegulst metadatus, kas tiek izmantoti, lai noteiktu vizualizācijas Crouton. Šī būve pievieno tīmekļa serveri ESP8266 Master, kalpo dažiem konfigurācijas failiem, kurus lietotājs var mainīt, un pēc tam izmanto šos failus, lai no jauna definētu vizualizācijas. Tātad informācijas paneļa karšu nosaukumus un lielāko daļu konfigurējamo rekvizītu var mainīt. Tas bija vajadzīgs piem. DHT11 publicē temperatūras un mitruma īpašības: ja vietnei ir vairāki mezgli ar atsevišķiem DHT11 sensoriem, tos visus nevar saukt par temperatūru (garāžas temp., pagalma temperatūra…). I2C kopnes iestatītais metadatu garuma ierobežojums (16 rakstzīmes) nepastāv, un var izmantot bagātīgākas vērtības (līdz 64 rakstzīmēm).

Papildu pamata autentifikācija ir konfigurējama rediģējamai tīmekļa lapai, kā arī citu resursu autentifikācijas izslēgšanas saraksts.

Uz esošās meitas plates ir izstrādāts arī zemas puses slēdzis, kas vajadzības gadījumā izslēdz vergus.

Kā tehniska piezīme, pirms šīs būves uzsākšanas atmiņas nospiedums bija 70% globālā metadatu objekta diagrammas dēļ. Jaunākajā AssimilateBus bibliotēkā ir notikušas izmaiņas, kas atdala globālo mainīgo mazākos JSON failos, kas saglabāti SPIFFS. Tas ir samazinājis pēdas apjomu līdz ~ 50%, kas ir drošāk visai JSON parsēšanai/ēkai. Šo izmaiņu laikā AssimilateBusSlave bibliotēka paliek nemainīga (ASSIM_VERSION 2).

ĪPAŠĪBAS UN VISIJA

Pašlaik vergi (sensori un dalībnieki) ir patstāvīgi un paļaujas uz konvencijām balstītiem I2C ziņojumiem, lai lasītu īpašības vai rīkotos pēc komandām. Meistars paņem no vergiem metadatus un rekvizītus un nosūta tos MQTT brokerim. Tas arī palaiž tīmekļa serveri un apkalpo JSON failus, kurus var rediģēt, lai konfigurētu galveno un pielāgotu metadatus/rekvizītus, ko galu galā patērē Crouton. Atsevišķi sensori/dalībnieki tiek lasīti/komandēti caur Crouton bez kapteiņa priekšzināšanas par vergu darbību.

Viens no ASSIMILATE IOT NETWORK mērķiem ir pielāgot Crouton tā, lai masu redaktori, kas tiek pasniegti no IOT NODE tīmekļa serveriem (piemēram, šī būve), tiktu pievienoti kā tīmekļa komponenti, kas ļaus pilnībā kontrolēt lietas darbību, ti, kapteinis nav ieprogrammēts, vergiem ir pamata funkciju kopas, bet Crouton informācijas panelī ir iestrādāti visi uzņēmējdarbības noteikumi, kas nepieciešami lietas vadīšanai!

Crouton dakša tiek uzskatīta par iespēju decentralizētai lietu kontrolei/konfigurēšanai. Būtībā jebkura MQTT klienta/GUI kombinācija var pārvaldīt jūsu lietas, jo visas funkcijas (sensori un aktieri) tiek parādītas kā MQTT galapunkti.

1. solis: Kronons

Kronons
Kronons
Kronons
Kronons

Kronons. https://crouton.mybluemix.net/ Crouton ir informācijas panelis, kas ļauj vizualizēt un kontrolēt savas IOT ierīces ar minimālu iestatīšanu. Būtībā tas ir vienkāršākais informācijas panelis, ko uzstādīt jebkuram IOT aparatūras entuziastam, izmantojot tikai MQTT un JSON.

ASIMILĒTĀS VERGAS (sensori un aktieri) ir iegulti metadati un rekvizīti, ko kapteinis izmanto, lai izveidotu ierīciInfo json paketi, ko Crouton izmanto, lai izveidotu informācijas paneli. Starpnieks starp ASSIMILATE NODES un Crouton ir MQTT brokeris, kas ir draudzīgs tīmekļa ligzdām: demonstrācijai tiek izmantots moskītu.

Tā kā ASSIMILATE MASTER (šī būve) pieprasa rekvizītus, tā formatē atbildes vērtības vajadzīgajā formātā Crouton atjauninājumiem.

2. darbība: tīmekļa serveris / redaktors

Tīmekļa serveris / redaktors
Tīmekļa serveris / redaktors
Tīmekļa serveris / redaktors
Tīmekļa serveris / redaktors

Kad galvenais zābats (šī būve) tiek palaists, tiek palaists iegultais tīmekļa serveris. IP adrese tiek izvadīta uz seriālo konsoli; galu galā tas tiks publicēts Crouton informācijas panelī.

Pārlūkojot norādīto URL, tiks ielādēts ACE EDITOR:

Ace ir iegulstams kodu redaktors, kas rakstīts JavaScript. Tas atbilst vietējo redaktoru, piemēram, Sublime, Vim un TextMate, funkcijām un veiktspējai.

Ace ir iecienīts iegulto tīmekļa serveru vidū un nodrošina labu saskarni JSON failu rediģēšanai un saglabāšanai.

Noklikšķinot uz faila nosaukuma kreisajā pusē, fails tiks nolasīts no SPIFFS uz ESP8266 un labajā pusē tiks ielādēts saturs rediģēšanai. Failu var saglabāt no augšējās rīkjoslas.

Lai augšupielādētu failu:

  1. Vietējā failu sistēmā izvēlieties Fails.
  2. Ievietojiet mapes ceļu (ja nepieciešams) tekstlodziņā.
  3. Noklikšķiniet uz Augšupielādēt.
  4. Atsvaidziniet lapu.

3. darbība: ierīces pielāgošana

Ierīces pielāgošana
Ierīces pielāgošana

Ierīces konfigurācija (ESP8266) tiek veikta, izmantojot failu device.json.

Daži dati (wifi_ssid, wifi_key) pirms datu augšupielādes SPIFFS būs jāmaina (ESP8266 Sketch Data Upload).

Pārlūkojiet tīmekļa servera sakni (tiek parādīta konsoles izejā, piemēram,

REDAKCIJA

ACE EDITOR izvēlies config/device.json.

Ieraksti ir šādi:

  • www_auth_username: autorizācijas lietotājvārds tīmekļa servera failiem (tukšs, ja nav atļaujas).
  • www_auth_password: autorizācijas parole tīmekļa servera failiem (ja ir definēts lietotājvārds).
  • www_auth_exclude_files: ar semikolu norobežots to failu ceļu saraksts, kuri jāizslēdz no autorizācijas pārbaudēm (ja ir definēts lietotājvārds).
  • sensor_interval: milisekundes starp datu publicēšanu MQTT brokerim.
  • ntp_server_name: izmantojamā laika servera nosaukums.
  • time_zone: nobīde stundās pēc jūsu vietējā laika.
  • wifi_ssid: vietējā piekļuves punkta SSID.
  • wifi_key: atslēga, ko izmantot SSID.
  • mqtt_broker: MQTT brokera adrese.
  • mqtt_username: lietotājvārds, ko izmantot MQTT brokerim (tukšs, jo konts nav nepieciešams).
  • mqtt_password: parole, ko izmantot no MQTT lietotājvārda.
  • mqtt_port: MQTT brokera ports.
  • mqtt_device_name: nosaukums, ko izmantot MQTT tēmām un Crouton identifikācijai.
  • mqtt_device_description: ierīces de3 apraksts, kas parādīts Crouton.
  • viz_color: krāsa, lai identificētu ierīces kartes Crouton (dakšveida versijā)

4. darbība: īpašuma pielāgošana

Īpašuma pielāgošana
Īpašuma pielāgošana
Īpašuma pielāgošana
Īpašuma pielāgošana
Īpašuma pielāgošana
Īpašuma pielāgošana

Katram no vergiem ir nvc struktura masīvs, kas definēts failā definitions.h:

// --------------------------------------- PUBLICĒTĀS ĪPAŠĪBAS

nvc rekvizīti [2] = {{"Mitrums", "", patiess}, {"Temperatūra", "", nepatiess}}; // --------------------------------------- BEIG PUBLICĒTĀS ĪPAŠĪBAS

Katram ierakstam ir indekss, no kuriem pirmais ir 0 (nulle).

Īpašuma nosaukuma pielāgošana tiek veikta, izmantojot failu user_props.json.

Pārlūkojiet tīmekļa servera sakni (tiek parādīta konsoles izejā, piemēram,

REDAKCIJA

ACE EDITOR izvēlies config/user_props.json (vai augšupielādē vienu).

Struktūra ir šāda:

Pirmā atslēga ir verga adrese failā definitions.h, ko identificē:

#define ADDRESS_SLAVE XX

  • Nākamais atslēgu līmenis ir īpašuma indekss.
  • Šīs atslēgas vērtība ir rekvizīta nosaukums, kas jāizmanto Crouton, nevis definīcijas failā definētais rekvizīta nosaukums.

5. darbība: metadatu pielāgošana

Metadatu pielāgošana
Metadatu pielāgošana
Metadatu pielāgošana
Metadatu pielāgošana
Metadatu pielāgošana
Metadatu pielāgošana
Metadatu pielāgošana
Metadatu pielāgošana

Iespējamo pielāgojumu apjoma dēļ katram vergam ir savs metadatu modifikācijas fails. Failiem jābūt formātā user_metas_.json.

Vergu adrese ir atrodama definīcijas.h failā ATTINY85 skicēs:

#define ADDRESS_SLAVE XX

Metadati tajā pašā failā ir definēti šādi:

const static char viz1 PROGMEM = "VIZ_CARD_TYPE";

const static char viz2 PROGMEM = "2: chart-donut"; const static char viz3 PROGMĒMA = "1";

Pirmā rinda ir metadatu vienuma nosaukums.

Otrā rinda ir vērtība. Tam parasti ir īpašuma indeksa sufikss.

Trešā rinda ir turpinājuma karogs. 1 - turpināt, 0 - metadatu beigas (VCC_MV).

Pārlūkojiet tīmekļa servera sakni (tiek parādīta konsoles izejā, piemēram,

REDAKCIJA

ACE EDITOR izvēlies config/user_metas_SLAVE_ADDRESS.json (vai augšupielādē vienu). Struktūra ir šāda:

  • Vārdu/vērtību pāru masīvs.
  • Nosaukums ir maināmā metadatu vienuma nosaukums.
  • Vērtība ir izmaiņas. Indeksa sufikss tiek pārbaudīts, lai to nomainītu.

6. darbība: materiāli un instrumenti

Materiāli un instrumenti
Materiāli un instrumenti
Materiāli un instrumenti
Materiāli un instrumenti
Materiāli un instrumenti
Materiāli un instrumenti

ICOS10 (IDC) Shell materiālu saraksts

  1. D1M BLOCK Pin Jig (1)
  2. D1M BLOCK pamatne un korpuss (1)
  3. Wemos D1 Mini (1)
  4. Wemos D1 mini protoborda vairogs (1)
  5. 40P sieviešu galvenes (8P, 8P, 9P, 9P)
  6. Galvene vīriešiem 90º (3P, 3P, 3P, 2P, 1P, 2P)
  7. 1 "divpusējs protoboards (2)
  8. 2N7000 NFET (1)
  9. 6 kontaktu aizsega IDC vīriešu galvene (1)
  10. Savienojuma vads (~ 10)
  11. 0,5 mm alvas stieple (~ 4)
  12. 4G x 15 mm pogas galvas pašvītņojošās skrūves (2)
  13. 4G x 6 mm pašvītņojošas skrūves (~ 20)
  14. Lodmetāls un dzelzs (1)

7. solis: MCU sagatavošana

Image
Image
MCU sagatavošana
MCU sagatavošana

Šajā konstrukcijā mēs izmantojam Wemos D1 Mini. Ja iepriekš esat izveidojis D1M WIFI BLOCK, varat to izmantot moduļu aparatūras komponentam. Ja nē, ievērojiet nākamo sadaļu.

GALVENA PINS LODĒŠANA UZ MCU (izmantojot PIN JIG) Ja nevarat izdrukāt PIN JIG, vienkārši izpildiet norādījumus un improvizējiet: PIN JIG augstums (nobīde) ir 6,5 mm.

  1. Izdrukājiet/iegūstiet PIN JIG no šīs lapas.
  2. Izvadiet galvenes tapas caur tāfeles apakšdaļu (TX labajā kreisajā pusē) un lodēšanas džigā.
  3. Piespiediet tapas uz cietas līdzenas virsmas.
  4. Stingri nospiediet dēli uz leju.
  5. Lodējiet 4 stūra tapas.
  6. Uzsildiet un, ja nepieciešams, novietojiet dēli/tapas (dēlis vai tapas nav izlīdzinātas vai nofiksētas).
  7. Lodējiet pārējās tapas.

FIRMWAREAR augšupielāde

Kodu krātuvi var atrast šeit (momentuzņēmums).

Bibliotēkas ZIP var atrast šeit (momentuzņēmums).

Norādījumi par ZIP bibliotēkas importēšanu šeit.

Kad bibliotēka ir instalēta, varat atvērt piemēru "mqtt_crouton_esp8266_customization_webserver".

Norādījumi par Arduino iestatīšanu Wemos D1 Mini šeit.

Atkarības: ArduinoJson, TimeLib, PubSubClient, NeoTimer (skatiet pielikumus, ja tiek pārkāptas izmaiņas krātuvēs).

AUGŠUPIELĀDĒT SPIFFS

Kad kods ir ielādēts Arduino IDE, mapē data/config atveriet device.json:

  1. Mainiet wifi_ssid vērtību, izmantojot savu WiFi SSID.
  2. Mainiet wifi_key vērtību, izmantojot savu WiFi atslēgu.
  3. Mainiet mqtt_device_name vērtību, izmantojot vēlamo ierīces identifikāciju (nav nepieciešama savienošana).
  4. Mainiet mqtt_device_description vērtību, izmantojot vēlamo ierīces aprakstu (Crouton).
  5. Saglabājiet device.json.
  6. Augšupielādējiet datu failus SPIFFS.

8. solis: MCU korpusa sagatavošana

Image
Image
MCU korpusa sagatavošana
MCU korpusa sagatavošana
MCU korpusa sagatavošana
MCU korpusa sagatavošana

MCU korpuss pakļauj D1 Mini galvenes pievienošanai un meiteņu dēļu galvenes, kas sazinās ar ligzdas (sensoru un aktieru) ķēdi.

MĀJAS VADĪTĀJI Tas ir veidots uz D1 mini protoboarda pamata un izdala šādas tapas:

  1. Piespraudes D1M WIFI BLOCK/D1 Mini, lai izveidotu savienojumu.
  2. D1M WIFI BLOCK/D1 Mini 2 kontaktu rindu tiešie pārtraukumi. Tie ir pieejami tikai ērtībai, vienlaikus veidojot prototipus. Paredzams, ka meitas dēļi bloķēs visu piekļuvi šīm galvenēm.
  3. 4 Īpašo tapu izlaušanās, ko izmanto meitas dēļi.

Lai pievienotu D1M kontaktus MĀJAS VADĪTĀJAM:

  1. Skatieties SOLDER, IZMANTOJOT SOCKET JIG video.
  2. Izvadiet galvenes tapas caur tāfeles apakšdaļu (TX augšējā kreisajā pusē augšējā pusē).
  3. Padevējiet džiglu virs plastmasas sadales un izlīdziniet abas virsmas.
  4. Apgrieziet uzgali un montāžu un stingri nospiediet galviņu uz cietas līdzenas virsmas.
  5. Stingri nospiediet dēli uz leju.
  6. Lodējiet 4 stūra tapas, izmantojot minimālu lodēšanu (tikai pagaidu izlīdzināšana).
  7. Uzsildiet un, ja nepieciešams, novietojiet dēli/tapas (dēlis vai tapas nav izlīdzinātas vai nofiksētas).
  8. Lodējiet pārējās tapas.
  9. Noņemiet džipu.
  10. Nogrieziet tapas virs lodmetāliem.

Lai pievienotu meitas dēļa izlaušanos:

  1. Izgrieziet 4 9P sieviešu galvenes.
  2. Augšpusē ievietojiet 9P galvenes, kā parādīts attēlā, un lodējiet no apakšas.

Lai pievienotu tiešos pārtraukumus:

  1. Izgrieziet 2 8P sieviešu galvenes.
  2. Augšpusē ievietojiet 8P galvenes, kā parādīts attēlā, un lodējiet no apakšas.

Lai savienotu galvenes, apakšā ar TX tapu uz augšu:

  1. Izsekojiet un lodējiet no RST tapas pa 4 tapām.
  2. Izsekojiet un lodējiet no A0 tapas pa 4 tapām.
  3. Izsekojiet un lodējiet no D1 tapas pa 4 tapām.
  4. Izsekojiet un lodējiet no D2 tapas pa 4 tapām.
  5. Izsekojiet un lodējiet no D0 tapas uz leju 2 rindās un pāri 4 tapām.
  6. Izsekojiet un lodējiet no D7 tapas pa 4 tapām.
  7. Izsekojiet un lodējiet no GND tapas pa 4 tapām.
  8. Izsekojiet un lodējiet no 5 V tapas pa 4 tapām.
  9. Izsekojiet un lodējiet no 3V3 tapas uz leju 45 ° pa 4 tapām.

FIXTURE SALIKŠANA

MĀJAS VADĪTĀJI ir piestiprināti pie MCU korpusa, un tas ir piestiprināts pie BASE PLATE.

  1. Kad MĀJAS VADĪTĀJU garā puse ir vērsta uz caurumu, ievietojiet D1M CONTACTS MCU korpusa atverēs un nospiediet skalošanu.
  2. Piestiprināšanas laikā ievietojiet MCU pie MCU KONTAKTI, lai nodrošinātu pareizu izlīdzināšanu.
  3. Novietojiet AUSTIŅU RĀMU virs montāžas stiprinājumu un piestipriniet ar 2 no 4G x 16 mm skrūvēm.
  4. Novietojiet samontētos stiprinājumus ar atveri pret īso pusi un piestipriniet ar 4G x 6 mm skrūvēm.

9. solis: Slaves zemās puses slēdža izveide/RESET meitas dēlis

Vergu zemās puses slēdža izveide/ATiestatīt meitas dēli
Vergu zemās puses slēdža izveide/ATiestatīt meitas dēli
Vergu zemas puses slēdža izveide/ATiestatīt meitas dēli
Vergu zemas puses slēdža izveide/ATiestatīt meitas dēli
Vergu zemas puses slēdža izveide/ATiestatīt meitas dēli
Vergu zemas puses slēdža izveide/ATiestatīt meitas dēli

Tas ir REST meitas plates papildinājums, kas izstrādāts pēdējā būvē. Tas pievieno zemas puses slēdzi, kas savieno vergus ar GROUND. Ja galvenais tiek atiestatīts, arī vergi tiks atsākti, un metadatu pavairošanas inicializācija sāksies no jauna.

MONTĀŽA

  1. Iekšpusē ievietojiet 9P 90 ° vīriešu galviņas (1), 1P 90 ° vīriešu galviņu (2), 2N7000 (3) un lodējiet ārā.
  2. Iekšpusē izsekojiet dzelteno vadu no YELLOW1 līdz YELLOW2 un lodējiet.
  3. Iekšpusē izsekojiet tukšu vadu no SILVER1 līdz SILVER2 un lodēt.
  4. Iekšpusē izsekojiet tukšu vadu no SILVER3 līdz SILVER4 un lodēt.

10. solis: galveno komponentu salikšana

Galveno komponentu salikšana
Galveno komponentu salikšana
Galveno komponentu salikšana
Galveno komponentu salikšana
Galveno komponentu salikšana
Galveno komponentu salikšana
Galveno komponentu salikšana
Galveno komponentu salikšana
  1. Pārliecinieties, vai SHELL ir uzbūvēts un ķēde pārbaudīta (kabelis un kontaktligzdas).
  2. Nomainiet 2P vīrieša galveni uz 3V3 I2C meitas dēļa ar 2P 90º 1P vīriešu galveni.
  3. Ievietojiet 3V3 I2C MEITAS DĀVENI ar 3V3 tapu uz galvenes noplukušā gala (skat. Attēlu).
  4. Ievietojiet LOW-SIDE SWITCH/RESET DAUGHTER-PLAY ar vadu uz iekšpusi (skat. Attēlu).
  5. Izsekojiet Dupont vadu starp RESET DAUGHTER-BOARD 90º 1P vīrieša galveni un 3V3 I2C DAUGHTER-BOARD.
  6. Ievietojiet IDC ligzdu no SHELL CABLE 3V3 I2C DAUGHTER-Board IDC galvenē.
  7. Uzmanīgi ievietojiet meitas dēli/korpusu starp kabeļiem apvalkā un izlīdziniet pamatnes caurumus.
  8. Piestipriniet PAMATU MONTĀŽU pie SHELL, izmantojot 4G x 6 mm skrūves.
  9. Pievienojiet visus jūsu izgatavotos ASIMILĀCIJAS SENSORUS.

11. darbība. Nākamās darbības

Image
Image
Nākamie soļi
Nākamie soļi
Nākamie soļi
Nākamie soļi
  1. Norādiet pārlūkprogrammu vietnē
  2. Pārliecinieties, ka brokeris ir test.mosquitto.org.
  3. Noklikšķiniet uz Savienot.
  4. Ievadiet ierīces nosaukuma ievadi kā mqtt_device_name failā /config/device.json.
  5. Noklikšķiniet uz Pievienot ierīci.
  6. Noklikšķiniet uz Automātiskais savienojums.
  7. Ieslēdziet ICOS10 (5V MicroUSB).
  8. Pārbaudiet, izmantojot Crouton informācijas paneli.

Ieteicams: