Creació d'un commutador d'encesa / apagat sense fils per al vostre PC

A Intel·ligent El sistema que controla la il·luminació, els sistemes d’entreteniment i altres electrodomèstics es pot dissenyar a casa fàcilment i també és el concepte de creixement més ràpid del món modern. Smart Home Systems és un concepte en què tots els aparells elèctrics o dispositius es controlen mitjançant un sol comandament a distància. Avui en dia, un component únic com un mòdul de relés es pot utilitzar per controlar diversos paràmetres electrònics d’una casa, per exemple, commutació d’aparells electrodomèstics, control d’alarmes de seguretat, automatització de portes de garatge, etc. En aquest projecte, la nostra Ordinador personal serà controlat per un Aplicació Android . En aquests sistemes, la majoria de les vegades, el control remot és una aplicació mòbil. Com que el mòbil Android és el més comú entre la gent, també aplicació per Android és la millor opció per controlar el nostre PC.



Commutador d'ordinador sense fils

Com es pot fer un commutador sense fils per al vostre PC al telèfon mòbil?

Pas 1: Recopilació dels components

Per fer qualsevol projecte, cal saber quins són els components bàsics que caldrà per completar-lo. Per tant, un excel·lent enfocament abans de començar el treball és fer una llista completa de tots els components per estalviar temps i evitar la possibilitat d’encallar-se enmig del projecte. A continuació es mostra una llista completa de tots els components fàcilment disponibles al mercat:



  • ESP32
  • 2N2222 Transistor NPN
  • Resistència d'1 k-ohm (x2)
  • Mòdul de relé 5V
  • Connexió de cables

Pas 2: Instal·lació de programes

Com que farem un commutador sense fils, necessitarem un botó per activar-lo i apagar-lo. Volem utilitzar un telèfon mòbil per fer funcionar aquest botó, de manera que haurem de desenvolupar una aplicació per a això. L’aplicació més convenient és una aplicació per a Android. Hem d’instal·lar dos programes per utilitzar aquesta aplicació. Tots dos es detallen a continuació:



  • Android Studio.
  • JAVA JDK.

Pas 3: Instal·lació d'Android Studio

Abans d’instal·lar Android Studio, l’instal·larem JAVA JDK primer. Per instal·lar-ho, feu clic a exe dossier que heu baixat de l’enllaç anterior i feu clic a Següent fins que s’instal·li correctament. Ara seguiu els passos següents per tal que el vostre símbol del sistema reconegui Java com una ordre externa o interna.



  1. Obert control Panel i feu clic a Sistema i seguretat .
  2. Fer clic a Sistema .

    Sistema

  3. Fer clic a Configuració avançada del sistema i després feu clic a Variables ambientals .

    Configuració avançada del sistema

  4. A la secció Variable del sistema, feu clic al camí i, a continuació, feu clic a Edita. Una nova Edita la variable ambiental apareixerà el quadre.

    Edita el camí



  5. Ara ves a C: Fitxers de programa Java al vostre PC. Obriu la carpeta JDK, feu clic a la carpeta bin i, a continuació, copieu el camí d'accés d'aquesta carpeta.

    Camí de la carpeta bin

  6. Ara aneu al quadre Edita la variable ambiental i feu clic a nou per crear una nova variable. Enganxeu el camí que heu copiat al pas anterior a la nova variable i deseu-lo.
  7. Ara per confirmar, si està completament instal·lat, obriu l'indicador d'ordres i escriviu java –versió .

    Versió JAVA

Ara, ja que heu instal·lat amb èxit Java JDK al vostre ordinador. Instal·lem Android Studio al vostre ordinador. Instal·lar aquest programari és molt fàcil. Heu d’obrir el fitxer descarregat i fer clic a Següent fins que el programari estigui completament instal·lat.

Pas 4: connexió a Firebase

Ara, ja que hem instal·lat Android Studio, deixem-lo iniciar i fem un nou projecte per connectar-lo a la base de foc. Per fer-ho, seguiu els passos següents.

1. Inicieu Android Studio i feu un projecte nou fent clic a Activitat buida .

Nou projecte

2. Ara anomeneu el vostre projecte com a computerSwitc, seleccioneu Kotlin com a idioma i seleccioneu el nivell mínim d'API segons el vostre telèfon mòbil.

Nou projecte

3. Ja que utilitzarem Internet per controlar els pins del raspberry pi. Establirem permís a la nostra aplicació per accedir al wifi local. Per fer-ho, aneu a app> manifests> AndroidManifest.xml i afegiu l'ordre següent.

 

Permís d'Internet

3. Ara feu clic a n Eines. Apareixerà un menú desplegable, seleccioneu Firebase.

Connexió de Firebase

4. Apareixerà un menú gran a la part dreta de la pantalla que proporcionarà el menú de gairebé tots els serveis que proporciona Firebase. Però ara mateix el nostre focus principal és la base de dades en temps real. Feu clic a Base de dades en temps real. Un enllaç a ' Desa i recupera dades ' Apareixerà. Feu clic a aquest enllaç.

Assistent de Firebase

5. Connecteu-vos Connecteu-vos a Firebase botó. Us portarà al navegador web predeterminat. En primer lloc, us demanarà que inicieu la sessió al vostre compte de Gmail. A continuació, feu clic a Afegiu la base de dades en temps real a la vostra aplicació i accepteu els canvis.

6. Ara aneu a Consola de Firebase . Allà veureu un projecte ja realitzat. El logotip d’Android a la icona d’aquest projecte significa que ja pertany a una aplicació per a Android.

7. Des del Desenvolupar menú que apareix a la part esquerra de la pantalla, seleccioneu Base de dades. Un botó de Crea una base de dades apareixerà a la dreta. Feu clic sobre aquest botó.

8. Apareixerà un menú que us demanarà que configureu el mode de la vostra base de dades. Fer clic a mode de prova i després feu clic a Activa .

Mode de prova

9. Ara un pas realment important per recordar és canviar el Cloud Firestore a Base de dades en temps real. Per fer-ho, feu clic al botó que apareix a la imatge següent i canvieu l'opció desitjada.

Firebase en temps real

10. Ara feu clic a Normes i canvieu les configuracions a És cert . Un cop fet tot, feu clic a Publica .

Canvi de configuracions

11. Una cosa que heu de fer a part de connectar Firebase és actualitzar la versió de la base de dades. Per a això, feu clic a anar a documents . Ara feu clic a guies i seleccioneu Guies d'Android de la llista que apareix a la pantalla. Desplaceu-vos cap avall fins que aparegui una taula. Cerqueu la base de dades en temps real en aquesta taula i trobeu-ne la versió. en el meu cas, ho és 19.1.0

Versió

12. Feu clic a Scripts de Gradle, un menú a la part esquerra de la pantalla. A continuació, seleccioneu construït. gradle (Mòdul: aplicació). Ara, al codi, cerqueu la versió de la base de dades en temps real i substituïu-la per la nova.

Versió de Firebase

13. Ara sincronitzeu el projecte fent clic al botó de sincronització que apareix a la part superior de la pantalla.

Pas 5: creació del disseny

Ara, com que la nostra aplicació per a Android està connectada a Firebase, permetem fer un disseny de la nostra aplicació que l’usuari utilitzarà per encendre o apagar l’ordinador. Per fer un disseny, aneu a aplicació> res> disseny> activitat_main.xml. on dissenyarem un disseny. Copieu allà el codi que es mostra a continuació per fer una visualització de text.

 

El disseny de la nostra aplicació serà així:

Disseny de l'aplicació

Pas 6: codificació de fons a Kotlin

A mesura que hem creat el frontend de l'aplicació, anem avançant un pas i escrivim el codi del backend per connectar-lo amb el firebase. Hem connectat un commutador de commutació que enviarà un 0 a la base de dades de firebase quan estigui apagat i en enviarà un 1 a la base de dades de firebase quan estigui en estat.

Ara, a l'extrem esquerre, feu clic a app> java> com.example.computerswitch> main_activity, i afegiu-hi el codi següent a la vostra classe. Si es produeix algun error de biblioteca, premeu ALT + ENTER per incloure aquesta biblioteca automàticament.

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) as Switch btnSwitch.setOnClickListener {if (btnSwitch.isChecked) {myRef.child ('switch'). setValue ('1')} else {myRef.child ('switch'). setValue ('0') }}}

A la imatge següent, podeu veure que si l’interruptor està activat, es carrega “1” a la base de dades de firebase. De la mateixa manera, un '0' se substituirà aquí quan el commutador estigui apagat.

Valor

Pas 7: Introducció a Arduino

Si no heu treballat abans amb Arduino IDE, no us preocupeu, perquè a continuació es mostra un pas a pas per configurar Arduino IDE.

  1. Descarregueu la versió més recent d'Arduino IDE des de Arduino.
  2. Connecteu la vostra placa Arduino al PC i obriu el Tauler de control. Fer clic a Maquinari i so. Ara obert Dispositius i impressora i cerqueu el port al qual està connectada la vostra placa. En el meu cas ho és COM14, però és diferent en diferents ordinadors.

    Buscant Port

  3. Feu clic a Fitxer i després a Preferències. Copieu el següent enllaç a URL del gestor de la junta addicional. ' https://dl.espressif.com/dl/package_esp32_index.json '

    Preferències

  4. Ara, per utilitzar ESP32 amb Arduino IDE, hem d’importar biblioteques especials que ens permetin gravar codi a ESP32 i utilitzar-lo. aquestes dues biblioteques s'adjunten a l'enllaç que es mostra a continuació. Per incloure la biblioteca, aneu Esbós> Inclou biblioteca> Afegeix biblioteca ZIP . Apareixerà un quadre. Cerqueu la carpeta ZIP a l'ordinador i feu clic a D'acord per incloure-les.

    Inclou la biblioteca

  5. Ara vés Esbós> Inclou biblioteca> Gestiona les biblioteques.

    Gestiona les biblioteques

  6. S'obrirà un menú. A la barra de cerca, escriviu Arduino JSON. Apareixerà una llista. Instal·la Arduino JSON de Benoit Blanchon.

    Arduino JSON

  7. Ara feu clic a Eines. Apareixerà un menú desplegable. Estableix el tauler a Mòdul de desenvolupament ESP.

    Taula de configuració

  8. Torneu a fer clic al menú Eina i configureu el port que heu observat abans al tauler de control.

    Configuració del port

  9. Ara pengeu el codi que s'adjunta a l'enllaç següent i feu clic al botó de càrrega per gravar el codi al fitxer Microcontrolador ESP32 .

    Pujar

Així que ara, quan pengeu el codi, es pot produir un error. Aquest és l'error més comú que es pot produir si utilitzeu una nova versió de l'IDE Arduino i l'Arduino JSON. A continuació es detallen els errors que podeu veure a la pantalla.

Al fitxer inclòs des de C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, des de 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 és una classe d'ArduinoJson 5. Consulteu arduinojson.org/upgrade per aprendre a actualitzar el vostre programa a ArduinoJson. versió 6 StaticJsonBuffer jsonBuffer; ^ Al fitxer inclòs des de C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, des de 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 és una classe d'ArduinoJson 5. Consulteu arduinojson.org/upgrade per obtenir informació sobre com actualitzar el vostre programa a ArduinoJson versió 6 retorna StaticJsonBuffer (). ParseObject (_data); ^ S'han trobat diverses biblioteques per a 'WiFi.h' Usat: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFi No s'utilitza: C:  Program Files ( x86)  Arduino  libraries  WiFi Usant biblioteca WiFi a la versió 1.0 de la carpeta: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFi Utilitzant la biblioteca IOXhop_FirebaseESP32-master a la carpeta: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master (heretat) Usant la biblioteca HTTPClient a la versió 1.2 a la carpeta: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  HTTPClient Ús de la biblioteca WiFiClientSecure a la versió 1.0 de la carpeta: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFiClientSecure Ús de la biblioteca ArduinoJson a versió 6.12.0 a la carpeta: C:  Users  Pro  Documents  Arduino  libraries  ArduinoJson exit status 1 Error en compilar la placa ESP32 Dev Module.

No hi ha res de què preocupar-se perquè podem eliminar aquests errors seguint alguns senzills passos. Aquests errors es produeixen perquè la nova versió d'Arduino JSON té una altra classe en lloc de StaticJsonBuffer. Aquesta és la classe de JSON 5. Per tant, simplement podem eliminar aquest error degradant la versió d’Arduino JSON del nostre IDE Arduino. Simplement aneu a Esbós> Inclou biblioteca> Gestiona les biblioteques. Buscar Arduino JSON de Benoit Blanchon que heu instal·lat abans. Desinstal·leu-lo primer i definiu-ne la versió 5.13.5. Ara, ja que hem definit una versió antiga d'Arduino JSON, torneu-la a instal·lar i torneu a compilar el codi. Aquesta vegada, el vostre codi es compilarà correctament.

Per descarregar el codi, feu clic aquí.

Pas 8: Muntatge del circuit

Ara que la nostra aplicació està preparada i és totalment funcional, vegem com connectarem el circuit a l’ordinador.

  1. Primer de tot, agafeu una centraleta i connecteu-hi tots els endolls del sistema informàtic, és a dir, monitor, impressora, CPU, alimentador, etc.
  2. Ara agafeu l'interruptor de connexió d'aquesta placa i feu un tall entre el cable de manera que dos cables, negre i vermell, siguin visibles des de l'interior.
  3. Traieu el fil vermell i talleu-lo pel centre. Connecteu un extrem del cable al punt NO del mòdul de relé i l’altre extrem al punt COM del punt de relé. (no feu res amb el fil negre)
  4. Ara fixeu l’ESP32 a la placa de control i enceneu-lo amb una bateria de 5V. Connecteu el Vcc i la terra del mòdul de relés a la placa de connexió, amb els terminals negatius i positius de la bateria.
  5. Feu la configuració següent amb el transistor de la placa de configuració.

Pas 9: Codi

El codi és bastant senzill, però tot i així, s’explica breument a continuació.

1. Al començament, s'inclouen dues llibreries perquè Firebase es pugui utilitzar amb ESP32.

#include #include

2. A continuació, es proporciona informació sobre la vostra base de dades de firebase i la connexió Wifi i es declara el pin d'ESP que s'utilitzarà amb el mòdul de retransmissió.

. substituïu-la per la vostra contrasenya wifi int swi = 34; // connectar el pin34 de l’ESP amb el mòdul de relé

3. configuració nul·la () és una funció que s'executa només una vegada quan s'encén el circuit o es prem el botó Activa. Aquí s’escriu el codi per connectar la placa ESP a la WIFI. El pas de l'ESP que s'utilitza amb el mòdul de relé també es declara aquí com a SORTIDA.

configuració nul·la () {Serial.begin (115200); pinMode (swi, OUTPUT); // connectar-se a wifi. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ('connectant'); while (WiFi.status ()! = WL_CONNECTED) {Serial.print ('.'); retard (500); } Serial.println (); Serial.print ('connectat:'); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }

4. bucle buit () és una funció que s'executa repetidament en un bucle. Aquí es llegeix el valor de Firebase. Si aquest valor és igual a '1', el senyal HIGH s'enviarà al mòdul de relé i l'ordinador s'encendrà. Quan aquest valor sigui “0”, l’ordinador s’apagarà.

void loop () {// llegeix el valor if (Firebase.getFloat ('switch') == 1) {digitalWrite (swi, HIGH); } else {digitalWrite (swi, LOW); } // gestiona l'error si (Firebase.failed ()) {Serial.print ('setting / number failed:'); Serial.println (Firebase.error ()); tornar; } retard (1000); }