Satura rādītājs:

Pārslēgšanās, automātiskā izeja ar reāllaika strāvas mērīšanu: 6 soļi
Pārslēgšanās, automātiskā izeja ar reāllaika strāvas mērīšanu: 6 soļi

Video: Pārslēgšanās, automātiskā izeja ar reāllaika strāvas mērīšanu: 6 soļi

Video: Pārslēgšanās, automātiskā izeja ar reāllaika strāvas mērīšanu: 6 soļi
Video: Умное окно - автоматизация проветривания комнаты, интеграция в Home Assistant 2024, Jūlijs
Anonim
Pārslēdzams, automātiska izeja ar reāllaika strāvas mērīšanu
Pārslēdzams, automātiska izeja ar reāllaika strāvas mērīšanu
Pārslēdzams, automātiska izeja ar reāllaika strāvas mērīšanu
Pārslēdzams, automātiska izeja ar reāllaika strāvas mērīšanu
Pārslēdzams, automātiska izeja ar reāllaika strāvas mērīšanu
Pārslēdzams, automātiska izeja ar reāllaika strāvas mērīšanu
Pārslēdzams, automātiska izeja ar reāllaika strāvas mērīšanu
Pārslēdzams, automātiska izeja ar reāllaika strāvas mērīšanu

Man ļoti patīk automatizācija, spēja kontrolēt, kad kaut kam ir jānotiek. Tieši tas lika man nākt klajā ar šo ideju: pašdarināta, automātiska kontaktligzda. To var izmantot, lai plānotu, kad ir jāieslēdz gaismas, kad jāuzlādē tālruņi vai kad ekrāns ir jāieslēdz. Papildus tam jums ir iespēja redzēt, cik daudz strāvas plūst caur kontaktligzdu.

Šim projektam nepieciešamās sastāvdaļas ir:

Piegādes

Pirms mēs sāksim šīs lietas, jums noteikti būs jāizveido tāda Switch-IT kaste kā manējā. Šīs piegādes maksās aptuveni 50 līdz 100 eiro atkarībā no jūsu reģiona un pašreizējām cenām.

Aparatūra

Elektronika

  • Aveņu pi 4
  • 16 GB (vai vairāk) Micro SD karte
  • Arduino Uno
  • 5V-3.3V līmeņa pārslēdzējs
  • 5V releja modulis
  • ACS712 20A - pašreizējais modulis
  • 1838 IR-uztvērēja 37,9 kHz modulis
  • IR tālvadības pults (es izmantoju Elegoo)
  • parastais katods RGB
  • 3 * 330Ω rezistori
  • Uzspied pogu
  • RFID-RC522
  • LCD 1602A-1
  • Niko sienas kontaktligzda
  • 10K Ω potmetrs
  • Barošana no 230 līdz 5V - 7A

Kabeļi

  • USB-B līdz USB-A kabelis
  • USB-C barošanas kabelis
  • Ethernet kabelis

Dažādi

  • Džemperu stieples vīriešiem un sievietēm
  • Džemperu stieples vīriešiem un vīriešiem
  • Lodēšanas alva
  • Saraušanās caurule

Korpusa specifiskās detaļas (pēc izvēles)

  • 50 * rieksti un treknrakstā
  • metāla korpuss 40x40x5 cm ar vāku
  • divpusēja lente
  • 6 * 1 cm augsti starplikas
  • led-turētājs
  • Velcro lente
  • kabeļu vadotnes

Programmatūra

  • balenaEtcher:
  • PuTTy
  • rasbiete
  • Visual Studio kods
  • Arduino IDE

1. darbība: iestatiet Rasbian

Iestatiet Rasbian
Iestatiet Rasbian
Iestatiet Rasbian
Iestatiet Rasbian

Pirmkārt, mēs ieslēdzam rasbiešu valodu SD kartē. Mēs to darīsim, izmantojot balenaEtcher.

  1. Atveriet balenaEtcher
  2. Izvēlieties rasiešu attēlu
  3. Izvēlieties savu SD karti
  4. Nospiediet Flash un pagaidiet dažas minūtes, līdz tas mirgo

APIPA pievienošana sāknēšanas direktorijā: RPI programmēšanai un konfigurēšanai izmantosim APIPA adresi. Lai to izdarītu:

  1. Piekļūst SD kartes sāknēšanas direktorijai
  2. Atveriet "cmdline.txt"
  3. Dokumenta beigās pievienojiet "169.254.10.1" un saglabājiet to
  4. Pievienojiet sāknēšanas direktorijai failu ar nosaukumu "ssh" (NEDODIET ŠIEM FILMAM PAPLAŠINĀJUMU)
  5. Kad esat to izdarījis, varat izņemt SD karti no datora.

Piekļūst RPI, izmantojot PuTTy

Tagad mēs varam pievienot SD karti mūsu RPI, savienot RPI ar datoru, izmantojot Ethernet kabeli.

Lai izveidotu savienojumu ar RPI, mēs izmantosim PuTTy ar mūsu APIPA adresi.

  1. Atveriet PuTTy
  2. Ievadiet mūsu APIPA adresi kā resursdatora nosaukumu (169.254.10.1)
  3. Pārliecinieties, vai ports ir 22 un ir atlasīts SSH
  4. Tagad jūs varat atvērt savienojumu
  5. Noklusējuma lietotājvārds ir: pi
  6. Ar noklusējuma paroli: aveņu

raspi-config iestatījumi

Atveriet raspi-config, izmantojot:

sudo raspi-config

  • Mainiet lietotāja paroli
  • Lokalizācijas opcijās izvēlieties savu laika joslu
  • Iestatiet WiFi, izmantojot tīkla opcijas, pēc tam Wi-Fi opciju, kurā jāievada SSID un parole.

Instalējiet Python 3

Šajā projektā mēs izmantojam Python, tāpēc, izmantojot šādas komandas, mēs noklusējuma iestatīsim Python2 instalāciju Python3

update-alternatives --install/usr/bin/python python /usr/bin/python2.7 1

update-alternatives-instalēt/usr/bin/python python/usr/bin/python3 2

Python paketes

Mums būs vajadzīgas dažas paketes, lai viss darbotos pareizi, galvenokārt kolbu paketes un viena, lai izveidotu savienojumu ar mūsu datu bāzi. Mēs varam instalēt šīs paketes, izmantojot šādas komandas:

pip instalēt kolbu

pip instalēt Flask_cors pip instalēt Flask_socketio pip instalēt Python-mysql-connecton

Datu bāze

Tālāk mēs instalēsim savu datu bāzes pārvaldības sistēmu (MariaDB), to darot, izmantojot:

sudo apt instalēt mariadb-server

Lai turpinātu, ierakstiet “Y” un ievadiet. Pēc dažām sekundēm instalēšanas process ir pabeigts, un MariaDB ir gandrīz gatavs lietošanai.

Lai iestatītu datu bāzei paroli, izmantojiet komandu:

sudo mysql_secure_installation

Pēc tam nospiediet taustiņu Enter, jo pašreizējā parole ir tukša. Pēc tam nospiediet "Y", lai iestatītu paroli, tagad jūs varat aizpildīt jebkuru paroli, kuru vēlaties, neaizmirstiet to atcerēties, jo mums tas ir nepieciešams, lai izveidotu pareizu savienojumu starp aizmuguri un priekšpusi.

Tagad 3 reizes nospiediet “Y”, lai: noņemtu anonīmus lietotājus, attālināti neatļautu root pieteikšanos un noņemtu testa datu bāzi. Visbeidzot, vēlreiz nospiediet “Y”, lai atkārtoti ielādētu privilēģijas.

Tagad MariaDB un visas nepieciešamās paketes ir veiksmīgi instalētas.

2. darbība: koda satveršana un tā iestatīšana

Koda satveršana un tā iestatīšana
Koda satveršana un tā iestatīšana
Koda satveršana un tā iestatīšana
Koda satveršana un tā iestatīšana

Tagad, kad mums ir instalētas visas paketes, mēs varam iegūt kodu.

Kods ir pieejams vietnē Github, lai jūs varētu to klonēt, izmantojot:

git klons

Šī ir priekšējā daļa

git klons

Šī ir aizmugure

Pati datu bāzes instalēšana

Lai instalētu datu bāzi, dodieties uz.sql failu, kas atrodas aizmugures mapē, izmantojot šādas komandas (noteikti iestatiet to uz savu ceļu.

mysql

izveidot datu bāzi switchit quit mysql -u root -p switchit <Your_Path_to_Backend_Repo/switchit.sql

Apache instalēšana

Tagad, kad mums ir viss kods un datu bāzes iestatījumi, mēs varam instalēt Apache un palaist tajā savu aizmuguri. Mēs to darīsim, izmantojot:

apt -get install apache2 -y

Pēc tam aizstājiet failus failā/var/ww/html ar failiem, kas atrodas frontend mapes mapē.

Ja viss noritēja labi, jums vajadzētu būt iespējai izveidot savienojumu ar savu vietni, izmantojot pārlūkprogrammas APIPA adresi: 169.254.10.1.

3. darbība: Arduino komunikācija

Arduino komunikācija
Arduino komunikācija

Lai lasītu mūsu pašreizējo sensoru un RFID sensoru, mēs izmantojam arduino, lai to izdarītu, izmantojiet tālāk norādīto arduino kodu. Augšupielādējiet to, izmantojot USB-A uz USB-B kabeli un arduino IDE programmatūru. Kad augšupielādēts, arduino daļa ir pabeigta.

Tagad mums ir jāatrod sērijas ierīces nosaukums uz PI. Lai to izdarītu, pārliecinieties, vai failā /boot/config.txt "enable_uart = 1" ir iestatīts pareizi. Pārliecinieties arī, ka no faila cmdline.txt tiek noņemts "console = serial0, 115200".

Pēc tam pārbaudiet portus, izmantojot

ls -l /dev

Tad vienam no sērijas nosaukumiem jābūt Arduino. Ievadiet šo nosaukumu lietotnes app.py funkcijā arduinocom

ser = sērija. Sērija ('/dev/ttyS0', 9600)

Dariet to tikai tad, ja seriālā komunikācija nedarbojas.

4. solis: Pieslēdziet vadu

Elektroinstalācija Slēdzis
Elektroinstalācija Slēdzis
Elektroinstalācija Switch-it
Elektroinstalācija Switch-it

Visu pieslēgšana ir diezgan vienkārša, lai gan jums jāpatur prātā šādas lietas:

  • Esiet piesardzīgs ar sienas kontaktligzdu, 230 volti var būt nāvējoši.
  • Saziņai starp RPI un Arduino noteikti izmantojiet līmeņa pārveidotāju.
  • Pirms RGB lodēšanas pārliecinieties, ka izmantojat sarkano un zaļo tapu. Pārbaudi to iepriekš!
  • PIRMS ķēdes barošanas pārbaudiet, vai nekas nav īsslēgts.

5. darbība: koda palaišana

Tagad viss ir pareizi savienots, mēs varam palaist savu programmu.

Lai tas palaistu automātiski startēšanas laikā, izveidojiet failu, izmantojot:

sudo nano myscript.service

Pēc tam ielīmējiet (noteikti izmantojiet savu direktoriju app.py:

[Vienība] Apraksts = Switchit After = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory = // mainīt uz app.py direktoriju // StandardOutput = mantot StandardError = pārmantot Restartēt = vienmēr User = pi [Instalēt] WantedBy = multi-user.target

Pēc tam nospiediet "ctrl + X" un nokopējiet to uz/etc/systemd/system.

Pēc tam izpildiet šādu komandu, lai tā darbotos automātiski:

sudo systemctl iespējot myscript.service

Plašāku informāciju par to varat atrast RaspBerry Pi vietnē.

Atsāknēšana un darīts

Tagad restartējiet PI, izmantojot:

sudo reboot -h tagad

Tādā veidā jūs izveidojat Switch-it!

Paldies, ka sekojat līdzi, cerams, ka tas bija noderīgi. Ja jums ir kādi padomi vai atsauksmes, nevilcinieties atstāt komentāru.

6. darbība: (pēc izvēles) korpuss

(Pēc izvēles) korpuss
(Pēc izvēles) korpuss
(Pēc izvēles) korpuss
(Pēc izvēles) korpuss
(Pēc izvēles) korpuss
(Pēc izvēles) korpuss
(Pēc izvēles) korpuss
(Pēc izvēles) korpuss

Mājokli var uzbūvēt pēc saviem ieskatiem. Es izmantoju metāla korpusu ar izmēru 40x40x5 cm. Tā kā es izmantoju metālu, man bija jāizurbj caurumi un jāizmanto starplikas, lai visu noņemtu no zemes plāksnes. Es izvēlējos izmantot centrālo punktu, kur ir pieejami 5V, 3.3V un gnd. Katrs elektriskais savienojums ir pielodēts ar saraušanās caurules gabalu virs tā. Lai vadītu kabeli, es izmantoju spilventiņus ar nesošajām siksnām.

Ieteicams: