Sisällysluettelo:

TinyLiDAR autotallissasi!: 10 askelta
TinyLiDAR autotallissasi!: 10 askelta

Video: TinyLiDAR autotallissasi!: 10 askelta

Video: TinyLiDAR autotallissasi!: 10 askelta
Video: БЕНЗОПИЛА и её хитрости! Такие полезные советы Должен знать каждый! 2024, Marraskuu
Anonim
TinyLiDAR autotallissasi!
TinyLiDAR autotallissasi!

DIY WiFi -autotallin ovenavaajaprojekti

IoT -maailma on vasta alkamassa räjähtää - jokainen teknologiayritys ympäri maailmaa yrittää selvittää, miten ne sopivat tähän uuteen maailmaan. Se on vain niin suuri mahdollisuus! Joten tämän opettavaisen, tämän IoT -teeman mukaisesti, käymme läpi, miten voit tehdä oman IoT -esittelyn, joka on todella hyödyllinen;)

TL; DR -yhteenveto

  • Luo luotettava työnkulku ESP32 WiFi -moduulin koodaamiseen
  • välähdä se
  • koota se leipäpöydällesi
  • Lataa sovelluskoodi ja pura se
  • lisää WiFi -tunnuksesi ja staattinen IP -osoitteesi
  • liitä se WiFi -verkkoon
  • muokkaa kynnyksiä ja asenna se autotalliisi
  • kytke se autotallin oven avaajan koskettimiin
  • ja klikkaa pois!
  • JUOTTAMISTA EI TARVITA (lukuun ottamatta murtolevyjen tappeja tarvittaessa)

Tarvittavat osat

  • tinyLiDAR lentoaika -anturimoduulin aika
  • Wipy3.0 tai vastaava ESP32 -pohjainen WiFi -kortti
  • Optisesti eristetty puolijohderele (Omron G3VM-201AY1) autotallin oven avaajaa varten
  • 470 ohmin vastus (5% 1/8 wattia tai suurempi on kunnossa)
  • BOOT (GPIO0) -tapin hetkellinen painonappikytkin ESP32 -kortin laiteohjelmiston päivittämiseksi
  • USB -sarja -dongle ladataksesi koodin ja käyttääksesi REPL: ää ESP32: ssa (käytä 3.3v I/O -versiota)
  • Leipälauta + johdot
  • Virtalähde: 3.3V - 5V 500mA tai enemmän. Voit käyttää microUSB -matkapuhelinlaturia virtalähteeseen ja microUSB -katkaisukorttiin liittääksesi leipälevyyn.

Vaihe 1: IoT Mitä?

IoT Mitä?
IoT Mitä?

Olet epäilemättä kuullut termistä IoT tähän mennessä kaikissa tiedotusvälineissä, mutta mitä se tarkoittaa?

Se tarkoittaa löyhästi kaikenlaisten antureiden ja hallittavien asioiden yhdistämistä Internetiin. Nykyään Internet on synonyymi langattomalle, joten meillä on kaikki elektroninen, josta tulee yhtäkkiä langaton yhteys johonkin langattomaan yhteyteen, kuten WiFi/BT/LoRa/SigFox jne. Kun olemme muodostaneet yhteyden Internetiin, voimme tunnistaa ja/tai hallita nämä asiat suosikkimobiiliohjaimeltamme, kuten matkapuhelimestamme, tai automatisoida ne jonkin sovelluksen kautta, joka toimii jossakin palvelimessa (eli pilvessä).

Vaikka suuret yritykset ovat viime aikoina markkinoineet enemmän ääniohjausta, tekoälyä ja pilviyhteyksiä; kaiken tämän toteuttamisen perusteet ovat edelleen samat. Sinun on yhdistettävä "juttusi" langattomaan linkkiin, ennen kuin jokin näistä käsitteistä on mahdollista. Aloitetaan siis perusasioista ja opitaan yhdistämään tinyLiDAR -lentoetäisyysanturi halpaan WiFi -moduuliin ja näyttämään sitten tietojen lähettäminen edestakaisin verkon kautta. Tämän ohjeen loppuun mennessä sinulla on oma toimiva WiFi -yhteensopiva autotallin oven kaukosäädin ja reaaliaikainen näyttö, joka tarkistaa, onko ovi auki tai kiinni.

Teknisesti ottaen, kuten yllä olevassa lohkokaaviossa esitetään, tämä projekti toteuttaa ESP32 WiFi -moduulissa toimivan mikropython -verkkopalvelimen, joka käyttää "websockets" -viestintäprotokollaa tietojen siirtämiseen edestakaisin mistä tahansa mobiililaitteesta. Tämän lisäksi meillä on tinyLiDAR -lentoetäisyysanturi, joka mittaa tarvittaessa, jotta voit tarkistaa, onko autotallin ovi jätetty auki.

Vaihe 2: Kokeile - Ei todellakaan, kokeile nyt

Kokeile - Ei todellakaan, kokeile nyt
Kokeile - Ei todellakaan, kokeile nyt

Tämä kaikki on suhteellisen uusi ala elektroniikassa, joten tarvitaan paljon kokeiluja, jotta asiat toimisivat oikein. Toivomme, että pystyt rakentamaan tälle koodikannalle ja tekemään mielenkiintoisempia omia IoT -projekteja.

Kaikki tässä artikkelissa käytetty koodi toimi hyvin tämän kirjoituksen aikaan. Kuitenkin, kun innovaatioiden määrä IoT -tilassa kasvaa, asiat ovat saattaneet muuttua, kun luet tämän. Joka tapauksessa ongelmien ratkaiseminen ja niiden mukauttaminen omaan käyttöön saa ainakin pään tähän jännittävään uuteen tilaan ja alkaa ajatella kuin IoT -insinööri!

Valmis? Aloitetaan ensimmäisestä vaiheesta oman vakaan kehitysympäristön luomiseksi.

Vaihe 3: Micropython ja ESP32

Micropython ja ESP32
Micropython ja ESP32

ESP32 WiFi -moduulit ovat Espressifin luomia, ja ne ovat parantuneet paljon ensimmäisen sukupolven ESP8266 -moduuleistaan vain muutama vuosi sitten. Näissä uusissa versioissa on paljon enemmän muistia, vahvempi prosessori ja enemmän ominaisuuksia kuin alkuperäisissä moduuleissa, ja ne ovat edelleen edullisia. Yllä oleva kaavio antaa sinulle käsityksen siitä, kuinka paljon he pystyivät pakkaamaan tähän pieneen ESP32 -siruun. ESP32 IC itsessään on kaksoisytiminen mikro -ohjain, jossa on 802.11b/g/n WiFi -radio ja myös Bluetooth 4.2 -radio. ESP32 -pohjaiset moduulit lisäävät tyypillisesti antennin, ylimääräisen FLASH -muistin ja tehonsäätimet.

Huomaa, että kun sanomme ESP32 -moduulin tässä ohjeessa, tarkoitamme Pycom Wipy3.0 -levyjä, jotka perustuvat ESP32 -siruun/-moduuliin. Kokemuksemme mukaan Pycom -levyt näyttävät olevan laadukkaampia kuin tyypilliset edulliset ESP32 -moduulit. Kehitettäessä on aina hyödyllistä vähentää mahdollisimman monta muuttujaa, joten valitsimme Pycom -levyt halpojen geneeristen lääkkeiden sijaan.

OEM -sovelluksissa ESP32 -koodaus tehdään tyypillisesti C -kielellä, mutta onneksi meillä on myös paljon vaihtoehtoja, joista sinun on valittava, joten sinun ei tarvitse laskea tälle matalalle tasolle, jos et halua. Päätimme käyttää mikropytonia kaikessa koodauksessamme tässä ohjeessa.

Micropython, kuten olet ehkä arvannut, on osa Python -ohjelmointikieltä, joka käyttää joitakin vähemmän tunnettuja hakukoneita ja verkkosivustoja, kuten Google, YouTube ja Instagram;)

Micropython-logo
Micropython-logo

Micropython aloitettiin alun perin STM32 -prosessorin kickstarter -projektina, mutta siitä on tullut erittäin suosittu monille eri mikro -ohjaimille. Käytämme täällä uusinta Pycom ESP32 -mikropython -porttia.

Vaihe 4: Nopeampi tapa

Nopeampi tapa
Nopeampi tapa

Mikropython -koodilla on yksinkertainen käyttöliittymä, jota kutsutaan nimellä REPL, joka tarkoittaa "Read – Eval – Print Loop". ESP32: n REPL toimii yleensä 115,2 kbaud: n taajuudella, koska se on käytetty sarjaportin kautta. Yllä oleva kuva näyttää tämän REPL -kehotteen, joka on merkitty sen kolmella nuolella odottamassa suoria komentoja. Se on helppo tapa kokeilla yksinkertaisia komentojamme ja useimmat kooderit käyttävät sitä ohjelmistojensa kehittämiseen, mutta havaitsimme sen olevan tuskallisen hidas tapa edetä. Siksi päätimme tehdä sen eri tavalla tämän ohjeen mukaan…

Koska ESP32 -moduuleissa on nopea WiFi -yhteys, meidän tarvitsee vain käyttää moduulia WiFi -yhteyden kautta FTP -palvelimen kautta, joka on jo upotettu vakiomikropython -koodiin. Tämän jälkeen voimme käyttää FZ -asiakkaita, kuten FileZillaa, vetää ja pudottaa koodimme ESP32: een.

Tätä varten meidän on ensin saatava ESP32 -moduuli WiFi -verkkoon. Wipy3.0 -moduulit käyttävät oletuksena pientä tukiasemaa käynnistyksen yhteydessä, joten voit muodostaa yhteyden niihin suoraan kannettavasta tietokoneesta osoitteessa 192.168.4.1. Katso lisätietoja täältä, jos pidät tästä menetelmästä.

Työskentelemme laboratoriomme pöytätietokoneiden parissa, joten halusimme ESP32 -moduulien muodostavan yhteyden verkkoon. Tätä varten meidän on vain annettava moduulille staattinen IP -osoite ja salasanatiedot, jotta voimme kirjautua WiFi -verkkoon.

Vaihe 5: Lataa nyt

Lataa nyt
Lataa nyt
Lataa nyt
Lataa nyt
Lataa nyt
Lataa nyt
Lataa nyt
Lataa nyt

Lataa sovelluskoodi nyt ja pura tiedostot tietokoneen väliaikaiseen kansioon. Aloita sitten muokkaamalla mywifi.txt- ja boot.py -komentotiedostoja omilla WiFi -verkkotunnuksillasi.

Btw - suosikkitekstieditorimme on edelleen SublimeText. Sen voi ladata täältä.

Lataa myös TeraTerm -pääteohjelmisto ja FileZilla FTP -ohjelmisto nyt, jos sinulla ei vielä ole niitä tietokoneellasi.

Sinun on asennettava FileZilla yllä olevien kuvien mukaisesti. Myös sivustonhallinnassa sinun on "lisättävä uusi sivusto" ESP32 -kirjautumiseen käyttämällä staattista IP -osoitetta, jonka valitsit kuten yllä. Käyttäjä on "micro" ja salasana "python". On tärkeää käyttää passiivista FTP: tä ja rajoittaa se vain yksittäisiin yhteyksiin. Huomasimme, että latausnopeuden rajoittaminen auttoi myös estämään latauksen jumittumisen. Vaikka sitä ei näy kuvissa, olisi hyödyllistä yhdistää SublimeText -ohjelma tiedostotyyppeihin, jotta voit muokata koodia kaksoisnapsauttamalla FTP -näytön vasenta puolta. Voit tehdä tämän siirtymällä Asetukset -valikkoon ja syöttämällä Tiedoston muokkaus/Tiedostotyyppi -yhdistyksissä SublimeText -exe -tiedostosi sijainnin kullekin yhdistykselle. Esimerkiksi meidän oli:

js "C: / Sublime Text Build 3065 x64 / sublime_text.exe"

. "C: / Sublime Text Build 3065 x64 / sublime_text.exe" htm "C: / Sublime Text Build 3065 x64 / sublime_text.exe" html "C: / Sublime Text Build 3065 x64 / sublime_text.exe" py "C: / Sublime Tekstirakennus 3065 x64 / sublime_text.exe "css" C: / Sublime Text Build 3065 x64 / sublime_text.exe"

Kopioi tämän ohjeen puretut sovellustiedostot tietokoneellesi uuteen "FTP" -kansioon, kuten mekin. Myöhemmin on helpompi vetää täältä FileZillan sisältä.

Yleensä on hyvä idea käyttää uusinta laiteohjelmistoa ESP32: ssa. Pycom -moduulien päivittäminen uusimpaan mikropythoniin on erittäin yksinkertaista, ja se voidaan tehdä noin 3 minuutissa niiden laiteohjelmiston päivitystyökalulla.

Muista vain asettaa USB: n COM-portti sarjaliitäntään ja poistaa nopean tilan valinta, kuten yllä olevassa "Tiedonsiirto" -kuvassa näkyy. Meillä oli COM -portti 2. Huomaa, että saadaksesi ESP32 -moduulit tähän päivitystilaan sinun on painettava GPIO0/Boot -painiketta (P2 -nastalla) samalla, kun painat ja vapautat Reset -painikkeen.

Vaihe 6: Laitteistoaika

Laitteiston aika
Laitteiston aika
Laitteiston aika
Laitteiston aika

Nyt olisi hyvä aika kytkeä laitteisto leipälevylle, kuten yllä olevassa kuvassa.

Tämän jälkeen kaikki on valmis. Käynnistä pääteohjelmisto oikealla COM -portilla USB -sarja -dongle -asetukselle ja aseta se 115,2 kt: iin.

Käynnistyksen yhteydessä moduulin pitäisi näyttää tuttu REPL -kehote, jossa on kolme nuolta ">>>".

Siirry nyt muokattuun mywifi.txt -tiedostoon ja kopioi kaikki sisältö (CTRL+C). Siirry sitten REPL -pääteikkunaan ja paina CTRL+E päästäksesi leikkaus- ja liitäntätilaan. Liitä sitten sisältö REPL -näyttöön napsauttamalla sitä hiiren kakkospainikkeella ja suorita sitten liittämäsi painamalla CTRL+D -näppäimiä.

Sen pitäisi aloittaa laskenta heti sanoakseen, että se yrittää muodostaa yhteyden WiFi -verkkoon. Yllä oleva kuvakaappaus näyttää onnistuneen yhteysviestin.

Kun yhteys on muodostettu, voit käyttää FileZillaa muodostaaksesi yhteyden FTP -palvelimeen moduuleissa staattisella IP -osoitteella, jonka valitsit jo mywifi.txt- ja boot.py -tiedostoissasi.

Vaihe 7: Oletko edelleen kanssamme?

Vieläkö kanssamme?
Vieläkö kanssamme?
Vieläkö kanssamme?
Vieläkö kanssamme?

Jos kaikki on mennyt hyvin tähän asti, niin hyvä sinulle! Kova työ on tehty:) Nyt se on sujuvaa purjehdusta - vain joukko leikkausta ja tahnaa ja olet käynnissä, jotta voit asentaa sen autotalliisi.

Voit muokata mitä tahansa koodia kaksoisnapsauttamalla FileZillan FTP -ikkunan vasenta puolta ja se käynnistää SublimeTextin. Tallenna muutokset ja vedä se sitten oikealle puolelle, joka on ESP32 -ikkuna.

Vedä toistaiseksi tiedostot FileZillan vasemmalta puolelta oikealle ja lataa jokainen tiedosto erikseen ESP32 -moduuliin. Tämä kestää vain muutaman lyhyen sekunnin minuuttien sijaan, kuten normaali REPL -menetelmä. Huomaa, että kaikkien tiedostojen tulee olla Pycom -kortin sisällä olevan "flash" -hakemiston alla. Voit tehdä kirjanmerkin FileZillassa, jotta on helpompaa palata tänne seuraavan kerran.

Jos saat ongelman, jossa FileZilla roikkuu ja aikakatkaistaan latauksen, huomaat tiedoston ESP32 -puolella, jossa on 0 tavua. Yrittäminen kirjoittaa sen päälle voi saada sinut hulluksi, koska se ei koskaan pääty, vaikka yrität! Se on hyvin outo tila ja tapahtuu hyvin usein. Paras ratkaisu tähän on poistaa 0 -tavuinen tiedosto ja käynnistää moduuli. Hanki sitten TUORE kopio lähdetiedostosta ja lähetä se uudelleen ESP32 -moduuliin. Huomaa, että uusi kopio on tässä avain. Jotenkin lähdetiedosto ei vain lataudu kunnolla, jos se roikkuu näin edes yhden kerran.

Huomasimme, että se auttaa vetämään jokaisen tiedoston erikseen ESP32 -moduuliin alkaen boot.py. Tämä ensimmäinen tiedosto on vastuussa moduulin saamisesta verkkoon, joten sinun ei tarvitse enää leikata ja liittää REPL: ään. Voit kuitenkin tarttua www -kansioon ja vetää sen yhdellä kertaa. Tämä on aina auttanut meitä kehityksessämme. Kaikki nämä tiedostot tallennetaan ESP32-moduulin sisäiseen haihtumattomaan flash-muistiin, joten ne ovat siellä virran katkaisun jälkeen. Vain fyi - main.py suoritetaan boot.py: n jälkeen aina, kun moduuli käynnistetään.

Vaihe 8: Vinkkejä hakkerointiin

Vinkkejä hakkerointiin
Vinkkejä hakkerointiin

Katso koko koodi ja yritä Googlettaa avainsanoja, joita et tunnista. Kun kaikki on kunnossa, voit yrittää muuttaa mitä haluat nähdäksesi mitä se tekee.

Jos jokin menee pieleen, voit aina tyhjentää koodin ja/tai vilkaista moduulin uudelleen noin 3 minuutissa, kuten olet jo tehnyt aiemmin.

Voit muotoilla salaman uudelleen ja tyhjentää koko koodisi yhdellä laukauksella kirjoittamalla seuraavan kohdan REPL:

tuonti

os.mkfs ('/flash')

Suorita sitten virta tai paina Wipy -levyn nollauspainiketta.

Huomaa, että on myös toinen tapa ohittaa boot.py & main.py, jos asiat menevät mieleen. Liitä nasta P12 tilapäisesti 3,3 V: n lähtöön ja paina Reset -painiketta yllä kuvatulla tavalla. Se ohittaa kaikki koodisi ja menee suoraan REPL -palveluun kerran, jotta voit selvittää asiat poistamatta koko koodiasi flashista.

Kun olet ladannut kaikki tiedostot, käynnistä se uudelleen painamalla ESP32 -moduulin Palauta -painiketta.

Näet tutun lähtölaskennan REPL -pääteikkunassa, kun se kirjautuu uudelleen WiFi -verkkoon. Ero on siinä, että tämä koodi on nyt käynnissä boot.py -tiedostosta tällä kertaa.

Vaihe 9: Verkkosivut

Verkkosivut
Verkkosivut
Verkkosivut
Verkkosivut
Verkkosivut
Verkkosivut
Verkkosivut
Verkkosivut

Mikropalvelimen pitäisi olla toiminnassa nyt ESP32 -laitteessa, joten kokeile sitä työpöytäselaimella tai mobiililaitteella.

Siirry vain staattiseen IP -osoitteeseesi ja sinun pitäisi nähdä samanlainen näyttö kuin yllä.

ESP32: lla toimivasta mikropalvelimestamme näytetään kaksi verkkosivua.

Ensimmäinen on index.html -oletussivu, joka antaa sinulle yksinkertaisen AUKI/SULJE -painikkeen, joka simuloi käytössäsi olevaa autotallin ovenavaajaa. Kun painat sitä verkkoselaimessasi, näet suuren sinisen rataskuvakkeen. Tämä on vahvistus siitä, että websocket -yhteys muodostettiin onnistuneesti ja olet saanut palvelimelta vahvistuksen, että "paina" -komento vastaanotettiin oikein. Näet myös kirkkaan vihreän LED -valon palavan Pycom -kortilla, kun painat tätä painiketta. Websockets -yhteys lähettää painikkeen tilat lähettämällä yksinkertaisia tekstiviestejä "paina", kun painat sitä, ja "paina", kun vapautat sen. Vahvistusta varten mikropalvelin lähettää tämän tekstin takaisin, mutta lisää siihen "_OK" sanoakseen, että se vastaanotti sen oikein.

Kun olet liittänyt optisesti eristetyt SSR -liittimet autotallin ovenavaajaan (katso kaaviokuva), painikkeen painaminen avaa/sulkee myös oven.

Anna sille muutama sekunti ja yritä uudelleen, jos et näe sinistä hammasrataskuvaketta, koska se saattaa käynnistyä uudelleen tai jotain. Huomaa, että verkkoliitäntä sulkeutuu automaattisesti noin 20 sekunnin kuluttua, jos et käytä sitä lukituksen estämiseksi. Huomaa myös, että verkkopistokkeet ovat yhteyskeskeisiä, joten sinun on pysäytettävä verkkopistoke, jotta voit vaihtaa sivua, tai muuten et ehkä pysty muodostamaan yhteyttä uudelleen, ennen kuin napsautat ESP32 -moduulin nollauspainiketta. Websocketin pysäyttäminen: Siirry seuraavalle sivulle napauttamalla tilatekstiä, pyöriviä pisteitä tai hyperlinkkiä.

Toinen verkkosivu on tarkoitettu etäisyysmittausten lukemiseen pienestä lentoetäisyysanturin LiDAR -ajasta. Paina vain painiketta kerran, niin etäisyyslukemat alkavat suoratoistaa mobiililaitteellesi noin 20 sekunnin ajan. Kun painat alas, se sytyttää punaisen LED -valon Pycom -kortilla, joten voit kertoa, että se vastaanottaa painikkeen painalluskomennon tältä sivulta.

Molemmat sivut osoittavat oven olevan auki tai kiinni lukemisen etäisyydellä tinyLiDARista. DoorThreshold -muuttuja on määritettävä komentosarjan molemmissa html -tiedostoissa, kuten tässä on esitetty:

//--------------------------

// **** Säädä tarvittaessa **** var doorThreshold = 100; // etäisyys cm var ws_timeout = 20000; // enimmäisaika (ms) oven avaamiseen/sulkemiseen on oletusarvoisesti 20 sekuntia // -------------------------- // --- -----------------------

Sinun on muokattava tätä autotallin kokoonpanon kynnystä, jotta se voi havaita, milloin autotallin ovi on käännetty ylös ja siksi AUKI tai rullattu alas ja siksi SULJETTU. Kun olet tehnyt kynnyksen muokkaukset molemmissa html -tiedostoissa, lataa nämä html -tiedostot uudelleen ja käynnistä se uudelleen varmistaaksesi, että kaikki toimii edelleen hyvin.

Jos kaikki on hyvin, voit nyt mennä eteenpäin ja asentaa levyn ylösalaisin autotalliisi yllä olevan kuvan mukaisesti. Kytke SSR: n nastat 3 ja 4 myös autotallin ovenavaajaan. Napaisuus ei ole tärkeä, koska käytämme SSR: n MOSFET -versiota - sen täytyy vain oikosulkea liittimet simuloidaksesi autotallin oven perusyksikön painikkeen napsautusta.

Vaihe 10: Ja siinä kaikki

Ja siinä se!
Ja siinä se!

Onnittelut! Autotallin oven avaaminen on nyt yhtä helppoa kuin puhelimen napauttaminen ja voit tarkistaa, onko se jätetty auki vai ei, mittaamalla reaaliajassa tinyLiDARilla:)

Voit nyt myös käyttää ESP32: ta web -pistorasioiden kanssa WiFi -yhteyden kautta lähes mihin tahansa. Lue lisää "verkkopistorasioista", jos et tunne niitä - ne ovat todella nopeita ja helppokäyttöisiä.

TinyLiDARin käyttöönotto ESP32: n kanssa oli myös erittäin helppoa, vaikka anturi oli alun perin suunniteltu toimimaan Arduino UNO: lla. Meillä on kehittyneempi betaversio terminaalin käyttöliittymästä, joka suorittaa suurimman osan tinyLiDAR -komennoista ESP32: n mikropythonissa - katso kuva yllä. Se on saatavana lataussivustoltamme sekä käyttöopas jne.

Käy läpi kaikki koodimme ymmärtääksesi kuinka kaikki tulee yhteen ja yritä muuttaa asioita ympärilläsi, jotta voit rakentaa sen mukaan tehdä mitä haluat.

Muista, että täällä ei puhuttu turvallisuudesta. Turvallisuus on valtava alue esineiden internetissä, ja se on otettava vakavasti. Jos haluat käyttää tätä projektia autotallissasi, pidä WiFi -verkon salasanat vahvana ja suojattuna. Verkossa on paljon tietoa turvallisuudesta, joten muista lukea uusimmat ja pysyä sen päällä.

Kiitos lukemisesta ja mukavaa hakkerointia! Kippis.

Suositeltava: