Crearea unui comutator de pornire / oprire wireless pentru computerul dvs.

LA Inteligent sistemul care controlează iluminatul, sistemele de divertisment și alte aparate pot fi proiectate cu ușurință acasă și sunt, de asemenea, conceptul cu cea mai rapidă creștere a lumii moderne. Smart Home Systems este un concept în care toate aparatele electrice sau dispozitivele sunt controlate folosind o singură telecomandă. În prezent, o singură componentă, cum ar fi un modul de releu, poate fi utilizată pentru a controla diferiți parametri electronici ai unei case, de exemplu, comutarea aparatelor electrocasnice, monitorizarea alarmelor de securitate, automatizarea ușilor de garaj etc. În acest proiect, Calculator personal va fi controlat de un Aplicație Android . În aceste sisteme, de cele mai multe ori, telecomanda este o aplicație mobilă. Deoarece un telefon mobil Android este cel mai frecvent în rândul oamenilor, la fel un aplicație Android este cea mai bună opțiune pentru a ne controla computerul.



Comutator wireless al computerului

Cum se face un comutator wireless pentru computerul dvs. pe telefonul mobil?

Pasul 1: Adunarea componentelor

Pentru a face orice proiect, trebuie să știți care sunt componentele de bază de care va avea nevoie pentru a-l finaliza. Deci, o abordare excelentă înainte de a începe lucrul este de a face o listă completă a tuturor componentelor pentru a economisi timp și pentru a evita șansa de a rămâne blocat în mijlocul proiectului. O listă completă a tuturor componentelor care sunt ușor disponibile pe piață este prezentată mai jos:



  • ESP32
  • 2N2222 NPN tranzistor
  • Rezistor 1k-ohm (x2)
  • Modul releu 5V
  • Conectarea firelor

Pasul 2: Software-uri care urmează să fie instalate

Pe măsură ce vom face un comutator fără fir, vom avea nevoie de un buton pentru a-l activa și dezactiva. Vrem să folosim un telefon mobil pentru a acționa acest buton, așa că va trebui să dezvoltăm o aplicație pentru asta. Cea mai convenabilă aplicație este o aplicație pentru Android. Pentru a folosi această aplicație, trebuie să instalăm două programe software. Ambele sunt enumerate mai jos:



  • Android Studio.
  • JAVA JDK.

Pasul 3: Instalarea Android Studio

Înainte de a instala Android Studio, vom instala JAVA JDK mai întâi. Pentru a instala acest lucru, faceți clic pe executabil fişier pe care l-ați descărcat de pe linkul de mai sus și faceți clic pe Următorul până când este instalat cu succes. Acum parcurgeți pașii următori, astfel încât promptul de comandă să recunoască java ca o comandă externă sau internă.



  1. Deschis Panou de control și faceți clic pe Sistem și securitate .
  2. Click pe Sistem .

    Sistem

  3. Click pe Setare avansată a sistemului și apoi faceți clic pe Variabile de mediu .

    Setare avansată a sistemului

  4. În secțiunea Variabilă de sistem, faceți clic pe cale și apoi faceți clic pe editare. Un nou Editați variabila de mediu va apărea caseta.

    Editați calea



  5. Acum du-te la C: Program Files Java în computer. Deschideți folderul JDK, faceți clic pe folderul bin și apoi copiați calea folderului respectiv.

    Calea folderului bin

  6. Acum accesați caseta Editați variabila de mediu și faceți clic pe nou pentru a crea o nouă variabilă. Lipiți calea pe care ați copiat-o în pasul de mai sus în noua variabilă și salvați-o.
  7. Acum, pentru a confirma, dacă este complet instalat, deschideți promptul de comandă și tastați java –versiune .

    Versiunea JAVA

Acum, după ce ați instalat cu succes Java JDK pe computer. Permiteți-ne acum să instalăm Android Studio pe computerul dvs. Instalarea acestui software este foarte ușoară. Trebuie să deschideți fișierul descărcat și să faceți clic pe următorul până când software-ul dvs. este complet instalat.

Pasul 4: Conexiune la Firebase

Acum, după ce am instalat Android Studio, permiteți-ne să îl lansăm și să facem un nou proiect pentru conectarea la Firebase. Pentru a face acest lucru, urmați pașii următori.

1. Lansați Android Studio și faceți un proiect nou făcând clic pe Activitate goală .

Proiect nou

2. Acum denumiți proiectul dvs. ca computerSwitc, Selectați Kotlin ca limbă și selectați nivelul minim API în funcție de telefonul dvs. mobil.

Proiect nou

3. Din moment ce vom folosi internetul pentru a controla pinii zmeurii pi. Vom seta permisiunea în aplicația noastră pentru a accesa wifi-ul local. Pentru a face acest lucru, mergeți la app> manifeste> AndroidManifest.xml și adăugați următoarea comandă.

 

Permisiune Internet

3. Acum, faceți clic pe n Instrumente. Va apărea un meniu derulant din care, selectați Firebase.

Conexiune Firebase

4. În partea dreaptă a ecranului va apărea un meniu mare, care va furniza meniul pentru aproape fiecare serviciu oferit de Firebase. Dar în acest moment, accentul nostru principal este pe baza de date în timp real. Deci, faceți clic pe Baza de date în timp real. Un link către „ Salvați și preluați date ' va aparea. Faceți clic pe linkul respectiv.

Asistent Firebase

5. Conectați-vă Conectați-vă la Firebase buton. Vă va duce la browserul web implicit. În primul rând, vă va cere să vă conectați la contul dvs. Gmail. Apoi faceți clic pe Adăugați baza de date în timp real în aplicație și acceptați modificările.

6. Acum mergi la Consola Firebase . Acolo veți vedea un proiect deja realizat. Sigla Android de pe pictograma proiectului respectiv înseamnă că aparține deja unei aplicații Android.

7. Din Dezvolta meniul care apare în partea stângă a ecranului, selectați Bază de date. Un buton de Creați baza de date va apărea în dreapta. Faceți clic pe butonul respectiv.

8. Va apărea un meniu care vă solicită să setați modul bazei de date. Click pe modul de testare și apoi faceți clic pe Permite .

Modul de testare

9. Acum un pas cu adevărat important de reținut este să schimbi Cloud Firestore la Baza de date în timp real. Pentru a face acest lucru, faceți clic pe butonul afișat în imaginea de mai jos și modificați opțiunea dorită.

Firebase în timp real

10. Acum faceți clic pe Reguli filă și schimbați configurațiile la Adevărat . Odată ce totul este făcut, faceți clic pe Publica .

Schimbarea configurațiilor

11. Un lucru pe care trebuie să-l faceți, în afară de conectarea firebase, este să actualizați versiunea bazei de date. Pentru aceasta, faceți clic pe mergi la documente . Acum faceți clic pe ghiduri și selectați Ghiduri Android din lista care apare pe ecran. Derulați în jos până când apare un tabel. Căutați baza de date în timp real în tabelul respectiv și găsiți versiunea sa. în cazul meu, este 19.1.0

Versiune

12. Faceți clic pe Scripturi Gradle, un meniu din partea stângă a ecranului. Apoi selectați construit. gradle (Module: app). Acum, în cod, căutați versiunea bazei de date în timp real și înlocuiți-o cu cea nouă.

Versiunea Firebase

13. Acum sincronizați proiectul făcând clic pe butonul de sincronizare care apare în partea de sus a ecranului.

Pasul 5: Realizarea aspectului

Acum, deoarece aplicația noastră pentru Android este conectată la Firebase, permiteți-ne să realizăm un aspect al aplicației noastre, care va fi utilizat de utilizator pentru a porni sau opri computerul. Pentru a face un aspect, accesați app> res> layout> activity_main.xml. unde vom proiecta un aspect. Copiați codul de mai jos acolo pentru a face o vizualizare text.

 

Aspectul aplicației noastre va arăta astfel:

Aspectul aplicației

Pasul 6: Codificare backend în Kotlin

Pe măsură ce am realizat frontend-ul aplicației, permiteți-ne să facem un pas înainte și să scriem codul backend-ului pentru a-l conecta la firebase. Am conectat un comutator care va trimite un 0 la baza de date firebase atunci când este în starea off și va trimite un 1 la baza de date firebase atunci când este în starea on.

Acum, în colțul din stânga, faceți clic pe app> java> com.example.computerswitch> main_activity, și adăugați următorul cod acolo în clasa dvs. Dacă apare o eroare de bibliotecă, apăsați ALT + ENTER pentru a include automat acea bibliotecă.

var database = FirebaseDatabase.getInstance () var myRef = database.reference lateinit intern var btnSwitch: Switch override fun onCreate (savedInstanceState: Bundle?) {super.onCreate (savedInstanceState) setContentView (R.layout.activity_main) btnSwitch id.switch2) ca Switch btnSwitch.setOnClickListener {if (btnSwitch.isChecked) {myRef.child ('switch'). setValue ('1')} else {myRef.child ('switch'). setValue ('0') }}}

În imaginea de mai jos, puteți vedea că, dacă comutatorul este activat, „1” este încărcat în baza de date firebase. În mod similar, un „0” va fi înlocuit aici când comutatorul este oprit.

Valoare

Pasul 7: Noțiuni introductive despre Arduino

Dacă nu ați mai lucrat la Arduino IDE, nu vă faceți griji, deoarece un pas cu pas pentru a configura Arduino IDE este prezentat mai jos.

  1. Descărcați cea mai recentă versiune a Arduino IDE de la Arduino.
  2. Conectați placa Arduino la computer și deschideți Panoul de control. Click pe Hardware și sunet. Acum deschis Dispozitive și imprimantă și găsiți portul la care este conectată placa dvs. În cazul meu este COM14, dar este diferit în diferite computere.

    Găsirea portului

  3. Faceți clic pe Fișier și apoi faceți clic pe Preferințe. Copiați următorul link în Adresa URL a administratorului de bord suplimentar. „ https://dl.espressif.com/dl/package_esp32_index.json '

    Preferințe

  4. Acum, pentru a utiliza ESP32 cu Arduino IDE, trebuie să importăm biblioteci speciale care ne vor permite să ardem codul pe ESP32 și să-l folosim. aceste două biblioteci sunt atașate în linkul de mai jos. Pentru a include biblioteca, mergeți Schiță> Includeți bibliotecă> Adăugați o bibliotecă ZIP . Va apărea o casetă. Găsiți folderul ZIP de pe computer și faceți clic pe OK pentru a include folderele.

    Includeți biblioteca

  5. Acum, du-te Schiță> Includeți bibliotecă> Gestionați bibliotecile.

    Gestionați bibliotecile

  6. Se va deschide un meniu. În bara de căutare, tastați Arduino JSON. Va apărea o listă. Instalare Arduino JSON de Benoit Blanchon.

    Arduino JSON

  7. Acum faceți clic pe Instrumente. Va apărea un meniu derulant. Setați placa la Modulul ESP.

    Placă de setare

  8. Faceți din nou clic pe meniul Instrument și setați portul pe care l-ați observat anterior în panoul de control.

    Setarea portului

  9. Acum încărcați codul atașat în linkul de mai jos și faceți clic pe butonul de încărcare pentru a arde codul pe Microcontroler ESP32 .

    Încărcare

Deci, acum, când veți încărca codul, poate apărea o eroare. Aceasta este cea mai frecventă eroare care poate apărea dacă utilizați o nouă versiune a Arduino IDE și Arduino JSON. Următoarele sunt erorile pe care le puteți vedea pe ecran.

În fișier inclus din C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, din C:  Users  Pro  Desktop  smartHome  code  code.ino: 2: C :  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 14: 11: error: StaticJsonBuffer este o clasă din ArduinoJson 5. Consultați arduinojson.org/upgrade pentru a afla cum să faceți upgrade programului dvs. la ArduinoJson versiunea 6 StaticJsonBuffer jsonBuffer; ^ În fișier inclus din C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, din C:  Users  Pro  Desktop  smartHome  code  code.ino: 2: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 65: 11: error: StaticJsonBuffer este o clasă din ArduinoJson 5. Vă rugăm să consultați arduinojson.org/upgrade pentru a afla cum să actualizați programul dvs. în ArduinoJson versiunea 6 returnează StaticJsonBuffer (). ParseObject (_data); ^ Au fost găsite mai multe biblioteci pentru „WiFi.h” Folosit: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFi Neutilizat: C:  Program Files ( x86)  Arduino  libraries  WiFi Utilizarea bibliotecii WiFi la versiunea 1.0 din folder: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFi Folosirea bibliotecii IOXhop_FirebaseESP32-master în folder: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master (vechi) Utilizarea bibliotecii HTTPClient la versiunea 1.2 în folderul: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  HTTPClient Utilizarea bibliotecii WiFiClientSecure la versiunea 1.0 din folder: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFiClientSecure Utilizarea bibliotecii ArduinoJson la versiunea 6.12.0 în folder: C:  Users  Pro  Documents  Arduino  libraries  ArduinoJson exit status 1 Eroare la compilarea pentru modulul ESP32 Dev Module.

Nu este nimic de îngrijorat, deoarece putem elimina aceste erori urmând câțiva pași simpli. Aceste erori apar deoarece noua versiune a Arduino JSON are o altă clasă în loc de StaticJsonBuffer. Aceasta este clasa JSON 5. Deci, putem elimina pur și simplu această eroare prin retrogradarea versiunii Arduino JSON a ID-ului nostru Arduino. Pur și simplu mergeți la Schiță> Includeți bibliotecă> Gestionați bibliotecile. Caută Arduino JSON de Benoit Blanchon pe care le-ați instalat anterior. Dezinstalați-l mai întâi și apoi setați versiunea sa la 5.13.5. Acum, deoarece am setat o versiune veche a Arduino JSON, instalați-o din nou și recompilați codul. De data aceasta, codul dvs. se va compila cu succes.

Pentru a descărca codul, clic aici.

Pasul 8: Asamblarea circuitului

Acum, deoarece aplicația noastră este gata și complet funcțională, să vedem cum vom conecta circuitul la computer.

  1. În primul rând, luați o centrală și conectați toate prizele sistemului computerului din acesta, adică monitor, imprimantă, procesor, alimentator etc.
  2. Acum, luați comutatorul de conectare al acestei plăci și faceți o tăietură între fir, astfel încât două fire, negru și roșu, să fie vizibile din interior.
  3. Scoateți firul roșu și tăiați-l din mijloc. Conectați un capăt al firului în punctul NO al modulului releului și celălalt capăt în punctul COM al punctului releului. (nu face nimic cu firul negru)
  4. Acum fixați ESP32 în panou și alimentați-l folosind o baterie de 5V. Conectați Vcc și masa modulului de releu în panoul de control, cu bornele pozitive și negative ale bateriei.
  5. Efectuați următoarea configurație cu tranzistorul de pe panou.

Pasul 9: Cod

Codul este destul de simplu, dar totuși, este explicat pe scurt mai jos.

1. La început, sunt incluse două biblioteci, astfel încât firebase să poată fi utilizat cu ESP32.

#include #include

2. Apoi sunt furnizate informații despre baza de date firebase și conexiunea Wifi și se declară pinul ESP care va fi utilizat cu modulul de releu.

. înlocuiți-l cu parola dvs. wifi int swi = 34; // conectați pin34 de ESP cu modulul de releu

3. configurare nulă () este o funcție care rulează o singură dată când circuitul este pornit sau butonul Activare este apăsat. Aici este scris codul pentru a conecta placa ESP la WIFI. Știftul ESP care este utilizat cu modulul de releu este, de asemenea, declarat OUTPUT aici.

void setup () {Serial.begin (115200); pinMode (swi, OUTPUT); // conectare la wifi. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println („conectare”); while (WiFi.status ()! = WL_CONNECTED) {Serial.print ('.'); întârziere (500); } Serial.println (); Serial.print ('conectat:'); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }

Patru. bucla nulă () este o funcție care rulează în mod repetat într-o buclă. Aici se citește valoarea din baza de foc. Dacă această valoare este egală cu „1”, atunci semnalul HIGH va fi trimis către modulul releu și computerul va porni. Când această valoare este „0”, computerul va fi oprit.

void loop () {// citește valoarea if (Firebase.getFloat ('switch') == 1) {digitalWrite (swi, HIGH); } else {digitalWrite (swi, LOW); } // gestionează eroarea dacă (Firebase.failed ()) {Serial.print ('setare / număr eșuat:'); Serial.println (Firebase.error ()); întoarcere; } întârziere (1000); }