Sisukord:
- Samm: Crouton
- Samm: veebiserver / redaktor
- Samm: seadme kohandamine
- 4. samm: kinnisvara kohandamine
- Samm: metaandmete kohandamine
- 6. samm: materjalid ja tööriistad
- 7. samm: MCU ettevalmistamine
- 8. etapp: MCU korpuse ettevalmistamine
- 9. samm: orjade madala külglüliti ehitamine/tütreplaadi lähtestamine
- 10. samm: peamiste komponentide kokkupanek
- Samm: järgmised sammud
Video: IOT123 - ASISIMILEERITUD SENSORI HUB: ICOS10 CUSTOMIZATION WEBSEREVER: 11 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
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. 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
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.
- Valige kohalikust failisüsteemist fail.
- Sisestage tekstikasti kausta tee (vajadusel).
- Klõpsake nuppu Laadi üles.
- Värskendage lehte.
Samm: 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
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
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
ICOS10 (IDC) Shelli materjalide nimekiri
- D1M BLOCK Pin Jig (1)
- D1M BLOCK alus ja korpus (1)
- Wemos D1 Mini (1)
- Wemos D1 Mini Protoboard Shield (1)
- 40P naissoost päised (8P, 8P, 9P, 9P)
- Isane päis 90º (3P, 3P, 3P, 2P, 1P, 2P)
- 1 "kahepoolne protoboard (2)
- 2N7000 NFET (1)
- 6 kontaktiga varjatud IDC isane päis (1)
- Ühendusjuhe (~ 10)
- 0,5 mm tinatraat (~ 4)
- 4G x 15 mm nööppea isekeermestavad kruvid (2)
- 4G x 6 mm isekeermestavad uputuskruvid (~ 20)
- Jootmine ja triikraud (1)
7. samm: 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.
- Printige/hankige PIN JIG sellelt lehelt.
- Viige päise tihvtid läbi plaadi põhja (TX parem-vasak) ja jootmisseadmesse.
- Vajutage tihvtid tasasele kõvale pinnale.
- Vajutage plaat kindlalt jigile alla.
- Jootke 4 nurgatappi.
- Soojendage ja vajadusel asetage plaat/tihvtid uuesti (plaat või tihvtid ei ole joondatud või püstised).
- 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:
- Muutke wifi_ssid väärtust oma WiFi SSID -ga.
- Muutke wifi_key väärtust oma WiFi võtmega.
- Muutke mqtt_device_name väärtust oma eelistatud seadme identifitseerimisega (liitumist pole vaja).
- Muutke mqtt_device_description väärtust oma eelistatud seadme kirjeldusega (Croutonis).
- Salvestage device.json.
- Laadige andmefailid üles SPIFFS -i.
8. etapp: 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:
- Ühendused D1M WIFI BLOCK/D1 Mini tihvtidega.
- 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.
- 4 Tütarlaudade kasutatavate konkreetsete tihvtide purunemised.
D1M -i kontaktide lisamiseks HOUSING HEADER -i toimige järgmiselt
- Vaata videot SOCKET JIG KASUTAV MÜÜTJA.
- Viige päise tihvtid läbi plaadi põhja (TX üleval vasakul ülaosas).
- Viige rakis üle plastikust päise ja tasandage mõlemad pinnad.
- Pöörake rakis ja agregaat ümber ja suruge päis kindlalt kõvale tasasele pinnale.
- Vajutage plaat kindlalt jigile alla.
- Jootke 4 nurgatappi minimaalse joodisega (ainult tihvtide ajutine joondamine).
- Soojendage ja vajadusel asetage plaat/tihvtid uuesti (plaat või tihvtid ei ole joondatud või püstised).
- Jootke ülejäänud tihvtid.
- Eemaldage jig.
- Lõika joodiste kohal tihvtid ära.
Tütrelaua Breakouts lisamiseks tehke järgmist
- Lõika 4 9P emase päist ära.
- Sisestage ülaosas 9P päised nagu näidatud ja jootke alt välja.
Otseste katkestuste lisamiseks tehke järgmist
- Lõika 2 ära 8P naissoost päised.
- Sisestage ülaosas 8P päised nagu näidatud ja jootke alt välja.
Päiste ühendamiseks allosas TX -tihvtiga ülespoole:
- Jälgige ja jootke RST -tihvti kaudu 4 tihvti.
- Jälgige ja jootke A0 tihvtilt 4 tihvti.
- Jälgige ja jootke D1 tihvtilt 4 tihvti.
- Jälgige ja jootke D2 tihvtilt 4 tihvti.
- Jälgige ja jootke D0 tihvtiga 2 rida allapoole ja üle 4 tihvti.
- Jälgige ja jootke D7 tihvtilt üle 4 tihvti.
- Jälgige ja jootke GND -tihvti kaudu 4 tihvti.
- Jälgige ja jootke 5 V tihvtilt üle 4 tihvti.
- Jälgige ja jootke 3V3 tihvtist 45 ° alla 4 tihvti.
KINNITUSE KOKKUVÕTMINE
Eluasemepead kinnitatakse MCU korpusele ja see kinnitatakse alusplaadile.
- Kui korpusepeade pikk külg on suunatud augu poole, sisestage D1M CONTACTS MCU HOUSING avadesse ja vajutage loputus alla.
- Sisestage MCU kinnitamise ajal MCU CONTACTS -ile, et tagada õige joondamine.
- Asetage HEADER RAAM kokkupandavate kinnitusdetailide ülaosale ja kinnitage 2 4G x 16 mm kruviga.
- 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
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
- Sisestage siseküljel 9P 90 ° isane päised (1), 1P 90 ° isane päis (2), 2N7000 (3) ja jootke väljapoole.
- Jälgige seestpoolt kollast traati YELLOW1 kuni YELLOW2 ja jootke.
- Jälgige seestpoolt paljast traati SILVER1 kuni SILVER2 ja jootet.
- Jälgige seestpoolt paljast traati SILVER3 -st SILVER4 -ni ja jootet.
10. samm: peamiste komponentide kokkupanek
- Veenduge, et SHELL on ehitatud ja vooluahel testitud (kaabel ja pistikupesad).
- Vahetage 2P isane päis 3V3 I2C TÜTARLAUAL välja 2P 90º 1P meespeaga.
- Sisestage 3V3 I2C TÜTARPLAAT, 3V3 tihvtiga päiste räsitud otsa (vt pilti).
- Sisestage ALLA KÜLJELÜLITI/LÄHTESTAV TÜTARLAUA, traat seestpoolt (vt pilt).
- Jälgige Duponti juhet RESET DAUGHTER-BOARDi 90º 1P isase päise ja 3V3 I2C TÜTARLAUA vahel.
- Sisestage SHELL-KAABLI IDC-pistikupesa 3V3 I2C TÜTARLAUA IDC-päisesse.
- Sisestage TÜTARLAUAD/KORP ettevaatlikult KOORI kaablite vahele ja joondage aluse augud.
- Kinnitage PÕHIKOMPLEKT 4G x 6 mm kruvide abil KESKELE.
- Lisage kõik enda loodud ASIMILEERITUD ANDURID.
Samm: järgmised sammud
- Suunake oma brauser aadressile
- Veenduge, et maakler on test.mosquitto.org.
- Klõpsake nuppu Ühenda.
- Sisestage seadme nime sisendiks mqtt_device_name failis /config/device.json.
- Klõpsake nuppu Lisa seade.
- Klõpsake nuppu Automaatne ühendus.
- Lülitage oma ICOS10 (5V MicroUSB) sisse.
- Kinnitage Croutoni armatuurlaua kaudu.
Soovitan:
ARDUINO PH SENSORI KALIBREERIMINE: 7 sammu
ARDUINO PH SENSORI KALIBREERIMINE: selles õpetuses kalibreerime Atlas Scientificu EZO pH -andurit, kasutades Arduino Unot. KALIBREERIMISTEOORIA Kõige olulisem osa kalibreerimisest on näitude vaatamine kalibreerimisprotsessi ajal. Seadet on kõige lihtsam kalibreerida
Kodune turvasüsteem, mis kasutab sensori liitmist: 5 sammu
Kodune turvasüsteem, mis kasutab sensori sulandumist: Selle projekti idee on luua odav ja hõlpsasti valmistatav turvaandur, mille abil saab teid hoiatada, kui keegi on selle ületanud. Algne eesmärk oli luua midagi, mis annaks mulle märku, kui keegi trepist üles kõndis, aga ka mina
ARDUINO ORP SENSORI KALIBREERIMINE: 3 sammu
ARDUINO ORP SENSORI KALIBREERIMINE: selles õpetuses kalibreerime Atlas Scientificu EZO ORP (oksüdatsiooni vähendamise potentsiaal) andurit, kasutades Arduino Unot. KALIBREERIMISTEOORIA Kalibreerimise kõige olulisem osa on näitude vaatamine kalibreerimisprotsessi ajal. See on lihtne
AUTOMATSIOON PIR SENSORI KASUTAMISEL: 5 sammu
AUTOMATSIOON PIR -ANDURI KASUTAMISEL: PIR -andurid või passiivsed infrapuna -andurid on teatud tüüpi andurid, mis tuvastavad infrapunakiirgust. Kõik soojaverelised olendid, nagu inimesed või loomad, kiirgavad teatud koguses IR-kiirgust või soojust, mida IR-andurid suudavad tuvastada. Aktiivsed IR -andurid
SENSORI KOMMUNIKATSIOON USB kaudu: 3 sammu
SENSORI KOMMUNIKATSIOON ÜLE USB: See õpetus näitab, kuidas kasutada isoleeritud USB EZO kandjaplaati EZO ahelatega suhtlemiseks. Mõne lihtsa sammuga saate kalibreerida ja siluda ahelaid või isegi jälgida kõnealust parameetrit reaalajas. EELISED: