Bezvadu ieslēgšanas / izslēgšanas slēdža izveidošana datoram

TO Gudrs sistēmu, kas kontrolē apgaismojumu, izklaides sistēmas un citas ierīces, var viegli projektēt mājās, un tā ir arī visstraujāk augošā mūsdienu pasaules koncepcija. Viedās mājas sistēmas ir jēdziens, kurā visas elektriskās ierīces vai ierīces tiek kontrolētas, izmantojot vienu tālvadības pulti. Mūsdienās atsevišķu komponentu, piemēram, releja moduli, var izmantot, lai kontrolētu dažādus mājas elektroniskos parametrus, piemēram, sadzīves tehnikas pārslēgšanu, apsardzes signalizācijas uzraudzību, garāžas durvju automatizāciju utt. Personālais dators kontrolēs Android lietojumprogramma . Šajās sistēmās lielākoties tālvadības pults ir mobilā lietojumprogramma. Tā kā mobilais android mobilais ir visizplatītākais cilvēku vidū, tāpēc android lietojumprogramma ir labākā iespēja kontrolēt mūsu datoru.



Bezvadu datora slēdzis

Kā izveidot bezvadu slēdzi datoram mobilajā tālrunī?

1. darbība: komponentu apkopošana

Lai izveidotu jebkuru projektu, jāzina, kādi ir galvenie komponenti, kas tam būs nepieciešami, lai to pabeigtu. Tāpēc lieliska pieeja pirms darba uzsākšanas ir visu sastāvdaļu pilnīga saraksta sastādīšana, lai ietaupītu laiku un izvairītos no iespējas iestrēgt projekta vidū. Zemāk ir sniegts visu tirgū viegli pieejamo komponentu pilnīgs saraksts:



  • ESP32
  • 2N2222 NPN tranzistors
  • 1k omu rezistors (x2)
  • 5V releja modulis
  • Savienojošie vadi

2. solis: Programmatūras jāinstalē

Tā kā mēs gatavojamies bezvadu slēdzi, mums būs nepieciešama poga, lai to ieslēgtu un izslēgtu. Mēs vēlamies izmantot mobilo tālruni, lai darbinātu šo pogu, tāpēc mums būs jāizstrādā tam lietojumprogramma. Visērtākā lietojumprogramma ir android lietojumprogramma. Lai lietotu šo lietojumprogrammu, mums jāinstalē divas programmatūras. Abi no tiem ir uzskaitīti zemāk:



  • Android studija.
  • JAVA JDK.

3. darbība: instalējiet Android Studio

Pirms Android Studio instalēšanas mēs to instalēsim JAVA Vispirms JDK. Lai to instalētu, noklikšķiniet uz exe failu lejupielādējāt no iepriekš minētās saites un noklikšķiniet uz Tālāk, līdz tā ir veiksmīgi instalēta. Tagad veiciet šādas darbības, lai jūsu komandu uzvedne atpazītu Java kā ārēju vai iekšēju komandu.



  1. Atvērt Vadības panelis un noklikšķiniet uz Sistēma un drošība .
  2. Klikšķiniet uz Sistēma .

    Sistēma

  3. Klikšķiniet uz Papildu sistēmas iestatīšana un pēc tam noklikšķiniet uz Vides mainīgie .

    Papildu sistēmas iestatīšana

  4. Sadaļā Sistēmas mainīgais noklikšķiniet uz ceļa un pēc tam uz Rediģēt. Jauns Rediģēt vides mainīgo parādīsies lodziņš.

    Rediģēt ceļu



  5. Tagad dodieties uz C: Program Files Java datorā. Atveriet mapi JDK, noklikšķiniet uz atkritnes mapes un pēc tam nokopējiet šīs mapes ceļu.

    Miskastes mapes ceļš

  6. Tagad dodieties uz lodziņu Rediģēt vides mainīgo un noklikšķiniet uz jauns, lai izveidotu jaunu mainīgo. Ielīmējiet jaunā mainīgā ceļu, kuru esat nokopējis iepriekšējā solī, un saglabājiet to.
  7. Tagad, lai apstiprinātu, ja tas ir pilnībā instalēts, atveriet komandu uzvedni un ierakstiet java –versija .

    JAVA versija

Tagad, kad esat veiksmīgi instalējis Java JDK savā datorā. Ļaujiet mums tagad instalēt Android Studio savā datorā. Šīs programmatūras instalēšana ir ļoti vienkārša. Jums jāatver lejupielādētais fails un jānoklikšķina uz nākamā, līdz programmatūra ir pilnībā instalēta.

4. darbība: savienojums ar Firebase

Kad esam instalējuši Android Studio, palaidīsim to un izveidosim jaunu projektu, lai to savienotu ar firebase. Lai to izdarītu, rīkojieties šādi.

1. Palaidiet Android Studio un izveidojiet jaunu projektu, noklikšķinot uz Tukša darbība .

Jauns projekts

2. Tagad nosauciet savu projektu kā computerSwitc, atlasiet Kotlins kā valodu un atlasiet minimālo API līmeni atbilstoši savam mobilajam tālrunim.

Jauns projekts

3. Tā kā mēs izmantosim internetu, lai kontrolētu aveņu pi tapas. Mēs savā lietotnē iestatīsim atļauju piekļūt vietējam wifi. Lai to izdarītu, dodieties uz app> manifestes> AndroidManifest.xml un pievienojiet šādu komandu.

 

Interneta atļauja

3. Tagad noklikšķiniet uz n Rīki. Parādīsies nolaižamā izvēlne, no kuras atlasiet Firebase.

Firebase savienojums

4. Ekrāna labajā pusē parādīsies liela izvēlne, kas nodrošinās gandrīz visu pakalpojumu, ko sniedz Firebase, izvēlni. Bet šobrīd galvenā uzmanība tiek pievērsta reāllaika datu bāzei. Tātad noklikšķiniet uz Reāllaika datu bāze. Saite uz “ Saglabāt un izgūt datus ' parādīsies. Noklikšķiniet uz šīs saites.

Firebase palīgs

5. Pievienojieties Izveidojiet savienojumu ar Firebase pogu. Tas aizvedīs jūs uz noklusējuma tīmekļa pārlūkprogrammu. Pirmkārt, tā lūgs jums pieteikties savā Gmail kontā. Pēc tam noklikšķiniet uz Pievienojiet savai lietotnei reāllaika datu bāzi un pieņemt izmaiņas.

6. Tagad dodieties uz Firebase konsole . Tur jūs redzēsiet jau izveidotu projektu. Šīs projektora ikonas Android logotips nozīmē, ka tas jau pieder android lietojumprogrammai.

7. No Attīstīties izvēlni, kas parādās ekrāna kreisajā pusē, atlasiet Datu bāze. Poga Izveidot datu bāzi parādīsies labajā pusē. Noklikšķiniet uz šīs pogas.

8. Parādīsies izvēlne ar aicinājumu iestatīt datu bāzes režīmu. Klikšķiniet uz testa režīms un pēc tam noklikšķiniet Iespējot .

Testa režīms

9. Tagad patiešām svarīgs solis, kas jāatceras, ir mainīt Mākonis Firestore uz Reālā laika datu bāze. Lai to izdarītu, noklikšķiniet uz pogas, kas parādīta zemāk esošajā attēlā, un mainiet vajadzīgo opciju.

Reāllaika Firebase

10. Tagad noklikšķiniet uz Noteikumi cilni un mainiet konfigurācijas uz Patiesi . Kad viss ir izdarīts, noklikšķiniet uz Publicēt .

Konfigurāciju maiņa

11. Viena lieta, kas jums jādara, izņemot Firebase savienošanu, ir datu bāzes versijas atjaunināšana. Lai to izdarītu, noklikšķiniet uz iet uz dokumenti . Tagad noklikšķiniet uz ceļveži un atlasiet Android ceļveži no ekrānā redzamā saraksta. Ritiniet uz leju, līdz parādās tabula. Šajā tabulā meklējiet reāllaika datu bāzi un atrodiet tās versiju. manā gadījumā tā ir 19.1.0

Versija

12. Noklikšķiniet uz Gradle Scripts, izvēlne ekrāna kreisajā pusē. Pēc tam atlasiet uzbūvēts. gradle (modulis: lietotne). Tagad kodā meklējiet reāllaika datu bāzes versiju un aizstājiet to ar jauno.

Firebase versija

13. Tagad sinhronizējiet projektu, noklikšķinot uz sinhronizācijas pogas, kas parādās ekrāna augšdaļā.

5. solis: Izkārtojuma veidošana

Tagad, kad mūsu android lietojumprogramma ir savienota ar firebase, izveidosim savas lietotnes izkārtojumu, kuru lietotājs izmantos, lai ieslēgtu vai izslēgtu datoru. Lai izveidotu izkārtojumu, dodieties uz app> res> izkārtojums> activity_main.xml. kur mēs noformēsim izkārtojumu. Nokopējiet zemāk norādīto kodu tur, lai izveidotu teksta skatu.

 

Mūsu lietotnes izkārtojums izskatīsies šādi:

Lietotnes izkārtojums

6. solis: Backend kodēšana Kotlīnā

Kad esam izveidojuši lietojumprogrammas priekšgalu, virzīsimies vienu soli uz priekšu un uzrakstīsim aizmugures kodu, lai to savienotu ar firebase. Mēs esam pievienojuši pārslēgšanas slēdzi, kas izslēdz 0 uz firebase datu bāzi, kad tas ir izslēgts, un tas nosūtīs 1 uz firebase datu bāzi, kad tas ir ieslēgts.

Tagad kreisajā stūrī noklikšķiniet uz lietotne> java> com.example.computerswitch> main_activity, un savā klasē pievienojiet šādu kodu. Ja rodas kāda bibliotēkas kļūda, nospiediet ALT + ENTER lai automātiski iekļautu šo bibliotēku.

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

Zemāk redzamajā attēlā varat redzēt, ka, ja slēdzis ir ieslēgts, firebase datu bāzē tiek augšupielādēts “1”. Līdzīgi šeit tiks aizstāts “0”, kad izslēgts būs izslēgts.

Vērtība

7. solis: darba sākšana ar Arduino

Ja iepriekš neesat strādājis ar Arduino IDE, neuztraucieties, jo soli pa solim ir parādīts Arduino IDE iestatīšana.

  1. Lejupielādējiet jaunāko Arduino IDE versiju no Arduino.
  2. Pievienojiet savu Arduino dēli datoram un atveriet vadības paneli. Klikšķiniet uz Aparatūra un skaņa. Tagad atvērts Ierīces un printeris un atrodiet portu, ar kuru savienots jūsu dēlis. Manā gadījumā tā ir COM14, taču dažādos datoros tas ir atšķirīgs.

    Ostas atrašana

  3. Noklikšķiniet uz Fails un pēc tam uz Preferences. Nokopējiet šo saiti mapē Papildu valdes vadītāja URL. “ https://dl.espressif.com/dl/package_esp32_index.json '

    Preferences

  4. Tagad, lai lietotu ESP32 ar Arduino IDE, mums jāimportē īpašas bibliotēkas, kas ļaus mums ierakstīt kodu ESP32 un to izmantot. šīs divas bibliotēkas ir pievienotas zemāk dotajā saitē. Lai iekļautu bibliotēku, dodieties Skice> Iekļaut bibliotēku> Pievienot ZIP bibliotēku . Parādīsies lodziņš. Datorā atrodiet ZIP mapi un noklikšķiniet uz Labi, lai iekļautu mapes.

    Iekļaut bibliotēku

  5. Tagad ej Skice> Iekļaut bibliotēku> Pārvaldīt bibliotēkas.

    Pārvaldīt bibliotēkas

  6. Tiks atvērta izvēlne. Meklēšanas joslā ierakstiet Arduino JSON. Parādīsies saraksts. Uzstādīt Benoits Blanšons Arduino JSON.

    Arduino JSON

  7. Tagad noklikšķiniet uz Rīki. Parādīsies nolaižamā izvēlne. Iestatiet dēli uz ESP Dev modulis.

    Dēļu iestatīšana

  8. Vēlreiz noklikšķiniet uz izvēlnes Rīks un iestatiet portu, kuru iepriekš novērojāt vadības panelī.

    Portas iestatīšana

  9. Tagad augšupielādējiet kodu, kas pievienots zemāk esošajā saitē, un noklikšķiniet uz augšupielādes pogas, lai sadedzinātu kodu ESP32 mikrokontrolleris .

    Augšupielādēt

Tāpēc tagad, augšupielādējot kodu, var rasties kļūda. Šī ir visizplatītākā kļūda, kas var rasties, ja izmantojat jaunu Arduino IDE un Arduino JSON versiju. Tālāk ir norādītas kļūdas, kuras varat redzēt ekrānā.

Failā, kas iekļauts C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, no 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 ir ArduinoJson klase. Lūdzu, skatiet vietni arduinojson.org/upgrade, lai uzzinātu, kā jaunināt programmu uz ArduinoJson 6. versija StaticJsonBuffer jsonBuffer; ^ Failā, kas iekļauts C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, no C:  Users  Pro  Desktop  smartHome  code  code.ino: 2: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 65: 11: kļūda: StaticJsonBuffer ir klase no ArduinoJson 5. Lūdzu, skatiet vietni arduinojson.org/upgrade, lai uzzinātu, kā jaunināt programmu uz ArduinoJson 6. versija atgriež StaticJsonBuffer (). ParseObject (_data); ^ Vietnei 'WiFi.h' tika atrastas vairākas bibliotēkas. Izmantotie: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  library  WiFi Nav izmantoti: C:  Program Files ( x86)  Arduino  libraries  WiFi Izmantojot bibliotēkas WiFi versiju 1.0 mapē: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  libraries  WiFi Izmantojot bibliotēku IOXhop_FirebaseESP32-master mapē: C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master (mantojums) Bibliotēkas HTTPClient izmantošana versijā 1.2 mapē: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  libraries  HTTPClient Bibliotēkas WiFiClientSecure izmantošana versijā 1.0 mapē: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  library  WiFiClientSecure Bibliotēkas ArduinoJson izmantošana plkst. Versija 6.12.0 mapē: C:  Users  Pro  Documents  Arduino  libraries  ArduinoJson izejas statuss 1 Kļūda sastādot plates ESP32 Dev moduli.

Nav jāuztraucas, jo šīs kļūdas mēs varam novērst, veicot dažas vienkāršas darbības. Šīs kļūdas rodas tāpēc, ka jaunajā Arduino JSON versijā ir cita klase, nevis StaticJsonBuffer. Šī ir JSON 5 klase. Tāpēc mēs varam vienkārši novērst šo kļūdu, pazeminot mūsu Arduino IDE Arduino JSON versiju. Vienkārši dodieties uz Skice> Iekļaut bibliotēku> Pārvaldīt bibliotēkas. Meklēt Benoits Blanšons Arduino JSON kuru esat instalējis iepriekš. Vispirms atinstalējiet to un pēc tam iestatiet tā versiju 5.13.5. Tagad, kad esam iestatījuši veco Arduino JSON versiju, instalējiet to vēlreiz un atkārtoti apkopojiet kodu. Šoreiz jūsu kods tiks veiksmīgi apkopots.

Lai lejupielādētu kodu, klikšķis šeit.

8. solis: ķēdes montāža

Kad mūsu lietotne ir gatava un pilnībā funkcionāla, redzēsim, kā mēs savienosim ķēdi ar datoru.

  1. Vispirms paņemiet sadales skapi un pievienojiet tajā visus datorsistēmas spraudņus, ti, monitoru, printeri, procesoru, PSU utt.
  2. Tagad paņemiet šīs plāksnes savienojošo slēdzi un sagrieziet vadu starp tā, lai no iekšpuses būtu redzami divi vadi, melni un sarkani.
  3. Izņemiet sarkano vadu un sagrieziet to no vidus. Savienojiet vienu stieples galu releja moduļa NO punktā un otru galu releja punkta COM punktā. (nedariet neko ar melno vadu)
  4. Tagad nofiksējiet ESP32 maizes dēlī un darbiniet to ar 5 V akumulatoru. Pievienojiet releja moduļa Vcc un zemējumu maizes dēlī ar pozitīvajiem un negatīvajiem akumulatora spailēm.
  5. Veiciet šādu konfigurāciju ar tranzistoru uz maizes paneļa.

9. solis: kods

Kods ir diezgan vienkāršs, bet tomēr tas ir īsumā paskaidrots tālāk.

1. Sākumā ir iekļautas divas bibliotēkas, lai firebase varētu izmantot kopā ar ESP32.

# iekļaut # iekļaut

2. Pēc tam tiek sniegta informācija par jūsu firebase datu bāzi un Wifi savienojumu un deklarēts ESP kontakts, kas tiks izmantots ar releja moduli.

#define FIREBASE_HOST 'xxxxx' // aizstājiet to ar savu firebase resursdatoru #define FIREBASE_AUTH 'xxxxx' // aizstājiet to ar savu firebase auth #define WIFI_SSID 'xxxxx' // aizstājiet to ar savu WIFI SSID #define WIFI_PASSWORD 'xxxxx' // nomainiet to ar savu wifi paroli int swi = 34; // savienojiet ESP pin34 ar releja moduli

3. anulēt iestatīšanu () ir funkcija, kas darbojas tikai vienu reizi, kad ķēde ir ieslēgta vai tiek nospiesta poga Iespējot. Šeit ir uzrakstīts kods, savienojiet ESP paneli ar WIFI. ESP tapa, kas tiek izmantota ar releja moduli, šeit tiek deklarēta arī kā OUTPUT.

void setup () {Seriālā.sākt (115200); pinMode (swi, OUTPUT); // izveidot savienojumu ar wifi. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ('savienojums'); while (WiFi.status ()! = WL_CONNECTED) {Seriālā.druka ('.'); kavēšanās (500); } Seriālais.println (); Serial.print ('savienots:'); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }

Četri. void loop () ir funkcija, kas atkārtoti darbojas ciklā. Šeit tiek nolasīta uguns bāzes vērtība. Ja šī vērtība ir vienāda ar “1”, tad HIGH signāls tiks nosūtīts uz releja moduli un dators ieslēgsies. Kad šī vērtība ir “0”, dators tiks izslēgts.

void loop () {// nolasīt vērtību if (Firebase.getFloat ('switch') == 1) {digitalWrite (swi, HIGH); } else {digitalWrite (swi, LOW); } // apstrādāt kļūdu, ja (Firebase.failed ()) {Serial.print ('iestatījums / numurs neizdevās:'); Serial.println (Firebase.error ()); atgriešanās; } kavēšanās (1000); }