Spisu treści:

Internetowy pilot na podczerwień z Esp8266 (NodeMCU): 4 kroki
Internetowy pilot na podczerwień z Esp8266 (NodeMCU): 4 kroki

Wideo: Internetowy pilot na podczerwień z Esp8266 (NodeMCU): 4 kroki

Wideo: Internetowy pilot na podczerwień z Esp8266 (NodeMCU): 4 kroki
Wideo: Pilot do sterowania klimatyzacją na bazie ESP-8266 2024, Listopad
Anonim
Internetowy pilot na podczerwień z Esp8266 (NodeMCU)
Internetowy pilot na podczerwień z Esp8266 (NodeMCU)

Problem

Na stole w salonie znajdują się trzy piloty. Aby oglądać ulubiony program, musisz dokładnie wykonać specjalną sekwencję naciśnięć przycisków na co najmniej dwóch z nich. A twoja współlokatorka, mama, dziewczyna nigdy tego nie pamięta…

Rozwiązanie

Kupujesz Logitech Harmony;-)

Ale jeśli nie chcesz wydawać tych pieniędzy, możesz zbudować coś podobnego za mniej niż 10 $. Podłączając diodę podczerwieni do ESP8266 (tak jak Arduino, ale z WiFi na pokładzie) możemy łatwo skonstruować urządzenie, z którym możemy sterować urządzeniami z małą stroną internetową z dowolnego komputera lub telefonu komórkowego w sieci WiFi.

Czego potrzebujesz

  • Płytka rozwojowa NodeMCU (wysyłane z Azji za <5 €)
  • Czujnik podczerwieni (OS-1838B lub TSOP38238)
  • Dioda podczerwieni
  • Rezystor 100Ω
  • Tranzystor NPN (tj. 2N2222)
  • mały kawałek prototypowej płytki drukowanej
  • czteropinowe złącze pasujące do NodeMCU (tj. zasilacz dyskietek)

Jeśli masz starego pilota, prawdopodobnie możesz użyć diody IR i tranzystora z niego.

Krok 1: Montaż sprzętu

Montaż sprzętu
Montaż sprzętu
Montaż sprzętu
Montaż sprzętu
Montaż sprzętu
Montaż sprzętu
Montaż sprzętu
Montaż sprzętu

Złóż komponenty na małym kawałku na małym kawałku prototypowej płytki drukowanej i połącz komponenty, jak pokazano na schemacie.

W zależności od diody LED rezystor ochronny może nie być konieczny. Jeśli okaże się, że musisz naprawdę dobrze celować lub być naprawdę blisko urządzenia, prawdopodobnie możesz je usunąć.

Wszystko podłączyłem do wtyczki, którą wyjąłem z zepsutego zasilacza PC (tej do dyskietki).

Krok 2: Instalacja aplikacji na NodeMCU

Skonfiguruj swoje środowisko do kompilacji programów dla esp8266 za pomocą Arduino IDE: [https://github.com/espressif/arduino-esp32

Sklonuj lub Pobierz kod źródłowy aplikacji z repozytorium github

W Arduino IDE zainstaluj bibliotekę IRremoteESP8266 (Menu: Sketch -> Manage Libraries). Skopiuj plik config.h.example i nazwij go config.h. Musisz przynajmniej określić SSID i hasło swojego WiFi w config.h, aby móc połączyć się z serwerem internetowym. Arduino Sketch powinien teraz być skompilowany i przesłany. Podłącz utworzoną tablicę zaciskową do 3V, uziemienia, D5, D6.

Jeśli wszystko zadziałało i uruchomisz układ podłączony do Arduino IDE, na monitorze szeregowym powinien zostać wyświetlony adres IP, na którym działa serwer.

Krok 3: Dostosowywanie strony HTML do sterowania NodeMCU

Proces w tym kroku jest również pokazany na filmie.

W katalogu z kodem źródłowym znajduje się również 'ir.html'. Jeśli jest poprawnie skonfigurowany, będzie "rozmawiał" z NodeMCU.

Pierwszym krokiem jest więc poinformowanie pliku, pod jakim adresem może znaleźć NodeMCU. Otwórz plik ir.html w edytorze tekstu i wyszukaj wiersz wyglądający tak:

zmienna host = '192.168.2.121';

Zmień wartość między znacznikami, aby odpowiadała adresowi serwera WWW wydrukowanego na monitorze szeregowym po uruchomieniu.

Nagrywanie Naciśnij przycisk nagrywania Skieruj pilota na czujnik i naciśnij żądany przycisk na pilocie. Następnie pod przyciskiem nagrywania powinna pojawić się długa lista numerów. To są czasy sygnału dla tego przycisku, który nacisnąłeś na pilocie.

Konfigurowanie poleceń

Teraz szukamy sposobu na wysłanie sygnału z tymi taktowaniami z samego chipa. W tym celu musimy dodać czasy, które właśnie zarejestrowaliśmy, do listy znanych sygnałów. Skopiuj wartości (włącznie z nawiasami kwadratowymi), które dał ci proces nagrywania i wstaw nową linię z nazwą i wartościami w pliku ir.html po linii, która wygląda tak:

var sygnały = {

"pgr1 btn": [1, 2, 3], Zastąp 1, 2, 3 zarejestrowanymi wartościami i nie zapomnij o przecinku po otaczających nawiasach. Aby faktycznie dodać przycisk, musimy również dodać polecenie. Polecenie może składać się z wielu sygnałów, ponieważ być może będziemy musieli „nacisnąć” kilka przycisków na pilocie, tj. 1 i 2, aby przejść do kanału 12 w telewizorze. Pozwala to również na sterowanie wieloma urządzeniami za pomocą jednego polecenia. Poszukaj linii wyglądającej tak

"Włącz/wyłącz dźwięk": ["wycisz"], Skopiuj tę linię i zmień tekst „Włącz/wyłącz dźwięk”, aby dopasować go do tego, co chcesz wyświetlić na nowym przycisku. Zmień nazwę"mute"na nazwędodawanego sygnału. Tak więc wynikiem może być:

"HBO": ["prg 1 mld"], Jeśli chcesz wykonać wiele sygnałów, dodaj je w ten sposób:

"HBO": ["prg 1 btn", "prg 2 btn"],

Krok 4: Użycie

Po wstawieniu żądanych sekwencji sygnałów do pliku HTML można go skopiować na dowolny komputer lub urządzenie mobilne, które ma przeglądarkę i jest podłączone do tego samego Wi-Fi co NodeMCU.

Zalecana: