Cuprins:
- Provizii
- Pasul 1: Configurați Rasbian
- Pasul 2: Prinderea codului și configurarea acestuia
- Pasul 3: Comunicare Arduino
- Pasul 4: Cablarea comutării
- Pasul 5: Rularea codului
- Pasul 6: (OPȚIONAL) Carcasa
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:42
Î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
În primul rând, vom răsfoi Rasbian pe cardul SD. Vom face asta folosind balenaEtcher.
- Deschide balenaEtcher
- Alegeți imaginea Rasbian
- Selectați cardul SD
- 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:
- Accesați directorul de pornire de pe cardul SD
- Deschideți „cmdline.txt”
- Adăugați „169.254.10.1” la sfârșitul documentului și salvați-l
- Adăugați un fișier numit „ssh” în directorul de încărcare (NU DĂ ACEST FIȘIER O EXTENSIE)
- 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.
- Deschideți PuTTy
- Completați adresa noastră APIPA ca nume de gazdă (169.254.10.1)
- Asigurați-vă că portul este 22 și SSH este selectat
- Acum puteți deschide conexiunea
- Numele de utilizator implicit este: pi
- 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
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
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
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
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:
Diferența dintre (curent alternativ și curent continuu): 13 pași
Diferența dintre (curent alternativ și curent continuu): Toată lumea știe că electricitatea este în mare parte curent continuu, dar ce zici de un alt tip de electricitate? Cunoști Ac? Ce înseamnă AC? Este utilizabil atunci DC? În acest studiu vom cunoaște diferența dintre tipurile de electricitate, surse, aplicații
Măsurare temperatură automată și informare vocală: 5 pași (cu imagini)
Măsurare temperatură automată și informare vocală: Ziua recentă, întreaga lume se luptă cu virusul Covid19. Prima verificare a persoanelor afectate (sau suspectate a fi efectuate) este măsurarea temperaturii corpului. Așadar, acest proiect este realizat pe un model care poate măsura automat temperatura corpului și poate informa
Soft Starter (limitator de curent de intrare) pentru încărcări de curent alternativ și continuu: 10 pași
Soft Starter (limitator de curent de intrare) pentru încărcări de curent alternativ și continuu: curentul de intrare / supratensiunea de pornire este curentul maxim de intrare instantanee tras de un dispozitiv electric la prima pornire. Curentul de pornire este mult mai mare decât curentul stării de echilibru al sarcinii și aceasta este sursa multor probleme, cum ar fi siguranța bl
Conectați o priză de curent alternativă masculină fuzionată: 4 pași (cu imagini)
Conectați o priză de curent alternativ masculin: am folosit aceste prize de curent alternativ ieftine de la Amazon și Ebay pentru o serie de proiecte. Sunt ușor de încorporat în carcasele mele electronice și oferă atât un comutator, cât și o siguranță pentru orice încărcare. Din păcate, nu există cabluri dia
Realizați o ușă automată de deschidere și închidere automată cu Arduino !: 4 pași
Creați o ușă automată de deschidere și închidere automată cu Arduino !: Ați dorit vreodată să vă deschideți ușa automat la fel ca în filmele SF? Acum puteți urmând acest instructabil. În acest instructable vom construi o ușă care se poate deschide și închide automat fără ca tu să atingi ușa. Senzori cu ultrasunete o