Homie -laitteiden rakentaminen IoT: lle tai kotiautomaatiolle: 7 vaihetta (kuvilla)
Homie -laitteiden rakentaminen IoT: lle tai kotiautomaatiolle: 7 vaihetta (kuvilla)
Anonim
Homie -laitteiden rakentaminen IoT: lle tai kotiautomaatiolle
Homie -laitteiden rakentaminen IoT: lle tai kotiautomaatiolle

Tämä ohje on osa DIY Home Automation -sarjaa, katso pääartikkeli "DIY -kodin automaatiojärjestelmän suunnittelu". Jos et vielä tiedä, mikä Homie on, katso Marie Rogerin homie-esp8266 + homie.

Antureita on monia. Käsittelen aivan perusasioita antaakseni lukijalle vaatimukset "jonkin" rakentamisen aloittamiseksi. Se ei ehkä ole rakettitiedettä, mutta sen pitäisi todella toimia.

Jos sinulla ei ole osia, varo tulevaa ohjeistettavaa "Elektronisten osien hankintaa Aasiasta".

Haluan lisätä muutaman buzz -sanan: IoT, ESP8266, Homie, DHT22, DS18B20, kodin automaatio.

Aiheen pitäisi olla aika selvä:-)

Lisäksi tämä ohje on nyt saatavilla myös henkilökohtaiselta sivultani:

Vaihe 1: Aloittaminen

Päästä alkuun
Päästä alkuun
Päästä alkuun
Päästä alkuun

Yleissopimukset

Tässä ohjeessa käytetään D1 Mini -klooneja. Nämä ovat WiFi -yhteensopivia Arduino -yhteensopivia ohjaimia, jotka käyttävät ESP8266 -sirua. Ne toimitetaan hyvin pienessä muodossa (~ 34*25 mm) ja ovat likaisia (~ 3-4 dollaria klooneille).

Kuvaan jokaista rakennetta käyttämällä D1 Miniä, leipälautaa ja joitain antureita. Sisällytän Bill of Materials (BOM) jokaiselle, mutta ohitan ilmeiset asiat, kuten hyppyjohdot ja leipälauta (mini tai täysi). Keskityn "aktiivisiin osiin".

Kaavioiden johdoissa/kaapeleissa (Fritzing + AdaFruitFritzing -kirjasto) käytin:

  • Punainen/oranssi, yleensä 3,3 V. Joskus se on 5V, ole varovainen.
  • Musta maahan.
  • Keltainen digitaalisille datasignaaleille: bitit kulkevat ja ne voidaan lukea siruina sellaisinaan.
  • Sininen/violetti analogisille datasignaaleille: Ei bittejä, vain jännite, joka on mitattava ja laskettava ymmärtääkseen mitä tapahtuu.

Homie ESP8266: lle toimittaa tusinaa esimerkkiä, sieltä aloin rakentaa tätä opastettavaa.

Leipälauta

D1 on melko leipälautaystävällinen, mutta säästää vain yhden nastarivin ylös ja alas. Jokaisessa esimerkissä D1 on oikealla puolella ja komponentit vasemmalla puolella. Ylempi ja alempi virtakisko käytetään joko 3,3 V: n tai 5 V.

Huomautus

Homie -esimerkit on rakennettu ".ino" -luonnoksiksi Arduino IDE: lle. Oma koodini on kuitenkin rakennettu ".ccp" PlatformIO: lle.

Tällä ei ole juurikaan eroa, koska luonnokset ovat riittävän yksinkertaisia kopioitavaksi/liitettäväksi valitsemastasi työkalusta riippumatta.

Vaihe 2: Lämpötila ja kosteus: DHT22 / DHT11

Lämpötila ja kosteus: DHT22 / DHT11
Lämpötila ja kosteus: DHT22 / DHT11
Lämpötila ja kosteus: DHT22 / DHT11
Lämpötila ja kosteus: DHT22 / DHT11
Lämpötila ja kosteus: DHT22 / DHT11
Lämpötila ja kosteus: DHT22 / DHT11

Laitteen rakentaminen

DHT22 käyttää:

  • Yksi digitaalinen nasta kommunikoidaksesi ohjaimen kanssa, liitä se D3: een
  • Kaksi virtajohtoa (3.3V tai 5V + GND)
  • Digitaalinen nasta on pidettävä korkealla (kytketty virtalähteeseen), tätä varten käytämme vastusta virtakiskon ja datatapin välillä

Koodi

PlatformIO-projektin voi ladata osoitteesta

Alkuperäinen Homie-esimerkki on täällä (mutta ei käytä anturia):

Käytä DHT22: lle DHT -anturikirjastoa (ID = 19)

BOM

  • Ohjain: Wemos D1 Mini
  • Vastus: 10KΩ
  • Anturi: (yksi näistä)

    • DHT22: Olen käyttänyt 4 nastaa, joka vaatii ylimääräisen vastuksen. Toimitetaan 3 nastamoduulia SMD: nä, joka sisältää vastuksen.
    • DHT11: Tämä on halvempaa, mutta vähemmän tarkkaa, tarkista tarpeesi

Vaihe 3: Vedenpitävä lämpötila: DS18B20

Vedenpitävä lämpötila: DS18B20
Vedenpitävä lämpötila: DS18B20
Vedenpitävä lämpötila: DS18B20
Vedenpitävä lämpötila: DS18B20
Vedenpitävä lämpötila: DS18B20
Vedenpitävä lämpötila: DS18B20

Laitteen rakentaminen DS18B20 käyttää:

  • Yhdistä digitaalinen nasta ohjaimen kanssa, yhdistä se D3: een
  • Kaksi virtajohtoa (3.3V tai 5V + GND)
  • Digitaalinen nasta on pidettävä korkealla (kytketty virtalähteeseen), tätä varten käytämme vastusta virtakiskon ja datatapin välillä

DS18B20 on 1-johtiminen anturi. Se käyttää väylää ja sellaisenaan useat anturit voivat käyttää yhtä datatappia.

On myös mahdollista EI käyttää 3.3V/5V anturin virransyöttöön, tätä kutsutaan loisvirran tilaksi. Katso lisätietoja taulukosta.

Koodi

PlatformIO-projektin voi ladata osoitteesta

Kuten DHT22: lle, alkuperäinen Homie-esimerkki on täällä (mutta ei käytä anturia):

Käytä 1-johtimista väylää OneWire-paketti (ID = 1)

Käytä DS18B20 -mallissa DallasTemperature (ID = 54)

BOM

  • Ohjain: Wemos D1 Mini
  • Vastus: 4.7KΩ
  • Anturi: DS18B20, kuvassa on vedenpitävä
  • 3 -nastainen ruuviliitin helpottaa kaapelin liittämistä leipälevyyn

Vaihe 4: Valo: Valovastus / valokenno (digitaalinen: päällä / pois)

Valo: Valovastus / valokenno (digitaalinen: päällä / pois)
Valo: Valovastus / valokenno (digitaalinen: päällä / pois)
Valo: Valovastus / valokenno (digitaalinen: päällä / pois)
Valo: Valovastus / valokenno (digitaalinen: päällä / pois)
Valo: Valovastus / valokenno (digitaalinen: päällä / pois)
Valo: Valovastus / valokenno (digitaalinen: päällä / pois)

Laitteen rakentaminen

(Valitettavasti sinulla ei ole Fritzing -komponenttia digitaalista valokennoa varten)

Valokennon digitaalimoduuli käyttää:

  • Yhdistä digitaalinen nasta ohjaimen kanssa, yhdistä se D3: een
  • Kaksi virtajohtoa (3.3V + GND)

On mahdollista käyttää analogista valokennoa, mutta tätä ei ole dokumentoitu täällä, katso Adafruitin erinomainen artikkeli "Valokennon käyttö".

Huomautus: Tässä esimerkissä anturikortilla on potentiometri. Sitä käytetään rajaamaan "vaalea" ja "tumma" ympäristön valo. Kun lukeminen 1 valo on pois päältä, lukeminen 0 tarkoittaa valoa, jos se palaa.

Koodi

PlatformIO-projektin voi ladata osoitteesta

BOM

Ohjain: Wemos D1 Mini

Anturi: valoherkkä / valon tunnistusmoduuli

Vaihe 5: Valo: Valovastus / valokenno (analoginen)

Valo: Valovastus / valokenno (analoginen)
Valo: Valovastus / valokenno (analoginen)
Valo: Valovastus / valokenno (analoginen)
Valo: Valovastus / valokenno (analoginen)
Valo: Valovastus / valokenno (analoginen)
Valo: Valovastus / valokenno (analoginen)

Laitteen rakentaminen

Valokennon analoginen anturi toimii vastuksena. Se muodostaa yhteyden analogisen tulon ja 3.3V: n välillä.

Vastus asetetaan GND: n ja datatapin väliin jännitteenjakajan luomiseksi. Tarkoituksena on luoda tunnettu arvoalue:

  • Jos valoa ei ole, valokenno estää pohjimmiltaan VCC: n ja yhdistää siten GND: n datanappiisi: Pin lukee lähes 0.
  • Jos valoa on paljon, valokenno antaa VCC: n virrata datatappiin: Pin lukee lähes täyden jännitteen ja sellaisenaan lähellä maksimia (1023).

Huomautus: Analogisten nastojen arvot luetaan alueella 0-1023 käyttäen analogReadia. Tämä ei ole käytännöllistä käsitellä 1 tavun arvoja, sillä Arduino-karttatoiminto auttaa pienentämään 0-1023: sta (esimerkiksi) 0-255: een.

Kalibroi anturin min/max -arvot käyttämällä tämänkaltaista luonnosta Arduinolta.

Koodi

PlatformIO-projektin voi ladata osoitteesta

BOM

  • Ohjain: Wemos D1 Mini
  • Anturi: Valosta riippuvainen vastus (LDR) / valovastus
  • Vastus: 1K tai 10K, täytyy kalibroida solun perusteella

Viitteet

  • PiDome -palvelimen lähdekoodi sijainnin valaistusolosuhteisiin
  • Adafruitin "valokennon käyttö"
  • "Valoresistorit" täällä ohjeissa
  • Hemmetin "valokennon opetusohjelma", jos haluat matematiikkaa ja kaavioita

Vaihe 6: Optinen ilmaisin: QRD1114

Laitteen rakentaminen

Koodi

BOM

Viitteet

  • Fyysinen tietojenkäsittely: QRD1114 sisältää näytekoodin anturin lukemiseen ja keskeytyksen käyttämiseen pyörivässä kooderissa + tarkka piirilevyrakenne
  • QRD1114 Optisen ilmaisimen kytkentäopas Sparkfunissa

Vaihe 7: Viimeiset sanat

Lopulliset sanat
Lopulliset sanat

Tämä ohje on hyvin lyhyt selittää perusvalvonta.

Jos haluat mennä pidemmälle, meidän on yhdistettävä releet, IR -lähetin… Tämä toivottavasti käsitellään myöhemmin, kun vapaa -aika sallii sen. Suurin ero on se, että emme vain "lue" (onko valoa?) Vaan myös "kirjoita" (sytytä valo!).