Sisällysluettelo:

IoT -kuun lamppu: 5 vaihetta
IoT -kuun lamppu: 5 vaihetta

Video: IoT -kuun lamppu: 5 vaihetta

Video: IoT -kuun lamppu: 5 vaihetta
Video: Металл больше не нужен! Теперь есть ФИБЕРГЛАСС своими руками в домашних условиях. 2024, Marraskuu
Anonim
IoT -kuun lamppu
IoT -kuun lamppu

Tässä ohjeessa näytän, kuinka yksinkertainen akkukäyttöinen LED -lamppu muutetaan IoT -laitteeksi.

Tämä projekti sisältää:

  • juottaminen;
  • ohjelmointi ESP8266 Arduino IDE: llä;
  • Android -sovelluksen tekeminen MIT App Inventorin avulla.

Kiinnostava kohde on tämä kuun muotoinen lamppu, jonka ostin Gearbestiltä. Mutta todella tämä opetusohjelma voidaan mukauttaa mihin tahansa matalajännitelaitteeseen (verkkovirtaiset laitteet vaativat lisäpiirejä).

Tarvikkeet

  1. Android-älypuhelin (Android-versiot 7-9 testattu).
  2. Juototyökalut.
  3. Piirilevyn prototyyppien laatiminen (protoboard).
  4. ESP-12E-kortti (tai muu kehitystaulu, jossa on ESP8266-mikrokontrolleri).
  5. USB-sarjamuunnin ohjelmointia varten.
  6. Useita erilaisia passiivisten komponenttien arvoja (vastukset ja kondensaattorit).

(Valinnainen. Katso "Lohkokaavio" -osa)

  1. 3.3V@500mA LDO IC.
  2. 3.3V-5V logiikkatasoinen muunninkortti.
  3. 5V DC -virtalähde.

Vaihe 1: Idea

Idea
Idea

Moon-lamppu saa virtansa yhdestä Li-ION 18650 -kennosta ja siinä on 3 toimintatilaa:

  • vinossa;
  • käsikirja;
  • auto.

Manuaalitilassa lamppua ohjataan painikkeella, jokainen painallus muuttaa LED -valon tilaa (sininen palaa, oranssi päällä, molemmat päällä, pois), valon voimakkuus muuttuu, kun painat painiketta painettuna. Automaattitilassa LED -valon tilat muuttuvat napauttamalla tai ravistamalla itse lamppua.

Päätin lisätä ESP8266: n toimimaan verkkopalvelimena, joka kuuntelee pyyntöjä ja simuloi painikkeiden painalluksia. En halunnut rikkoa lampun alkuperäisiä toimintoja, halusin vain lisätä lisähallintaominaisuuksia WiFi -yhteyden kautta, joten valitsin ESP: n simuloimaan painikkeiden painikkeita sen sijaan, että ohjaisimme suoraan LED -valoja. Myös tämä antoi minulle mahdollisuuden olla minimaalisesti vuorovaikutuksessa alkuperäisen piirin kanssa.

Kun prototyyppi tehtiin, se ajoi ~ 80mA jatkuvasti akusta pois päältä (~ 400mA täydellä kirkkaudella). Valmiusvirta on suuri, koska ESP8266 toimii palvelimena ja on aina yhteydessä WiFi -verkkoon ja kuuntelee pyyntöjä. Akku oli tyhjä puolentoista päivän kuluttua vain pois päältä, joten päätin myöhemmin käyttää lamppujen USB -latausporttia kaiken elektroniikan virran saamiseen ulkoisesta 5 V: n virtalähteestä ja irrotetun akun yhdessä (mutta tämä on valinnainen).

Vaihe 2: Lohkokaavio

Lohkokaavio
Lohkokaavio

Lohkokaaviossa näet, mitä piiriä lisätään ja miten olemassa olevaa piiriä muutetaan. Minun tapauksessani poistin akun kokonaan ja oikosuloin akkulaturien IC -tulon ulostulolla (tämä on jälleen valinnainen). Kaavion läpinäkyvät lohkot osoittavat komponentit, jotka on ohitettu (vaikka painike toimii edelleen alun perin tarkoitetulla tavalla).

Dokumentaation mukaan ESP8266 sietää vain 3,3 V: ta, mutta on paljon esimerkkejä siitä, että ESP8266 toimii täysin hyvin 5 V: n kanssa, joten loogisen tason muunnin ja 3,3 V: n LDO voidaan jättää pois, mutta pysyin parhaiden käytäntöjen kohdalla ja lisäsin nämä komponentit.

Käytin 3 ESP8266 I/O -nastaa ja ADC -nasta. Yksi digitaalinen ulostulonappi on painikkeiden simuloinnin simulointiin, kaksi digitaalista tuloa ilmaisimien värien tunnistamiseen (tästä voimme selvittää missä tilassa MCU on ja mikä tila on seuraava painikkeen painamisen jälkeen). ADC -nasta mittaa tulojännitteen (jännitteenjakajan kautta), joten voimme seurata jäljellä olevaa akun varaustasoa.

Ulkoisena virtalähteenä käytän vanhaa puhelinlaturia 5V@1A (älä käytä pikalaturia).

Vaihe 3: Ohjelmointi

Ohjelmointi
Ohjelmointi
Ohjelmointi
Ohjelmointi

Lyhyesti sanottuna ohjelma toimii näin (lisätietoja on koodissa itse):

ESP8266 muodostaa yhteyden WiFi -tukiasemaan, mitkä kirjautumistiedot sinun on annettava koodin alussa ennen ohjelmointia, se saa IP -osoitteen reitittimesi DHCP -palvelimelta, jotta voit selvittää myöhemmin tarvitsemasi IP -osoitteen, voit tarkistaa reitittimen verkkoliittymän DHCP -asetukset tai asettaa virheenkorjauslippu koodissa 1 ja näet mitä IP ESP sai sarjamonitorista (sinun tulee varata se IP reitittimen asetuksista, jotta ESP saa aina saman IP: n käynnistyksen yhteydessä).

Kun alustettu MCU suorittaa aina saman rutiinin ikuisesti:

  1. Tarkista, onko yhteys edelleen AP: hen, jos et yritä muodostaa yhteyttä uudelleen, ennen kuin onnistut.
  2. Odota, että asiakas lähettää HTTP -pyynnön. Kun pyyntö tapahtuu:

    1. Tarkista tulojännite.
    2. Tarkista, missä tilassa LEDit ovat.
    3. Yhdistä HTTP -pyyntö tunnettuihin LED -tiloihin (sininen päällä, oranssi päällä, molemmat päällä, pois päältä).
    4. Simuloi niin monta painikkeen painallusta kuin tarvitaan halutun tilan saavuttamiseksi.

Kuvaan lyhyesti ohjelmointiohjeita, jos se on ensimmäinen ohjelmointisi ESP8266 MCU, etsi tarkempia ohjeita.

Tarvitset Arduino IDE: n ja USB-sarjaliitäntämuuntimen (esimerkiksi FT232RL). Valmistele IDE noudattamalla näitä ohjeita.

Liitä ESP-12E-moduuli ohjelmointia varten piirikaavion mukaisesti. Joitakin vinkkejä:

  • käytä ulkoista 3.3V@500mA virtalähdettä (useimmissa tapauksissa USB-sarjavirtalähde ei riitä);
  • tarkista, onko USB-sarjamuuntimesi yhteensopiva 3,3 V: n logiikkatason kanssa;
  • tarkista, onko USB-sarjamuuntimen ohjaimet asennettu onnistuneesti (Windowsin laitehallinnasta). Voit myös tarkistaa, toimiiko se oikein IDE: stä, vain lyhyet RX- ja TX-nastat, kuin IDE-valikosta COM-portti, avaa sarjamonitori ja kirjoita jotain, jos kaikki toimii sinun pitäisi nähdä lähettämäsi teksti konsolissa;
  • jostain syystä pystyin ohjelmoimaan ESP: n vain, kun liitin ensin USB-sarjamuuntimen tietokoneeseen ja käynnistin sitten ESP: n ulkoisesta 3,3 V: n lähteestä;
  • onnistuneen ohjelmoinnin jälkeen älä unohda nostaa GPIO0 korkealle seuraavan käynnistyksen yhteydessä.

Vaihe 4: Kaavio ja juottaminen

Kaavio ja juottaminen
Kaavio ja juottaminen
Kaavio ja juottaminen
Kaavio ja juottaminen
Kaavio ja juottaminen
Kaavio ja juottaminen

Noudata kaaviota kaikkien komponenttien juottamiseksi protoboardiin. Kuten aiemmin mainittiin, jotkin komponentit ovat valinnaisia. Käytin KA78M33 3.3V LDO IC: tä ja tätä loogisen tason muunninkorttia kipinöinnistä. Vaihtoehtoisesti voit tehdä muuntimen itse kaavion mukaisesti (voit käyttää mitä tahansa N-kanavaista mosfetia BSS138: n sijasta). Jos käytät Li-ION-akkua, +5V -verkko on akun positiivinen napa. ESP8266 ADC -referenssijännite on 1 V, valitsemani vastuksenjakaja -arvot mahdollistavat jopa 5,7 V: n tulojännitteen mittaamisen.

Alkuperäiseen lampun piirilevyyn tulee olla 5 liitäntää: +5 V (tai +akku), GND, painike, lampun MCW PWM -signaalit sinisen ja oranssin merkkivalojen ohjaamiseksi. Jos käytät lamppua 5 V: n lähteestä, kuten minä, haluat lyhentää akkulaturit IC VCC -tapin OUTPUT -nastalla, jolloin kaikki elektroniikka saa virtansa suoraan +5 V: sta eikä akkulaturin OUTPUT -lähdöstä.

Seuraa toista kuvaa kaikista juotospisteistä, jotka sinun on tehtävä lamppujen piirilevylle.

HUOMAUTUKSIA:

  1. Jos päätit oikosulkea +5 V akkulaturin IC -ulostulolla, poista akku kokonaan ennen sitä, et halua kytkeä +5 V: ta suoraan akkuun.
  2. Kiinnitä huomiota siihen, mihin painonappiin juotat ESP -lähdön, koska 2 painonappia on kytketty maahan ja et halua oikosulkua, kun ESP -lähtö menee KORKEA, tarkista vielä yleismittarilla.

Vaihe 5: Android -sovellus

Android -sovellus
Android -sovellus
Android -sovellus
Android -sovellus
Android -sovellus
Android -sovellus

Android -sovellus on tehty MIT -sovellusten keksijän kanssa. Jos haluat ladata sovelluksen ja/tai kloonata projektin itsellesi, siirry tästä linkistä (tarvitset Google -tilin, jotta voit käyttää sitä).

Ensimmäisen käynnistyksen yhteydessä sinun on avattava asetukset ja annettava ESP8266 -IP -osoitteesi. Tämä IP -osoite tallennetaan, joten sitä ei tarvitse syöttää uudelleen ohjelman uudelleenkäynnistyksen jälkeen.

Sovellus on testattu useilla Android 9- ja Android 7 -laitteilla.

Suositeltava: