Tworzenie bezprzewodowego włącznika / wyłącznika dla twojego komputera

DO Mądry System sterujący oświetleniem, systemami rozrywki i innymi urządzeniami można z łatwością zaprojektować w domu i jest również najszybciej rozwijającą się koncepcją współczesnego świata. Systemy Smart Home to koncepcja, w której wszystkie urządzenia elektryczne lub urządzenia sterowane są za pomocą jednego pilota. W dzisiejszych czasach pojedynczy element, taki jak moduł przekaźnikowy, może służyć do sterowania różnymi parametrami elektronicznymi domu, np. Załączaniem sprzętu AGD, monitorowaniem alarmów bezpieczeństwa, automatyką bram garażowych itp. Komputer osobisty będzie kontrolowany przez Aplikacja na Androida . W tych systemach najczęściej pilot jest aplikacją mobilną. Ponieważ telefon komórkowy z Androidem jest najpopularniejszy wśród ludzi, więc plik aplikacja na Androida to najlepsza opcja do sterowania naszym komputerem.



Bezprzewodowy przełącznik komputera

Jak zrobić przełącznik bezprzewodowy dla komputera w telefonie komórkowym?

Krok 1: Zbieranie komponentów

Aby wykonać dowolny projekt, trzeba wiedzieć, jakie są podstawowe komponenty potrzebne do jego wykonania. Zatem doskonałym podejściem przed rozpoczęciem pracy jest sporządzenie pełnej listy wszystkich komponentów, aby zaoszczędzić czas i uniknąć ryzyka utknięcia w środku projektu. Pełna lista wszystkich łatwo dostępnych na rynku komponentów znajduje się poniżej:



  • ESP32
  • Tranzystor 2N2222 NPN
  • Rezystor 1k-ohm (x2)
  • Moduł przekaźnika 5 V.
  • Przewody łączące

Krok 2: Oprogramowanie do zainstalowania

Ponieważ zamierzamy zrobić przełącznik bezprzewodowy, będziemy potrzebować przycisku, aby go włączać i wyłączać. Chcemy używać telefonu komórkowego do obsługi tego przycisku, więc będziemy musieli opracować do tego aplikację. Najwygodniejszą aplikacją jest aplikacja na Androida. Aby korzystać z tej aplikacji, musimy zainstalować dwa programy. Oba są wymienione poniżej:



  • Android Studio.
  • JAVA JDK.

Krok 3: Instalowanie Android Studio

Przed zainstalowaniem Android Studio zainstalujemy JAWA JDK pierwszy. Aby to zainstalować, kliknij exe plik pobrany z powyższego łącza i klikaj dalej, aż zostanie pomyślnie zainstalowany. Teraz wykonaj następujące kroki, aby wiersz polecenia rozpoznawał java jako polecenie zewnętrzne lub wewnętrzne.



  1. otwarty Panel sterowania i kliknij System i bezpieczeństwo .
  2. Kliknij System .

    System

  3. Kliknij Zaawansowane ustawienia systemu a następnie kliknij Zmienne środowiskowe .

    Zaawansowane ustawienia systemu

  4. W sekcji Zmienna systemowa kliknij ścieżkę, a następnie kliknij edytuj. Nowy Edytuj zmienną środowiskową pojawi się okno.

    Edytuj ścieżkę



  5. Teraz idź do C: Program Files Java w komputerze. Otwórz folder JDK, kliknij folder bin, a następnie skopiuj ścieżkę do tego folderu.

    Ścieżka do folderu bin

  6. Teraz przejdź do pola Edytuj zmienną środowiskową i kliknij nową, aby utworzyć nową zmienną. Wklej ścieżkę skopiowaną w powyższym kroku do nowej zmiennej i zapisz ją.
  7. Teraz, aby potwierdzić, czy jest całkowicie zainstalowany, otwórz wiersz polecenia i wpisz java - wersja .

    Wersja JAVA

Teraz, gdy pomyślnie zainstalowałeś Java JDK na swoim komputerze. Teraz zainstalujmy Android Studio na Twoim komputerze. Instalacja tego oprogramowania jest bardzo łatwa. Musisz otworzyć pobrany plik i klikać dalej, aż oprogramowanie zostanie w pełni zainstalowane.

Krok 4: Połączenie z Firebase

Teraz, gdy zainstalowaliśmy Android Studio, uruchommy go i stwórzmy nowy projekt, aby połączyć go z firebase. Aby to zrobić, wykonaj następujące kroki.

1. Uruchom Android Studio i stwórz nowy projekt, klikając Pusta aktywność .

Nowy projekt

2. Teraz nazwij swój projekt jako computerSwitc, Wybierz Kotlin jako język i wybierz minimalny poziom API zgodny z telefonem komórkowym.

Nowy projekt

3. ponieważ zamierzamy używać internetu do kontrolowania pinów raspberry pi. W naszej aplikacji ustawimy uprawnienia dostępu do lokalnego Wi-Fi. Aby to zrobić, przejdź do aplikacja> manifesty> AndroidManifest.xml i dodaj następujące polecenie.

 

Zezwolenie na Internet

3. Teraz kliknij n Przybory. Pojawi się menu rozwijane, z którego wybierz Firebase.

Połączenie Firebase

4. Po prawej stronie ekranu pojawi się duże menu, które będzie zawierało menu prawie wszystkich usług świadczonych przez firebase. Ale w tej chwili naszym głównym celem jest baza danych czasu rzeczywistego. Więc kliknij Baza danych czasu rzeczywistego. Link do „ Zapisz i pobierz dane ' pojawi się. Kliknij ten link.

Asystent Firebase

5. Połącz się Połącz się z Firebase przycisk. Przeniesie Cię do domyślnej przeglądarki internetowej. Najpierw poprosi Cię o zalogowanie się na konto Gmail. Następnie kliknij Dodaj bazę danych czasu rzeczywistego do swojej aplikacji i zaakceptuj zmiany.

6. Teraz przejdź do Konsola Firebase . Tam zobaczysz już wykonany projekt. Logo Androida na ikonie tego projektora oznacza, że ​​należy on już do aplikacji na Androida.

7. Z Rozwijać menu, które pojawi się po lewej stronie ekranu, wybierz Baza danych. Przycisk Utwórz bazę danych pojawi się po prawej stronie. Kliknij ten przycisk.

8. Pojawi się menu z pytaniem o ustawienie trybu bazy danych. Kliknij Tryb testowy a następnie kliknij Włączyć .

Tryb testowy

9. Teraz naprawdę ważnym krokiem do zapamiętania jest zmiana Cloud Firestore do Baza danych czasu rzeczywistego. Aby to zrobić, kliknij przycisk pokazany na poniższym obrazku i zmień żądaną opcję.

Firebase w czasie rzeczywistym

10. Teraz kliknij Zasady i zmień konfiguracje na Prawdziwe . Gdy wszystko będzie gotowe, kliknij Publikować .

Zmiana konfiguracji

11. Jedyną rzeczą, którą musisz zrobić poza podłączeniem do firebase, jest aktualizacja wersji bazy danych. W tym celu kliknij iść do dokumenty . Teraz kliknij przewodniki i wybierz Przewodniki dotyczące Androida z listy, która pojawi się na ekranie. Przewiń w dół, aż pojawi się tabela. Poszukaj bazy danych czasu rzeczywistego w tej tabeli i znajdź jej wersję. w moim przypadku tak 19.1.0

Wersja

12. Kliknij Gradle Scripts, menu po lewej stronie ekranu. Następnie wybierz wybudowany. gradle (moduł: aplikacja). Teraz w kodzie wyszukaj wersję bazy danych czasu rzeczywistego i zastąp ją nową.

Wersja Firebase

13. Teraz zsynchronizuj projekt, klikając przycisk synchronizacji pojawiający się w górnej części ekranu.

Krok 5: Tworzenie układu

Teraz, gdy nasza aplikacja na Androida jest połączona z firebase, utwórzmy układ naszej aplikacji, który będzie używany przez użytkownika do włączania i wyłączania komputera. Aby utworzyć układ, przejdź do aplikacja> res> układ> activity_main.xml. gdzie zaprojektujemy układ. Skopiuj podany poniżej kod, aby wyświetlić tekst.

 

Wygląd naszej aplikacji będzie wyglądał następująco:

Układ aplikacji

Krok 6: Backend Coding w Kotlin

Ponieważ stworzyliśmy frontend aplikacji, przejdźmy o krok do przodu i napiszmy kod zaplecza, aby połączyć go z bazą firebase. Podłączyliśmy przełącznik, który wyśle ​​0 do bazy danych Firebase, gdy jest w stanie wyłączenia, i wyśle ​​1 do bazy danych Firebase, gdy jest w stanie włączenia.

Teraz w lewym rogu kliknij aplikacja> java> com.example.computerswitch> main_activity, i dodaj następujący kod do swojej klasy. Jeśli wystąpi jakikolwiek błąd biblioteki, naciśnij ALT + ENTER aby automatycznie dołączyć tę bibliotekę.

var database = FirebaseDatabase.getInstance () var myRef = database.reference internal lateinit var btnSwitch: Switch override fun onCreate (saveInstanceState: Bundle?) {super.onCreate (saveInstanceState) setContentView (R.layout.activity_main) btnSwitch = find. id.switch2) jako przełącznik btnSwitch.setOnClickListener {if (btnSwitch.isChecked) {myRef.child ('switch'). setValue ('1')} else {myRef.child ('switch'). setValue ('0') }}}

Na poniższym obrazku widać, że jeśli przełącznik jest włączony, do bazy danych Firebase zostanie przesłana wartość „1”. Podobnie, „0” zostanie tutaj zastąpione, gdy przełącznik zostanie wyłączony.

Wartość

Krok 7: Pierwsze kroki z Arduino

Jeśli wcześniej nie pracowałeś na Arduino IDE, nie martw się, ponieważ poniżej pokazano krok po kroku, jak skonfigurować Arduino IDE.

  1. Pobierz najnowszą wersję Arduino IDE ze strony Arduino.
  2. Podłącz swoją płytę Arduino do komputera i otwórz Panel sterowania. Kliknij Sprzęt i dźwięk. Teraz otwarte Urządzenia i drukarka i znajdź port, do którego jest podłączona twoja płyta. W moim przypadku tak COM14, ale jest inaczej na różnych komputerach.

    Znajdowanie portu

  3. Kliknij Plik, a następnie kliknij Preferencje. Skopiuj poniższy link w Dodatkowy adres URL menedżera zarządu. „ https://dl.espressif.com/dl/package_esp32_index.json ”

    Preferencje

  4. Teraz, aby używać ESP32 z Arduino IDE, musimy zaimportować specjalne biblioteki, które pozwolą nam wypalić kod na ESP32 i go używać. te dwie biblioteki są dołączone w linku podanym poniżej. Aby dołączyć bibliotekę, gotowe Szkic> Dołącz bibliotekę> Dodaj bibliotekę ZIP . Pojawi się pole. Znajdź folder ZIP na komputerze i kliknij OK, aby dołączyć foldery.

    Uwzględnij bibliotekę

  5. Teraz gotowe Szkic> Dołącz bibliotekę> Zarządzaj bibliotekami.

    Zarządzaj bibliotekami

  6. Otworzy się menu. Na pasku wyszukiwania wpisz Arduino JSON. Pojawi się lista. zainstalować Arduino JSON autorstwa Benoit Blanchon.

    Arduino JSON

  7. Teraz kliknij Przybory. Pojawi się menu rozwijane. Ustaw tablicę na Moduł deweloperski ESP.

    Tablica nastawcza

  8. Kliknij ponownie menu Narzędzie i ustaw port, który obserwowałeś wcześniej w panelu sterowania.

    Ustawianie portu

  9. Teraz prześlij kod, który znajduje się w linku poniżej i kliknij przycisk przesyłania, aby wypalić kod w pliku Mikrokontroler ESP32 .

    Przekazać plik

Więc teraz, kiedy prześlesz kod, może wystąpić błąd. Jest to najczęstszy błąd, który może wystąpić, jeśli używasz nowej wersji Arduino IDE i Arduino JSON. Poniżej przedstawiono błędy, które mogą pojawić się na ekranie.

W pliku zawartym z C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, z 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 to klasa z ArduinoJson 5. Odwiedź arduinojson.org/upgrade, aby dowiedzieć się, jak zaktualizować swój program do ArduinoJson wersja 6 StaticJsonBuffer jsonBuffer; ^ W pliku zawartym z C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, z 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 to klasa z ArduinoJson 5. Odwiedź arduinojson.org/upgrade, aby dowiedzieć się, jak zaktualizować program do ArduinoJson wersja 6 zwraca StaticJsonBuffer (). ParseObject (_data); ^ Znaleziono wiele bibliotek dla 'WiFi.h' Używany: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFi Nieużywane: C:  Program Files ( x86)  Arduino  libraries  WiFi Korzystanie z biblioteki WiFi w wersji 1.0 w folderze: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFi Korzystanie z biblioteki IOXhop_FirebaseESP32-master w folderze: C:  Users  Pro  Documents  Arduino  libraries  IOXhop_FirebaseESP32-master (legacy) Korzystanie z biblioteki HTTPClient w wersji 1.2 w folderze: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  HTTPClient Korzystanie z biblioteki WiFiClientSecure w wersji 1.0 w folderze: C:  Users  Pro  AppData  Local  Arduino15  packages  esp32  hardware  esp32  1.0.2  libraries  WiFiClientSecure Korzystanie z biblioteki ArduinoJson pod adresem wersja 6.12.0 w folderze: C:  Users  Pro  Documents  Arduino  libraries  ArduinoJson status wyjścia 1 Błąd kompilacji dla modułu deweloperskiego ESP32.

Nie ma się czym martwić, ponieważ możemy wyeliminować te błędy, wykonując kilka prostych kroków. Te błędy pojawiają się, ponieważ nowa wersja Arduino JSON ma inną klasę zamiast StaticJsonBuffer. To jest klasa JSON 5. Możemy więc po prostu wyeliminować ten błąd, obniżając wersję Arduino JSON naszego Arduino IDE. Po prostu przejdź do Szkic> Dołącz bibliotekę> Zarządzaj bibliotekami. Szukaj Arduino JSON autorstwa Benoit Blanchon które zainstalowałeś wcześniej. Najpierw odinstaluj go, a następnie ustaw jego wersję na 5.13.5. Teraz, gdy ustawiliśmy starą wersję Arduino JSON, zainstaluj ją ponownie i ponownie skompiluj kod. Tym razem Twój kod zostanie pomyślnie skompilowany.

Aby pobrać kod, Kliknij tutaj.

Krok 8: Montaż obwodu

Teraz, gdy nasza aplikacja jest już gotowa i w pełni funkcjonalna, zobaczmy, jak podłączymy obwód do komputera.

  1. Przede wszystkim weź centralę i podłącz wszystkie wtyczki systemu komputerowego, które się w niej znajdują, tj. Monitor, drukarka, CPU, PSU itp.
  2. Teraz weź przełącznik łączący tej płytki i wykonaj cięcie między przewodem, aby dwa przewody, czarny i czerwony, były widoczne od wewnątrz.
  3. Wyjmij czerwony przewód i odetnij go od środka. Podłącz jeden koniec przewodu do punktu NO modułu przekaźnikowego, a drugi koniec do punktu COM punktu przekaźnikowego. (nie rób nic z czarnym przewodem)
  4. Teraz zamocuj ESP32 w płytce stykowej i zasil go za pomocą baterii 5V. Podłączyć Vcc i masę modułu przekaźnika na płytce stykowej, z dodatnimi i ujemnymi zaciskami akumulatora.
  5. Wykonaj następującą konfigurację z tranzystorem na płytce stykowej.

Krok 9: Kod

Kod jest dość prosty, ale mimo to został pokrótce wyjaśniony poniżej.

1. Na początku dostępne są dwie biblioteki, dzięki czemu Firebase może być używany z ESP32.

#include #include

2. Następnie podawane są informacje o bazie danych firebase i połączeniu Wi-Fi oraz deklarowany jest pin ESP, który będzie używany z modułem przekaźnikowym.

#define FIREBASE_HOST 'xxxxx' // zamień go na swój host firebase #define FIREBASE_AUTH 'xxxxx' // zamień go na swój firebase auth #define WIFI_SSID 'xxxxx' // zamień go na swój WIFI SSID # zdefiniuj WIFI_PASSWORD 'xxxxx' // zastąp je hasłem do sieci Wi-Fi int swi = 34; // podłącz pin34 ESP z modułem przekaźnika

3. void setup () to funkcja, która działa tylko raz, gdy obwód jest włączony lub naciśnięty jest przycisk Włącz. Tutaj jest napisany kod, aby podłączyć kartę ESP do WIFI. Pin ESP używany z modułem przekaźnikowym jest tutaj również zadeklarowany jako WYJŚCIE.

void setup () {Serial.begin (115200); pinMode (swi, OUTPUT); // połącz się z Wi-Fi. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ('łączenie'); while (WiFi.status ()! = WL_CONNECTED) {Serial.print ('.'); opóźnienie (500); } Serial.println (); Serial.print ('connected:'); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }

Cztery. void loop () to funkcja, która jest wykonywana wielokrotnie w pętli. Tutaj odczytywana jest wartość z bazy firebase. Jeżeli ta wartość będzie równa „1”, to do modułu przekaźnika zostanie wysłany sygnał WYSOKI i komputer włączy się. Gdy ta wartość wynosi „0”, komputer zostanie wyłączony.

void loop () {// odczyt wartości if (Firebase.getFloat ('switch') == 1) {digitalWrite (swi, HIGH); } else {digitalWrite (swi, LOW); } // obsłuż błąd if (Firebase.failed ()) {Serial.print ('ustawienie / numer nie powiodło się:'); Serial.println (Firebase.error ()); powrót; } opóźnienie (1000); }