Cuprins:

Switch-it, priză automată cu măsurare curent în timp real: 6 pași
Switch-it, priză automată cu măsurare curent în timp real: 6 pași
Anonim
Switch-it, priză automată cu măsurare curent în timp real
Switch-it, priză automată cu măsurare curent în timp real
Switch-it, priză automată cu măsurare a curentului în timp real
Switch-it, priză automată cu măsurare a curentului în timp real
Switch-it, priză automată cu măsurare a curentului în timp real
Switch-it, priză automată cu măsurare a curentului în timp real
Switch-it, priză automată cu măsurare curent în timp real
Switch-it, priză automată cu măsurare curent în timp real

Îmi place foarte mult automatizarea, capacitatea de a controla când trebuie să se întâmple ceva. Acesta este ceea ce m-a făcut să vin cu această idee: o priză automată, făcută de sine. Poate fi folosit pentru a planifica când trebuie aprinse luminile, când telefoanele trebuie încărcate sau când un ecran trebuie alimentat. În plus față de toate acestea, aveți capacitatea de a vedea cât de mult curent curge prin priză.

Componentele necesare acestui proiect sunt:

Provizii

Înainte de a începe, acestea sunt lucrurile cu siguranță de care aveți nevoie pentru a construi o cutie Switch-IT ca a mea. Aceste consumabile vor costa în jur de 50 până la 100 de euro, în funcție de regiune și de prețurile curente.

Hardware

Electronică

  • Raspberry pi 4
  • Card micro SD de 16 GB (sau mai mult)
  • Arduino Uno
  • Comutator de nivel 5V-3.3V
  • Modul releu 5V
  • ACS712 20A - modul curent
  • 1838 modul IR-Receiver 37,9 kHz
  • Telecomandă IR (folosesc una Elegoo)
  • catod comun RGB
  • Rezistoare 3 * 330Ω
  • apasa butonul
  • RFID-RC522
  • LCD 1602A-1
  • Priză de perete Niko
  • Potometru 10K Ω
  • Alimentare de la 230 la 5V - 7A

Cabluri

  • Cablu USB-B la USB-A
  • Cablu de alimentare USB-C
  • cablu Ethernet

Variat

  • Jumperwires masculin-feminin
  • Jumperwires bărbat-bărbat
  • Cutie de lipit
  • Tub de micșorare

Piese specifice carcasei (OPȚIONAL)

  • 50 * nuci și îndrăznețe
  • carcasa metalica 40x40x5 cm cu capac
  • bandă cu două fețe
  • Distanțieri de 6 * 1cm înălțime
  • led-titular
  • Banda cu velcro
  • ghidaje de cablu

Software

  • balenaEtcher:
  • PUTTY
  • rasbian
  • Cod Visual Studio
  • IDE Arduino

Pasul 1: Configurați Rasbian

Configurați Rasbian
Configurați Rasbian
Configurați Rasbian
Configurați Rasbian

În primul rând, vom răsfoi Rasbian pe cardul SD. Vom face asta folosind balenaEtcher.

  1. Deschide balenaEtcher
  2. Alegeți imaginea Rasbian
  3. Selectați cardul SD
  4. Apăsați Flash și așteptați câteva minute până când se aprinde intermitent

Adăugarea APIPA în directorul de încărcare: Vom folosi o adresă APIPA pentru a programa și configura setările de pe RPI. Pentru a face acest lucru:

  1. Accesați directorul de pornire de pe cardul SD
  2. Deschideți „cmdline.txt”
  3. Adăugați „169.254.10.1” la sfârșitul documentului și salvați-l
  4. Adăugați un fișier numit „ssh” în directorul de încărcare (NU DĂ ACEST FIȘIER O EXTENSIE)
  5. După ce ați făcut acest lucru, puteți scoate cardul SD de pe computer.

Accesați RPI utilizând PuTTy

Acum putem conecta cardul SD la RPI-ul nostru, conectăm RPI la computerul dvs. utilizând un cablu Ethernet.

Pentru a ne conecta la RPI vom folosi PuTTy cu adresa noastră APIPA.

  1. Deschideți PuTTy
  2. Completați adresa noastră APIPA ca nume de gazdă (169.254.10.1)
  3. Asigurați-vă că portul este 22 și SSH este selectat
  4. Acum puteți deschide conexiunea
  5. Numele de utilizator implicit este: pi
  6. Cu parola implicită: zmeură

setări raspi-config

Deschideți raspi-config folosind:

sudo raspi-config

  • Schimbați parola de utilizator
  • În opțiunile de localizare, selectați fusul orar
  • Configurați WiFi utilizând opțiuni de rețea, apoi opțiune Wi-Fi, unde trebuie să completați SSID-ul și parola.

Instalați Python 3

În acest proiect folosim Python, de aceea vom seta implicit Python3 insteat al Python2, folosind următoarele comenzi

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

update-alternatives --install / usr / bin / python python / usr / bin / python3 2

Pachete Python

Vom avea nevoie de câteva pachete pentru ca totul să funcționeze corect, în principal pachetele Flask și unul pentru a face conexiunea cu baza noastră de date. Putem instala acele pachete folosind următoarele comenzi:

pip instala Flask

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

Bază de date

În continuare vom instala sistemul nostru de gestionare a bazelor de date (MariaDB), vom face acest lucru folosind:

sudo apt instalați mariadb-server

Tastați „Y” și Enter pentru a continua. După câteva secunde, procesul de instalare este complet și MariaDB este aproape gata de utilizare.

Pentru a seta parola, baza de date utilizează comanda:

sudo mysql_secure_installation

Apoi apăsați Enter, deoarece parola curentă este goală. Apoi apăsați „Y” pentru a seta o parolă, acum puteți completa orice parolă doriți, asigurați-vă că o amintiți, deoarece avem nevoie de ea pentru a face o conexiune corectă între back-end și front-end.

Acum, apăsați „Y” de 3 ori pentru a elimina utilizatorii anonimi, a interzice conectarea root la distanță și a elimina baza de date de testare. În cele din urmă, apăsați din nou pe „Y” pentru a reîncărca privilegiile.

Acum MariaDB și toate pachetele necesare sunt instalate cu succes.

Pasul 2: Prinderea codului și configurarea acestuia

Prinderea codului și configurarea acestuia
Prinderea codului și configurarea acestuia
Prinderea codului și configurarea acestuia
Prinderea codului și configurarea acestuia

Acum, că avem toate pachetele instalate, putem prelua codul.

Codul este disponibil pe Github, astfel încât să îl puteți clona folosind:

git clone

Acesta este frontendul

git clone

Acesta este backend-ul

Instalarea bazei de date în sine

Pentru a instala baza de date, navigați la fișierul.sql care se află în folderul backend folosind următoarele comenzi (asigurați-vă că ați setat-o la propria cale.

mysql

creați o bază de date switchit ieșiți din mysql -u root -p switchit <Your_Path_to_Backend_Repo / switchit.sql

Instalarea Apache

Acum, că avem tot codul și configurarea bazei de date, putem instala Apache și putem rula backend-ul pe el. O vom face folosind:

apt-get install apache2 -y

Apoi înlocuiți fișierele din / var / ww / html cu cele din folderul din folderul frontend.

Dacă totul a mers bine, ar trebui să vă puteți conecta la site-ul dvs. web utilizând adresa APIPA: 169.254.10.1 în browserul dvs.

Pasul 3: Comunicare Arduino

Comunicare Arduino
Comunicare Arduino

Pentru a citi senzorul nostru actual și senzorul nostru RFID, folosim un arduino, pentru a face acest lucru, utilizați codul arduino dat mai jos. Încărcați-l utilizând un cablu USB-A în USB-B și software-ul arduino IDE. La încărcare, partea arduino este terminată.

Acum trebuie să găsim numele dispozitivului serial pe PI. Pentru aceasta, asigurați-vă că în /boot/config.txt "enable_uart = 1" este setat corect. De asemenea, asigurați-vă că „console = serial0, 115200” este eliminat din cmdline.txt.

Apoi verificați porturile folosind

ls -l / dev

Apoi unul dintre numele de serie ar trebui să fie Arduino. Completați acest nume la funcția arduinocom din app.py

ser = serial. Serial ('/ dev / ttyS0', 9600)

Faceți acest lucru numai dacă comunicarea serială nu funcționează.

Pasul 4: Cablarea comutării

Comutarea cablării
Comutarea cablării
Cablarea comută
Cablarea comută

Cablarea totul este destul de simplă, deși ar trebui să țineți cont de următoarele lucruri:

  • Aveți grijă la priza de perete, 230 volți pot fi mortali.
  • Asigurați-vă că utilizați un convertor de nivel pentru comunicarea dintre RPI și Arduino.
  • Înainte de a lipi RGB, asigurați-vă că utilizați pinul roșu și verde. Testați acest lucru în prealabil!
  • Testați dacă nu este scurtcircuitat înainte de alimentarea circuitului.

Pasul 5: Rularea codului

Acum totul este conectat corect, putem rula programul nostru.

Pentru a-l rula automat la pornire, creați un fișier folosind:

sudo nano myscript.service

Apoi lipiți (asigurați-vă că utilizați propriul director app.py:

[Unitate] Descriere = Switchit After = network.target [Service] ExecStart = / usr / bin / python3 -u app.py WorkingDirectory = // schimbare în directorul app.py // StandardOutput = mostenire StandardError = mostenire Restart = întotdeauna Utilizator = pi [Instalare] WantedBy = multi-user.target

Apoi apăsați „ctrl + X” și copiați-l în / etc / systemd / system.

Apoi, următoarea comandă pentru ao face să ruleze automat:

sudo systemctl activează myscript.service

Puteți găsi mai multe informații despre acest lucru pe site-ul RaspBerry Pi.

Reporniți și gata

Acum reporniți PI folosind:

sudo reboot -h acum

Așa faceți Switch-it!

Vă mulțumim că ați urmat, sper că acest lucru a fost util. Dacă aveți sfaturi sau feedback, nu ezitați să lăsați un comentariu.

Pasul 6: (OPȚIONAL) Carcasa

(OPȚIONAL) Locuința
(OPȚIONAL) Locuința
(OPȚIONAL) Locuința
(OPȚIONAL) Locuința
(OPȚIONAL) Locuința
(OPȚIONAL) Locuința
(OPȚIONAL) Locuința
(OPȚIONAL) Locuința

Puteți construi carcasa în întregime după propriile voastre gusturi. Am folosit o carcasă metalică de 40x40x5 cm cu capac. De când am folosit unul metalic, a trebuit să găuresc și să folosesc distanțieri pentru a scoate totul de pe placa de sol. Am ales să folosesc un punct central în care sunt disponibile 5V, 3.3V și gnd. Fiecare conexiune electrică este lipită cu o bucată de tub de contractare deasupra. Pentru a face gestionarea cablurilor am folosit tampoane cu curele purtătoare.

Recomandat: