Turinys:
- 1 žingsnis: Crouton
- 2 veiksmas: tinklalapio serveris / redaktorius
- 3 veiksmas: įrenginio pritaikymas
- 4 žingsnis: nuosavybės pritaikymas
- 5 veiksmas: metaduomenų tinkinimas
- 6 žingsnis: medžiagos ir įrankiai
- 7 žingsnis: MCU paruošimas
- 8 žingsnis: MCU būsto paruošimas
- 9 veiksmas: žemųjų vergų jungiklio sukūrimas/RESET dukters plokštės atkūrimas
- 10 žingsnis: Surinkite pagrindinius komponentus
- 11 veiksmas: kiti veiksmai
Video: IOT123 - ASIMILIATORIUS JUTIKLIO HUB: ICOS10 CUSTOMIZATION WEBSEREVER: 11 žingsnių
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
ASSIMILATE SENSOR/ACTOR Slaves įterpia metaduomenis, kurie naudojami apibrėžiant vizualizacijas Crouton. Ši sąranka prideda žiniatinklio serverį prie ESP8266 šablono, aptarnauja kai kuriuos konfigūracijos failus, kuriuos gali keisti vartotojas, tada naudoja tuos failus vizualizacijoms iš naujo apibrėžti. Taigi prietaisų skydelio kortelių pavadinimus ir daugumą konfigūruojamų savybių galima pakeisti. Tai buvo būtina pvz. DHT11 skelbia temperatūros ir drėgmės ypatybes: jei svetainėje yra keli mazgai su atskirais DHT11 jutikliais, jie visi negali būti vadinami temperatūra (garažo temp., kiemo temperatūra…). I2C magistralės nustatytas metaduomenų ilgio apribojimas (16 simbolių) neegzistuoja ir gali būti taikomos turtingesnės vertės (iki 64 simbolių).
Pasirenkamas pagrindinis autentifikavimas gali būti sukonfigūruotas redagavimo tinklalapiui, taip pat kitų išteklių pašalinimo iš autentifikavimo sąrašas.
Žemos pusės jungiklis, kuris prireikus išjungia vergus, taip pat buvo sukurtas esamoje dukterinėje plokštėje.
Kaip techninė pastaba, prieš pradedant šį kūrimą atminties pėdsakas buvo 70% dėl pasaulinio metaduomenų objekto grafiko. Naujausioje „AssimilateBus“bibliotekoje įvyko keitimų, dėl kurių pasaulinis kintamasis buvo atsietas nuo mažesnių JSON failų, išsaugotų SPIFFS. Tai sumažino pėdsaką iki ~ 50%, o tai yra saugiau visiems JSON analizuojant/statant. Šių pakeitimų metu „AssimilateBusSlave“biblioteka išlieka ta pati (2 ASSIM_VERSION).
FUNKCIJOS IR VISIJA
Šiuo metu vergai (jutikliai ir veikėjai) yra savarankiški ir remiasi įprastiniais I2C pranešimais, kad nuskaitytų savybes arba veiktų pagal komandas. Meistras paima iš vergų metaduomenis ir savybes ir siunčia juos MQTT tarpininkui. Jis taip pat paleidžia žiniatinklio serverį ir aptarnauja JSON failus, kuriuos galima redaguoti, kad būtų sukonfigūruotas pagrindinis ir pritaikytas metaduomenys/ypatybės, kurias galiausiai sunaudoja „Crouton“. Atskiri jutikliai/veikėjai yra skaitomi/įsakomi per „Crouton“, šeimininkui iš anksto nežinant, ką vergai daro.
Vienas iš ASSIMILATE IOT NETWORK tikslų yra pritaikyti „Crouton“taip, kad „IOT NODE“žiniatinklio serverių (pvz., Šios versijos) teikiami mashup redaktoriai būtų pridėti kaip žiniatinklio komponentai, kurie visiškai kontroliuotų, ką daro, ty kapitonas nėra užprogramuotas, vergai turi pagrindinių funkcijų rinkinius, tačiau „Crouton“prietaisų skydelyje yra visos verslo taisyklės, reikalingos tam dalykui paleisti!
„Crouton“šakutė laikoma decentralizuoto daiktų valdymo/konfigūravimo galimybe. Iš esmės bet koks MQTT kliento/GUI derinys gali valdyti jūsų daiktus, nes kiekviena funkcija (jutikliai ir veikėjai) yra rodomi kaip MQTT galiniai taškai.
1 žingsnis: Crouton
Crouton. https://crouton.mybluemix.net/ „Crouton“yra prietaisų skydelis, leidžiantis vizualizuoti ir valdyti savo IOT įrenginius su minimalia sąranka. Iš esmės tai yra paprasčiausias prietaisų skydelis, kurį gali nustatyti bet kuris IOT aparatūros entuziastas, naudodamas tik MQTT ir JSON.
ASSIMILATINIAI VERGIAI (jutikliai ir veikėjai) turi įterptus metaduomenis ir savybes, kurias meistras naudoja kurdamas įrenginio informaciją „infos json“, kurią „Crouton“naudoja kurdamas prietaisų skydelį. Tarpininkas tarp ASSIMILATE NODES ir „Crouton“yra MQTT brokeris, kuris yra draugiškas interneto lizdams: demonstravimui naudojamas Mosquito.
Kadangi ASSIMILATE MASTER (šis kūrinys) reikalauja ypatybių, jis formuoja atsako reikšmes reikiamu formatu, kad būtų atnaujinti „Crouton“.
2 veiksmas: tinklalapio serveris / redaktorius
Kai „Master“paleidžia (šią versiją), įjungiama įterptinė žiniatinklio serveris. IP adresas išvedamas į serijinę konsolę; galiausiai tai bus paskelbta „Crouton“prietaisų skydelyje.
Kai naršysite nurodytą URL, bus įkelta ACE EDITOR:
„Ace“yra įterpiamas kodų redaktorius, parašytas „JavaScript“. Tai atitinka vietinių redaktorių, tokių kaip „Sublime“, „Vim“ir „TextMate“, funkcijas ir našumą.
„Ace“yra populiarus tarp įterptųjų žiniatinklio serverių ir suteikia gerą sąsają redaguoti ir išsaugoti JSON failus.
Spustelėjus failo pavadinimą kairėje, bus perskaitytas failas iš SPIFFS, esantis ESP8266, ir įkeliamas turinys redaguoti dešinėje. Failas gali būti išsaugotas iš viršutinės įrankių juostos.
Norėdami įkelti failą:
- Pasirinkite Failas iš vietinės failų sistemos.
- Į teksto laukelį įterpkite aplanko kelią (jei reikia).
- Spustelėkite Įkelti.
- Atnaujinkite puslapį.
3 veiksmas: įrenginio pritaikymas
Įrenginio konfigūracija (ESP8266) atliekama naudojant failą device.json.
Kai kuriuos iš šių įrašų („wifi_ssid“, „wifi_key“) reikės pakeisti, prieš įkeliant duomenis į SPIFFS (ESP8266 eskizo duomenų įkėlimas).
Naršykite iki žiniatinklio serverio šaknies (rodoma konsolės išvestyje, pvz.,
REDAGAVIMAS
ACE EDITOR pasirinkite „config/device.json“.
Įrašai yra šie:
- www_auth_username: žiniatinklio serverio failų autorizacijos vartotojo vardas (tuščias, jei nėra autorizacijos).
- www_auth_password: žiniatinklio serverio failų autorizacijos slaptažodis (jei nustatytas vartotojo vardas).
- www_auth_exclude_files: dvitaškis atribotas failų kelių, kuriuos reikia pašalinti iš autorizacijos patikrinimų, sąrašas (jei nustatytas vartotojo vardas).
- sensor_interval: milisekundės tarp duomenų paskelbimo „MQTT Broker“.
- ntp_server_name: naudojamo laiko serverio pavadinimas.
- time_zone: vietinio laiko poslinkis valandomis.
- wifi_ssid: vietinio prieigos taško SSID.
- „wifi_key“: raktas, naudojamas SSID.
- mqtt_broker: MQTT tarpininko adresas.
- mqtt_username: vartotojo vardas, naudojamas MQTT tarpininkui (tuščias, jei paskyros nereikia).
- mqtt_password: slaptažodis, kurį reikia naudoti iš MQTT vartotojo vardo.
- mqtt_port: MQTT tarpininko uostas.
- mqtt_device_name: pavadinimas, naudojamas MQTT temoms ir Crouton identifikavimui.
- mqtt_device_description: prietaiso, aprašyto „Crouton“, aprašymas.
- viz_color: spalva, skirta identifikuoti „Crouton“įrenginio korteles (šakinėje versijoje)
4 žingsnis: nuosavybės pritaikymas
Kiekvienas iš vergų turi „nvc“struktūrų masyvą, apibrėžtą faile definitions.h:
// --------------------------------------- SKELBTOS SAVYBĖS
nvc rekvizitai [2] = {{"Drėgmė", "", tiesa}, {"Temperatūra", "", klaidinga}}; // --------------------------------------- PABAIGA PASKELBTOS SAVYBĖS
Kiekvienas įrašas turi indeksą, kurio pirmasis yra 0 (nulis).
Nuosavybės pavadinimo tinkinimas atliekamas naudojant failą user_props.json.
Naršykite iki žiniatinklio serverio šaknies (rodoma konsolės išvestyje, pvz.,
REDAGAVIMAS
ACE EDITORE pasirinkite config/user_props.json (arba įkelkite vieną).
Struktūra yra tokia:
Pirmasis raktas yra vergo adresas faile definitions.h, kurį identifikuoja:
#define ADDRESS_SLAVE XX
- Kitas raktų lygis yra nuosavybės indeksas.
- Šio rakto vertė yra nuosavybės pavadinimas, kurį reikia naudoti „Crouton“, o ne apibrėžimų faile apibrėžtas nuosavybės pavadinimas.
5 veiksmas: metaduomenų tinkinimas
Dėl daugybės galimų pritaikymų kiekvienas vergas turi savo metaduomenų modifikavimo failą. Failai turi būti formatu user_metas_.json.
Vergo adresas randamas ATTINY85 eskizų faile definitions.h:
#define ADDRESS_SLAVE XX
Metaduomenys yra apibrėžti tame pačiame faile taip:
const static char viz1 PROGMEM = "VIZ_CARD_TYPE";
const static char viz2 PROGMEM = "2: chart-spurga"; const static char viz3 PROGMEM = "1";
Pirmoje eilutėje yra metaduomenų elemento pavadinimas.
Antroji eilutė yra vertė. Paprastai jis turi nuosavybės indekso priesagą.
Trečioji eilutė yra tęsinio vėliava. 1 - tęsti, 0 - metaduomenų pabaiga (VCC_MV).
Naršykite iki žiniatinklio serverio šaknies (rodoma konsolės išvestyje, pvz.,
REDAGAVIMAS
ACE EDITORE pasirinkite config/user_metas_SLAVE_ADDRESS.json (arba įkelkite vieną). Struktūra yra tokia:
- Vardų/verčių porų masyvas.
- Pavadinimas yra metaduomenų elemento, kurį reikia keisti, pavadinimas.
- Vertė yra pasikeitimas. Indekso priesaga tikrinama, ar nėra pakeitimo.
6 žingsnis: medžiagos ir įrankiai
ICOS10 (IDC) „Shell“medžiagų sąrašas
- D1M BLOCK smeigtukas (1)
- D1M BLOCK pagrindas ir korpusas (1)
- „Wemos D1 Mini“(1)
- „Wemos D1 Mini Protoboard Shield“(1)
- 40P moterų antraštės (8P, 8P, 9P, 9P)
- Vyriška antraštė 90º (3P, 3P, 3P, 2P, 1P, 2P)
- 1 "dvipusė protoboard (2)
- 2N7000 NFET (1)
- 6 kontaktų uždengta IDC vyriška antraštė (1)
- Prijungimo laidas (~ 10)
- 0,5 mm alavo viela (~ 4)
- 4G x 15 mm savisriegio galvutės galvutės galvutės (2)
- 4G x 6 mm savisriegiai varžtai (~ 20)
- Lituoklis ir geležis (1)
7 žingsnis: MCU paruošimas
Šioje konstrukcijoje naudojame „Wemos D1 Mini“. Jei anksčiau sukūrėte D1M WIFI BLOCK, galite jį naudoti moduliniam aparatūros komponentui. Jei ne, būtinai atlikite kitą skyrių.
GALVŪNIŲ PINS LYDYMAS MCU (naudojant PIN JIG) Jei negalite atspausdinti PIN JIG, tiesiog vykdykite instrukcijas ir improvizuokite: PIN JIG aukštis (poslinkis) yra 6,5 mm.
- Iš šio puslapio išspausdinkite/gaukite PIN JIG.
- Perkelkite antraštės kaiščius per plokštės apačią (TX dešinėn į kairę) ir į lydmetalį.
- Paspauskite kaiščius ant kieto lygaus paviršiaus.
- Tvirtai paspauskite lentą žemyn ant svirties.
- Lituokite 4 kampinius kaiščius.
- Jei reikia, pašildykite ir iš naujo padėkite lentą/kaiščius (plokštė ar kaiščiai nesuderinti arba nesulenkti).
- Lituokite likusius kaiščius.
FIRMO ĮRANGOS ĮKELIMAS
Kodo saugyklą rasite čia (momentinė nuotrauka).
Bibliotekos pašto adresą rasite čia (momentinė nuotrauka).
„ZIP bibliotekos importavimo“instrukcijos čia.
Įdiegę biblioteką, galite atidaryti pavyzdį „mqtt_crouton_esp8266_customization_webserver“.
„Arduino“nustatymo „Wemos D1 Mini“instrukcijos čia.
Priklausomybės: „ArduinoJson“, „TimeLib“, „PubSubClient“, „NeoTimer“(žr. Priedus, jei pažeidžiami saugyklų pakeitimai).
ĮKELTI Į SPIFFS
Kai kodas bus įkeltas į „Arduino IDE“, duomenų/konfigūracijos aplanke atidarykite device.json:
- Pakeiskite „wifi_ssid“vertę naudodami „WiFi“SSID.
- Pakeiskite „wifi_key“vertę naudodami „WiFi“raktą.
- Pakeiskite „mqtt_device_name“reikšmę naudodami pageidaujamą įrenginio identifikavimą (nereikia prisijungti).
- Pakeiskite „mqtt_device_description“vertę naudodami pageidaujamą įrenginio aprašą („Crouton“).
- Išsaugoti device.json.
- Įkelkite duomenų failus į SPIFFS.
8 žingsnis: MCU būsto paruošimas
MCU korpusas atskleidžia „D1 Mini“antraštes, kurias galima prijungti, ir dukterinių plokščių, jungiančių su lizdo (jutiklių ir aktorių) grandine, antraštes.
BUSO VADOVAI Tai pagrįsta „D1 Mini Protoboard“ir išskleidžia šiuos kaiščius:
- D1M WIFI BLOCK/D1 Mini kaiščiai, prie kurių galima prisijungti.
- Tiesioginis dviejų kontaktų eilučių nutraukimas iš „D1M WIFI BLOCK/D1 Mini“. Jie yra prieinami tik patogumui, o prototipų kūrimas. Tikimasi, kad dukterinės plokštės užblokuos visą prieigą prie šių antraščių.
- 4 Konkrečių kaiščių, naudojamų dukterinėse lentose, lūžiai.
Norėdami pridėti D1M kontaktus prie būsto galvos:
- Žiūrėkite vaizdo įrašą „SOLDED USING THE SOCKET JIG“.
- Išveskite antraštės kaiščius per plokštės apačią (TX viršuje kairėje, viršutinėje pusėje).
- Padėkite svirtį virš plastikinės antenos ir išlyginkite abu paviršius.
- Apverskite agregatą ir agregatą ir tvirtai prispauskite antgalį ant kieto lygaus paviršiaus.
- Tvirtai paspauskite lentą žemyn ant svirties.
- Lituokite 4 kampinius kaiščius naudodami minimalų lydmetalį (tik laikinas kaiščių sulygiavimas).
- Jei reikia, pašildykite ir iš naujo padėkite lentą/kaiščius (plokštė ar kaiščiai nesuderinti arba nesulenkti).
- Lituokite likusius kaiščius.
- Nuimkite svirtį.
- Nupjaukite kaiščius virš lydmetalių.
Jei norite pridėti „Daughter-board Breakouts“:
- Iškirpkite 4 9P moterų antraštes.
- Viršuje įdėkite 9P antraštes, kaip parodyta, ir lituokite apačioje.
Jei norite pridėti tiesioginių pertraukų:
- Iškirpkite 2 8P moterų antraštes.
- Viršuje įdėkite 8P antraštes, kaip parodyta, ir lituokite apačioje.
Norėdami prijungti antraštes apačioje, nukreipdami TX kaištį į viršų:
- Atsekite ir lituokite iš RST kaiščio per 4 kaiščius.
- Atsekite ir lituokite iš A0 kaiščio per 4 kaiščius.
- Atsekite ir lituokite iš D1 kaiščio per 4 kaiščius.
- Atsekite ir lituokite iš D2 kaiščio per 4 kaiščius.
- Nubrėžkite ir lituokite nuo D0 kaiščio žemyn 2 eilėmis ir per 4 kaiščius.
- Atsekite ir lituokite iš D7 kaiščio per 4 kaiščius.
- Atsekite ir lituokite iš GND kaiščio per 4 kaiščius.
- Atsekite ir lituokite iš 5 V kaiščio per 4 kaiščius.
- Nubrėžkite ir lituokite nuo 3V3 kaiščio 45 ° žemyn per 4 kaiščius.
FIGŪROS SURINKIMAS
BUSO VADOVAI yra pritvirtinti prie MCU korpuso, o šis - prie PAGRINDINĖS PLOKŠTĖS.
- Ilga korpuso galvutės pusė nukreipta į skylę, įkiškite D1M CONTACTS į MCU korpuso angas ir nuspauskite žemyn.
- Tvirtinimo metu įdėkite MCU į MCU CONTACTS, kad užtikrintumėte teisingą išlygiavimą.
- Uždėkite AUSKALOS RĖMĄ ant surinktų įrenginių viršaus ir pritvirtinkite 2 iš 4G x 16 mm varžtų.
- Sumontuotus šviestuvus uždėkite taip, kad skylė būtų nukreipta į trumpąją pusę ir pritvirtinkite 4G x 6 mm varžtais.
9 veiksmas: žemųjų vergų jungiklio sukūrimas/RESET dukters plokštės atkūrimas
Tai yra paskutinės versijos sukurtos dukterinės plokštės REST patobulinimas. Tai prideda žemos pusės jungiklį, jungiantį vergus su GROUND. Jei pagrindinis iš naujo nustatomas, vergai taip pat bus pradėti, o metaduomenis skleidžiantis inicijavimas bus pradėtas iš naujo.
SURINKIMAS
- Viduje įkiškite 9P 90 ° vyriškas antraštes (1), 1P 90 ° antraštes (2), 2N7000 (3) ir lituokite išorėje.
- Viduje atsekite geltoną vielą nuo GELTONOS1 iki GELTONOS2 ir lituokite.
- Viduje atsekite pliką vielą nuo SILVER1 iki SILVER2 ir lydmetalį.
- Viduje atsekite pliką vielą nuo SILVER3 iki SILVER4 ir lydmetalį.
10 žingsnis: Surinkite pagrindinius komponentus
- Įsitikinkite, kad SHELL buvo pastatytas ir patikrinta grandinė (kabelis ir lizdai).
- Pakeiskite 3P3 I2C DAUGHTER-BOARD 2P vyrišką antraštę su 2P 90º 1P vyriška antena.
- Įdėkite 3V3 I2C DAUGHTER-BOARD su 3V3 kaiščiu ant nupjauto antraštės galo (žr. Pav.).
- Įkiškite APSAUGINĮ JUNGIKLĮ/IŠ naujo nustatykite dukters lentą, viela į vidų (žr. Pav.).
- Nubrėžkite „Dupont“laidą tarp „RESET DAUGHTER-BOARD“plokštės 90º 1P antgalio ir 3V3 I2C DAUGHTER-BOARD.
- Įdėkite IDC lizdą iš SHELL CABLE į IDC antraštę 3V3 I2C DAUGHTER-BOARD.
- Atsargiai įkiškite DAUGHTER-BOARDS/HOUSING tarp kabelių SHELL ir sulygiuokite pagrindo skyles.
- PAGRINDINĮ MONTAVIMĄ pritvirtinkite prie apvalkalo 4G x 6 mm varžtais.
- Pridėkite visus savo sukurtus ASIMILIATORIAUS JUTIKLIUS.
11 veiksmas: kiti veiksmai
- Nukreipkite naršyklę į
- Įsitikinkite, kad brokeris yra test.mosquitto.org.
- Spustelėkite Prisijungti.
- Įveskite įrenginio pavadinimo įvestį kaip mqtt_device_name faile /config/device.json.
- Spustelėkite Pridėti įrenginį.
- Spustelėkite Automatinis prisijungimas.
- Įjunkite savo ICOS10 (5V MicroUSB).
- Patikrinkite naudodami „Crouton“prietaisų skydelį.
Rekomenduojamas:
Sąsajos „HMC5883L“kompaso jutiklio su „Arduino“pamoka: 10 žingsnių (su paveikslėliais)
Sąsajos „HMC5883L“kompaso jutiklis su „Arduino“instrukcija: Aprašymas „HMC5883L“yra 3 ašių skaitmeninis kompasas, naudojamas dviem bendrais tikslais: matuoti magnetinės medžiagos, pvz., Feromagneto, įmagnetinimą arba matuoti stiprumą ir kai kuriais atvejais kryptį. magnetinis laukas s taške
Belaidžio vibracijos ir temperatūros jutiklio duomenys į „MySQL“naudojant „Node-RED“: 40 žingsnių
Belaidžio vibracijos ir temperatūros jutiklio duomenys į „MySQL“naudojant „Node-RED“: pristatome NCD „Long Range IoT Industrial“belaidį vibracijos ir temperatūros jutiklį, kuris gali pasigirti iki 2 mylių atstumu, naudojant belaidžio tinklo tinklo struktūrą. Šiame įrenginyje yra tikslus 16 bitų vibracijos ir temperatūros jutiklis
Sukurkite „Apple HomeKit“temperatūros jutiklio įrenginį naudodami ESP8266 ir BME280: 10 žingsnių
Sukurkite „Apple HomeKit“temperatūros jutiklio įrenginį naudodami ESP8266 ir BME280: Šiandienos instrukcijoje mes gaminsime nebrangius temperatūros, drėgmės ir drėgmės jutiklius, pagrįstus AOSONG AM2302/DHT22 arba BME280 temperatūros/drėgmės jutikliu, YL-69 drėgmės jutikliu ir ESP8266/Nodemcu platforma. Ir parodymui
IOT123 - ASIMILIUOTOJO JUTIKLIO HUB: ICOS10 CORS TINKLAKOMPONENTAI: 8 žingsniai
IOT123 - ASIMILIATORIUS JUTIKLIO HUB: ICOS10 CORS TINKLYNĖS SUDEDAMOSIOS DALYS: ASSIMILATE JUTIKLIS/AKTORIUS Vergai įterpia metaduomenis, kurie naudojami apibrėžiant vizualizacijas Crouton. Ši konstrukcija šiek tiek skiriasi nuo ankstesnių; aparatūros pakeitimų nėra. Programinė įranga dabar palaiko pritaikytų (turtingesnių) redaktorių prieglobą
Kas yra prie mano durų? PIR judesio jutiklio/diapazono jutiklio projektas: 5 žingsniai
Kas yra prie mano durų? PIR judesio jutiklio/diapazono jutiklio projektas: Mūsų projekto tikslas yra pajusti judesį per PIR ir atstumo jutiklius. „Arduino“kodas skleis vaizdo ir garso signalą, kad vartotojui būtų pranešta, kad kažkas yra šalia. MATLAB kodas atsiųs el. Pašto signalą, kad įspėtų vartotoją, kad kažkas yra šalia. Šis įrenginys