- Tarvittavat komponentit
- Piirikaavio
- Pullon asennus Raspberry Pi: ssä autotallin oven hallitsemiseksi
- Python-komentosarjan luominen älykkään autotallin oven avaajalle
- HTML-sivun luominen Raspberry Pi -verkkopalvelimelle
- {{pins.name}} {%, jos pins.state == true%} on tällä hetkellä auki
Tässä esineiden internetin aikakaudessa, jossa kaikkea voidaan hallita etänä älypuhelimellasi, miksi avaimia kannattaa kuljettaa mukana. Laitteiden, kuten RFID, Bluetooth, Wi-Fi, LoRa, langattoman ohjauksen tukemiseen on paljon tekniikoita. Olemme aiemmin rakentaneet joitain ovihälytyksiä ja oven ohjauspiiriä oven avaamiseksi ja sulkemiseksi langattomasti:
- Arduino RFID-oven lukko
- Automaattinen ovenavaaja Arduinoa käyttämällä
- Magneettinen oven hälytyspiiri Hall-anturin avulla
- IoT-pohjainen ovien turvahälytys, jota ohjaa Google Assistant
Tässä opetusohjelmassa rakennamme älykkään autotallin ovenavaimen Raspberry Pi: llä. Täällä luodaan Raspberry Pi -verkkopalvelin avaamaan ja sulkemaan autotallin ovi älypuhelimellasi.
Tarvittavat komponentit
- Raspberry pi -levy, johon on asennettu Raspbian
- Releyksikkö
- Johtojen liittäminen
Oletetaan, että Raspberry Pi: lläsi on jo flash-käyttöjärjestelmä ja että se pystyy muodostamaan yhteyden Internetiin. Jos ei, seuraa Aloittaminen Raspberry Pi -oppaalla ennen jatkamista. Tässä käytämme Rasbian Jessien asentamaa Raspberry Pi 3: ta.
Tässä Raspberry Pi -liitäntää varten käytetään näyttöä HDMI-kaapelia käyttävää ulkoista näyttöä. Jos sinulla ei ole näyttöä, voit käyttää SSH-asiakasta (Putty) tai VNC-palvelinta muodostaaksesi yhteyden Raspberry pi -laitteeseen kannettavan tietokoneen tai tietokoneen avulla. Lue lisää Vadelma Pi: n asettamisesta päähän täältä.
Piirikaavio
Liitä autotallin oven avausmekanismi releen lähtöön. Tässä olemme juuri liittäneet LED: n releellä esittelyä varten.
Pullon asennus Raspberry Pi: ssä autotallin oven hallitsemiseksi
Tässä olemme luoneet verkkopalvelimen pullolla, joka tarjoaa tavan lähettää komennot verkkosivulta Raspberry Pi : lle robotin ohjaamiseksi verkon kautta. Pullon avulla voimme suorittaa python-komentosarjamme verkkosivun kautta ja voimme lähettää ja vastaanottaa tietoja Raspberry Pi -palvelusta verkkoselaimeen ja päinvastoin. Pullo on Pythonin mikrokehys. Tämä työkalu on Unicode-pohjainen, ja siinä on sisäänrakennettu kehityspalvelin ja virheenkorjaus, integroitu yksikön testaustuki, suojattujen evästeiden tuki ja helppokäyttöisyys. Nämä asiat tekevät siitä hyödyllisen harrastajalle.
Asenna pullo Vadelma Pi -tietokoneeseen suorittamalla seuraavat komennot:
sudo apt-get update sudo apt-get install python-pip python-pullo
Asenna nyt pullo ja sen riippuvuudet suorittamalla pip-komento:
sudo pip -asennuspullo
Voit oppia lisää ohjelmoinnista pullon avulla täältä, myös tarkistaa aiemmat projektimme, joissa olemme käyttäneet pulloa robotin ohjaamiseen verkkopalvelimen kautta, lähettämään viestin verkkosivulta Raspberry Pi: lle ja lähettämään painoarvoa Raspberry Pi: lle Smart Containerissa.
Nyt kirjoitamme python-komentosarjan autotallin oven verkkopalvelimellemme.
Python-komentosarjan luominen älykkään autotallin oven avaajalle
Tämä komentosarja on vuorovaikutuksessa Raspberry Pi GPIO -laitteidemme kanssa ja määrittää verkkopalvelimen. Joten, tämä on sovelluksemme ydinskripti. Ovenavaimen täydellinen Python-komentosarja annetaan lopussa, tässä olemme selittäneet muutamia osia siitä.
Luo ensin kansio. Kaikkien muiden vaadittujen kansioiden tulisi olla vain tässä kansiossa. Suorita alla olevien komentojen avulla kansio ja luo python-tiedosto nimeltä app.py tämän kansion sisällä.
mkdir garage_door cd garage_door nano app.py
Tämä avaa Nano-editorin, johon meidän on kirjoitettava komentosarja.
Aloita sisällyttämällä tärkeät kirjastot.
tuo RPi.GPIO GPIO : na pullosta. Tuo pullo, render_template, pyydä sovellusta = pullo (__ nimi__, static_url_path = '/ staattinen')
Luo nyt sanakirja nastoina tallentaaksesi pin-numeron, nimen ja pin-tilan. Voit käyttää useampaa kuin yhtä nastaa tarpeen mukaan.
nastat = { 14: {'nimi': 'Autotallin ovi', 'tila': GPIO.LOW} }
Aseta sitten tappi lähtöön ja tee se aluksi matalaksi.
Nastoille nastoissa: GPIO.setup (pin, GPIO.OUT) GPIO.output (pin, GPIO.LOW)
Nyt tehdä päätehtävä lukea pin tilaan ja säilyttää tässä tilassa muuttujaan.
@ app.route ("/") def main (): nastoille nastoissa: nastat = GPIO.tulo (tappi) ..
Meidän on välitettävä nämä tiedot HTML-sivuillemme, jotta voimme hallita syöttöpainikkeen tilaa.
palauta render_template ('main.html', ** templateData)
Nyt tehdään funktio käsittelemään pyyntöjä URL kanssa tunnusluku ja toimia siinä.
@ app.route ("/
Muunna URL-osoitteen nasta kokonaislukuksi.
changePin = int (changePin)
Jos URL-osoitteen toiminto-osa on "avoin", toimi seuraavasti.
if action == "open": GPIO.output (changePin, GPIO.HIGH) jos action == "close": GPIO.output (changePin, GPIO.LOW)
Voit kopioida koko komentosarjan tämän opetusohjelman lopusta ja tallentaa sen painamalla ctrl + x ja painamalla sitten enter. Olemme tehneet python-komentosarjalla. Nyt meidän on tehtävä HTML-sivu vuorovaikutuksessa python-komentosarjan kanssa.
HTML-sivun luominen Raspberry Pi -verkkopalvelimelle
Luo samaan Garage_door- kansioon toinen kansio nimeltä templates ja tee tämän kansion sisällä.html-tiedosto alla olevien komentojen avulla.
mkdir templates cd templates nano main.html
Vuonna nano tekstieditori, kirjoittaa html-koodia. Voit muokata osa sivusta ja muotoile se valintasi mukaan. Olen juuri käyttänyt kolmannen osapuolen css-järjestelmää linkkitunnisteen avulla. Täydellinen HTML-koodi on annettu alla:
Garage Door -verkkopalvelin
{% tappi nastoissa%}{{pins.name}} {%, jos pins.state == true%} on tällä hetkellä auki
Tärkeä osa on luoda painike oven avaamiseksi ja sulkemiseksi sekä tilaa avaamis- ja sulkemispainikkeelle . Painike lähettää ja noutaa GPIO-tilan python-komentosarjasta.
Voit käyttää yllä olevaa HTML-koodia editorissa ja tallentaa sen. Nyt verkkopalvelin on valmis käynnistämään.
Avaa pääte ja siirry Garage_door- kansioon ja suorita alla oleva komento
sudo python app.py
Avaa selain ja kirjoita vadelma pi IP-osoitteesi ja paina Enter. Voit löytää IP-osoitteesi suorittamalla alla olevan komennon terminaalissa.
isäntänimi -I
Näet tällaisen sivun.
Varmista, että relemoduuli on kytketty vadelma pi: hen. Kytke rele päälle tai avaa autotallin ovi painamalla Avaa- painiketta. Näet myös releen tilan. Heti kun kytket releen päälle, painikkeen teksti muuttuu Sulje releen sammuttamiseksi. Nyt kun napsautat painiketta uudelleen, rele kytketään pois päältä ja painikkeen teksti muutetaan avatuksi uudelleen.
Pysäytä palvelin painamalla ctrl + c.
Liitä siis vain tämä rele johonkin ovien avausmekanismiin, jotka ovat helposti saatavilla markkinoilla, ja aloita autotallin oven ohjaaminen älypuhelimella.
Esittelyvideo on alla.