Turinys:

„Switch-it“, automatinis išėjimas su realaus laiko srovės matavimu: 6 žingsniai
„Switch-it“, automatinis išėjimas su realaus laiko srovės matavimu: 6 žingsniai

Video: „Switch-it“, automatinis išėjimas su realaus laiko srovės matavimu: 6 žingsniai

Video: „Switch-it“, automatinis išėjimas su realaus laiko srovės matavimu: 6 žingsniai
Video: Part 1 - Tom Swift and His Submarine Boat Audiobook by Victor Appleton (Chs 1-12) 2024, Lapkritis
Anonim
„Switch-it“, automatinis išėjimas su realaus laiko srovės matavimu
„Switch-it“, automatinis išėjimas su realaus laiko srovės matavimu
„Switch-it“, automatinis išėjimas su realaus laiko srovės matavimu
„Switch-it“, automatinis išėjimas su realaus laiko srovės matavimu
„Switch-it“, automatinis išėjimas su realaus laiko srovės matavimu
„Switch-it“, automatinis išėjimas su realaus laiko srovės matavimu
„Switch-it“, automatinis išėjimas su realaus laiko srovės matavimu
„Switch-it“, automatinis išėjimas su realaus laiko srovės matavimu

Man labai patinka automatizavimas, galimybė valdyti, kada kažkas turi įvykti. Būtent tai ir paskatino mane sugalvoti šią idėją: savaiminis, automatinis lizdas. Jis gali būti naudojamas planuojant, kada reikia įjungti šviesas, kada reikia įkrauti telefonus arba kada reikia įjungti ekraną. Be viso to, jūs turite galimybę pamatyti, kiek srovės teka per išleidimo angą.

Šiam projektui reikalingi komponentai:

Prekės

Prieš pradėdami tai yra dalykai, kurių jums tikrai reikės sukurti „Switch-IT“dėžutę, tokią kaip mano. Šios prekės kainuos apie 50–100 eurų, priklausomai nuo jūsų regiono ir dabartinių kainų.

Techninė įranga

Elektronika

  • Aviečių pi 4
  • 16 GB (ar daugiau) „Micro SD“kortelė
  • Arduino Uno
  • 5V-3.3V lygio perjungiklis
  • 5V relės modulis
  • ACS712 20A - srovės modulis
  • 1838 IR imtuvo 37,9 kHz modulis
  • IR nuotolinio valdymo pultas (naudoju „Elegoo“)
  • bendras katodas RGB
  • 3 * 330Ω rezistoriai
  • paspausti mygtuką
  • RFID-RC522
  • LCD 1602A-1
  • Sieninis lizdas Niko
  • 10K Ω potmetras
  • Nuo 230 iki 5V - 7A maitinimo šaltinis

Kabeliai

  • USB-B-USB-A kabelis
  • USB-C maitinimo kabelis
  • Ethernet kabelis

Įvairūs

  • Vyriški-moteriški megztiniai
  • Vyriški-vyriški megztiniai
  • Lituoklio skarda
  • Susitraukiantis vamzdelis

Specialios korpuso dalys (PASIRENKAMA)

  • 50 * riešutų ir pusjuodžių
  • metalinis dėklas 40x40x5 cm su dangteliu
  • dvipusė juosta
  • 6 * 1 cm aukščio tarpikliai
  • LED laikiklis
  • Velcro juosta
  • kabelių kreiptuvai

Programinė įranga

  • balenaEtcher:
  • PuTTy
  • rasiečių
  • „Visual Studio“kodas
  • „Arduino IDE“

1 veiksmas: nustatykite „Rasbian“

„Rasbian“sąranka
„Rasbian“sąranka
„Rasbian“sąranka
„Rasbian“sąranka

Visų pirma, „SD“kortelėje įkelsime „Rasbian“. Mes tai padarysime naudodami „balenaEtcher“.

  1. Atidarykite „balenaEtcher“
  2. Pasirinkite Rasbian Image
  3. Pasirinkite savo SD kortelę
  4. Paspauskite „Flash“ir palaukite kelias minutes, kol jis sumirksės

APIPA pridėjimas įkrovos kataloge: RPI programavimui ir konfigūravimui naudosime APIPA adresą. Padaryti tai:

  1. Prisijungia prie SD kortelės įkrovos katalogo
  2. Atidarykite „cmdline.txt“
  3. Dokumento pabaigoje pridėkite „169.254.10.1“ir išsaugokite
  4. Įtraukite failą pavadinimu „ssh“į įkrovos katalogą (NESUTEIKITE ŠIUOSE Failams PAPILDYMO)
  5. Tai atlikę, galite išimti SD kortelę iš savo kompiuterio.

Prieiga prie RPI naudojant „PuTTy“

Dabar galime prijungti SD kortelę prie savo RPI, prijungti RPI prie kompiuterio naudodami eterneto kabelį.

Norėdami prisijungti prie RPI, mes naudosime „PuTTy“su mūsų APIPA adresu.

  1. Atidarykite „PuTTy“
  2. Įveskite mūsų APIPA adresą kaip pagrindinio kompiuterio pavadinimą (169.254.10.1)
  3. Įsitikinkite, kad prievadas yra 22 ir pasirinktas SSH
  4. Dabar galite atidaryti ryšį
  5. Numatytasis vartotojo vardas yra: pi
  6. Su numatytuoju slaptažodžiu: aviečių

raspi-config nustatymai

Atidarykite raspi-config naudodami:

sudo raspi-config

  • Pakeiskite vartotojo slaptažodį
  • Lokalizavimo parinktyse pasirinkite savo laiko juostą
  • Nustatykite „WiFi“naudodami tinklo parinktis, tada „Wi-Fi“parinktį, kurioje turite įvesti savo SSID ir slaptažodį.

Įdiekite „Python 3“

Šiame projekte mes naudojame „Python“, todėl nustatysime „Python2“numatytąją „Python3“instaliaciją, naudodami šias komandas

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

atnaujinimo alternatyvos-įdiegti/usr/bin/python python/usr/bin/python3 2

Python paketai

Mums reikės kelių paketų, kad viskas veiktų tinkamai, daugiausia „kolbos“paketų ir vieno, kad galėtume prisijungti prie mūsų duomenų bazės. Šiuos paketus galime įdiegti naudodami šias komandas:

pip įdiegti kolbą

pip install Flask_cors pip install Flask_socketio pip install Python-mysql-connecton

Duomenų bazė

Toliau įdiegsime savo duomenų bazių valdymo sistemą (MariaDB), tai padarysime naudodami:

sudo apt įdiegti mariadb-server

Norėdami tęsti, įveskite „Y“ir „Enter“. Po kelių sekundžių diegimo procesas baigtas ir „MariaDB“yra beveik paruoštas naudoti.

Norėdami nustatyti duomenų bazės slaptažodį, naudokite komandą:

sudo mysql_secure_installation

Tada paspauskite „Enter“, nes dabartinis slaptažodis tuščias. Tada paspauskite „Y“, kad nustatytumėte slaptažodį, dabar galite įvesti bet kokį norimą slaptažodį, nepamirškite jo prisiminti, nes mums jo reikia norint sukurti teisingą ryšį tarp galinės ir priekinės pusės.

Dabar tris kartus paspauskite „Y“, kad pašalintumėte anoniminius vartotojus, neleistumėte root prisijungimo nuotoliniu būdu ir pašalintumėte bandymų duomenų bazę. Galiausiai dar kartą paspauskite „Y“, kad iš naujo įgytumėte privilegijas.

Dabar „MariaDB“ir visi reikalingi paketai yra sėkmingai įdiegti.

2 žingsnis: paimkite kodą ir nustatykite

Kodo paėmimas ir jo nustatymas
Kodo paėmimas ir jo nustatymas
Kodo paėmimas ir jo nustatymas
Kodo paėmimas ir jo nustatymas

Dabar, kai turime įdiegtus visus paketus, galime paimti kodą.

Kodą galima rasti „Github“, todėl galite jį klonuoti naudodami:

git klonas

Tai priekinė sąsaja

git klonas

Tai yra vidinė programa

Pačios duomenų bazės diegimas

Norėdami įdiegti duomenų bazę, eikite į.sql failą, esantį galiniame aplanke, naudodami šias komandas (būtinai nustatykite ją savo keliu.

mysql

sukurti duomenų bazę switchit quit mysql -u root -p switchit <Your_Path_to_Backend_Repo/switchit.sql

„Apache“diegimas

Dabar, kai turime visą kodą ir duomenų bazės sąranką, galime įdiegti „Apache“ir paleisti jame savo vidinę programą. Mes tai padarysime naudodami:

apt -get install apache2 -y

Tada pakeiskite failus/var/ww/html failais, esančiais aplanke iš priekinio aplanko.

Jei viskas klostėsi gerai, turėtumėte prisijungti prie savo svetainės naudodami naršyklės APIPA adresą: 169.254.10.1.

3 žingsnis: „Arduino“bendravimas

„Arduino“bendravimas
„Arduino“bendravimas

Norėdami perskaityti dabartinį jutiklį ir RFID jutiklį, naudojame „arduino“, tam naudokite toliau pateiktą arduino kodą. Įkelkite jį naudodami USB-A į USB-B kabelį ir „arduino IDE“programinę įrangą. Įkėlus, arduino dalis yra padaryta.

Dabar mes turime rasti serijinio įrenginio pavadinimą PI. Norėdami tai padaryti, įsitikinkite, kad /boot/config.txt „enable_uart = 1“yra teisingai nustatytas. Taip pat įsitikinkite, kad iš „cmdline.txt“pašalintas „console = serial0, 115200“.

Tada patikrinkite prievadus naudodami

ls -l /dev

Tada vienas iš serijinių pavadinimų turėtų būti „Arduino“. Įveskite šį pavadinimą naudodami arduinocom funkciją programoje app.py

ser = serijinis. Serijinis ('/dev/ttyS0', 9600)

Darykite tai tik tuo atveju, jei serijinis ryšys neveikia.

4 žingsnis: Įjunkite jungiklį

Įjungimas jungiklis
Įjungimas jungiklis
Įjungimas jungiklis
Įjungimas jungiklis

Viską prijungti yra gana paprasta, nors turėtumėte nepamiršti šių dalykų:

  • Būkite atsargūs naudodami sieninį lizdą, 230 voltų gali būti mirtinas.
  • Ryšiui tarp RPI ir „Arduino“būtinai naudokite lygio keitiklį.
  • Prieš lituojant RGB, būtinai naudokite raudoną ir žalią kaištį. Išbandykite tai iš anksto!
  • Prieš įjungdami grandinę, patikrinkite, ar niekas nėra trumpai sujungtas.

5 žingsnis: paleiskite kodą

Dabar viskas teisingai prijungta, galime paleisti savo programą.

Kad paleisties metu jis būtų paleistas automatiškai, sukurkite failą naudodami:

sudo nano myscript.service

Tada įklijuokite (būtinai naudokite savo katalogą app.py:

[Unit] Aprašymas = Switchit After = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory = // pakeisti į app.py katalogą // StandardOutput = paveldėti StandardError = paveldėti Paleisti iš naujo = visada User = pi [Įdiegti] WantedBy = multi-user.target

Tada paspauskite „ctrl + X“ir nukopijuokite jį į/etc/systemd/system.

Tada atlikite šią komandą, kad ji veiktų automatiškai:

sudo systemctl įgalina myscript.service

Daugiau informacijos apie tai galite rasti RaspBerry Pi svetainėje.

Perkraukite ir padaryta

Dabar iš naujo paleiskite PI naudodami:

sudo reboot -h dabar

Taip gaminate „Switch-it“!

Dėkojame, kad sekate, tikiuosi, kad tai buvo naudinga. Jei turite patarimų ar atsiliepimų, nedvejodami palikite komentarą.

6 žingsnis: (PASIRENKAMA) korpusas

(PASIRENKAMA) Būstas
(PASIRENKAMA) Būstas
(PASIRENKAMA) Būstas
(PASIRENKAMA) Būstas
(PASIRENKAMA) Būstas
(PASIRENKAMA) Būstas
(PASIRENKAMA) Būstas
(PASIRENKAMA) Būstas

Būstą galite pastatyti pagal savo skonį. Aš naudoju metalinį dėklą, kurio dydis yra 40x40x5 cm, su dangteliu. Kadangi naudojau metalinį, turėjau gręžti skyles ir naudoti tarpiklius, kad viskas būtų pašalinta iš žemės plokštės. Aš nusprendžiau naudoti centrinį tašką, kuriame yra 5V, 3.3V ir gnd. Kiekviena elektros jungtis yra lituojama su susitraukiančio vamzdžio gabalėliu. Kabelio valdymui naudoju trinkeles su laikikliais.

Rekomenduojamas: