ESP8266 i sterowanie przekaźnikiem przy pomocy Smartfona

ESP8266 i sterowanie przekaźnikiem przy pomocy Smartfona

Przedmiotem tego artykułu będzie uruchomienie mikrokontrolera ESP8266 w taki sposób aby można było za pośrednictwem smartfona sterować podłączonym do ESP przekaźnikiem. W drugim artykule postaram się zaprezentować podobne rozwiązanie z tym, że zamiast mikrokontrolera ESP8266 w roli głównej wystąpi Raspberry PI w wersji B+.

A więc zaczynamy….

Co będzie potrzebne ?

  1. Oczywiście Smartfon, który powinien pracować pod kontrolą systemu Android (minimalna wersja 3.1.x) lub iPhone z iOS min. 6.1
  2. Moduł ESP8266 w wersji z min. 512KB flash. W artykule będę się posługiwał wersją ESP8266-12 którą  można kupić np. tutaj: http://botland.com.pl/moduly-wifi/3977-modul-wifi-esp-12-esp8266-wersja-smd.html
  3. Konwerter USB/UART dzięki któremu zaprogramujemy ESP. https://botland.com.pl/konwertery-usb-uart-rs232-rs485/4924-konwerter-usb-uart-cp2102-wtyk-usb.html
  4. Adapter PCB do modułów ESP, który można kupić również w nettigo: https://nettigo.pl/products/adapter-pcb-do-modulow-esp
  5. Moduł zasilający 3.3/5V. Ja posłużę się modułem YwRobot, który dostępny jest tutaj: http://propix.com.pl/pl/p/Modul-zasilania-power-module-3.35V-YwRobot/367
  6. Moduł przekaźnikowy. Na potrzeby tego artykułu użyłem wersji, którą miałem dostępną pod ręką czyli YwRobot 4 relay. Tutaj można zakupić 2 kanałowy: http://www.gotronik.pl/modul-2kanalowy-przekaznik-do-avr-arm-arduino-p-1564.html (generalnie wystarczy 1 kanałowy / 1-przekaźnikowy)
  7. Zasilacz 12V
  8. Dwie diody świecące w tym jedna z nich RGB Np.
    http://www.tme.eu/pl/details/hlmp-1503/diody-led-tht-3mm/avago/
    http://www.tme.eu/pl/details/ll-509rgbc-006/diody-led-tht-5mm/lucky-light/ll-509rgbc2e-006/
  9. Dwa mikro-przełączniki.  http://www.tme.eu/en/details/1301.9303/microswitches-tact-pcb/schurter/
  10. Jeden tranzystor. Ja użyłem BC547
  11. Trzy rezystory 100R
  12. Dwa rezystory 10K
  13. Płytka stykowa
  14. Przewody połączeniowe
  15. Kawałek cienkiego drutu

Części

Schemat:

Schemat

 

Pamiętamy aby podłączyć pin TXD modułu ESP do pin-u RXD konwertera USB-SERIAL, a pin RXD modułu ESP do pin-u TXD konwertera. „IN1” podłączamy do modułu przekaźnikowego.

Zaczynamy….

Krok 1.
Lutujemy moduł ESP8266-12 do Adaptera PCB

Przylutowany adapter PCB

Krok 2.
Za pomocą cienkiego drutu tworzymy wyprowadzenia, które umożliwią nam łatwiejsze podłączenie się do wyprowadzeń modułu.

Druty

Krok 3.
Mocujemy moduł ESP na płytce stykowej tak aby piny „GND” i „VCC” trafiły w rząd 25-ty.

Montaż modułu

Montaż modułu

ESP opis wyprowadzeń

Krok 4.
Mocujemy pozostałe elementy

Przed połaczeniem

Krok 5.
Zgodnie ze schematem, łączymy ze sobą wszystkie elementy przy pomocy przewodów połączeniowych.
Ważne. Pomijamy rezystor R1 wraz z podłączeniem do 3.3V ponieważ adapter PCB ma już taki rezystor wraz z podłączeniem do 3.3V na pokładzie. Ponadto GND konwertera USB-SERIAL należy podłączyć do GND modułu zasilania.

 

Połączenie

Krok 6.
Oprogramowanie dla mikrokontrolera. Aby mikrokontroler mógł działać, potrzebny jest odpowiedni firmware. W tym przypadku będzie potrzeby firmware, który można pobrać z GITHUB-a https://github.com/SUPLA/ESP8266/tree/master/socket-firmware
Ważne. Niektóry wersje ESP8266-12 mają zamienione porty GPIO 4 z 5-tym. W takim przypadku należy użyć firmware-u, który będzie z taką „zamianą” współpracował. Jest on dostępny pod adresem:
https://github.com/SUPLA/ESP8266/tree/master/socket-firmware ( wifisocket_54 )
Firmware należy wprowadzić pod następujące adresy pamięci flash:
wifisocket_eagle.flash.bin——–>0x00000
wifisocket_eagle.irom0text.bin—->0x40000

W tym calu należy użyć odpowiedniego oprogramowania, które pozwoli na wgranie firmware-u do mikrokontrolera. Ja użyłem programu „NODEMCU FIRMWARE PROGRAMMER”
https://github.com/nodemcu/nodemcu-flasher

Wersja 32bit: https://github.com/nodemcu/nodemcu-flasher/tree/master/Win32/Release
Wersja 64bit: https://github.com/nodemcu/nodemcu-flasher/tree/master/Win64/Release

Należy wybrać odpowiedni port szeregowy pod który podłączony jest konwerter USB-SERIAL, a następnie wprowadzić pozostałe ustawienia, które widoczne są na poniższych screen-ach.

 

NODEMCU Screenshot

NODEMCU Screenshot

NODEMCU Screenshot

Jeżeli moduł ESP jest już podłączony przez konwerter USB-SERIAL do komputera, a wszystkie powyższe kroki zostały wykonane, można przystąpić do wgrania oprogramowania.

– Podłączamy zasilacz 12V do moduły zasilającego.
– Wciskamy i przytrzymujemy przycisk (mikro-przełącznik) podłączony do portu GPIO0 (ten najbliżej modułu zasilającego), a następnie włączamy zasilanie – cały czas trzymając wciśnięty przycisk.
– Po włączeniu zasilania puszczamy przycisk

W tym momencie dioda RGB powinna się delikatnie (żarzyć) świecić wszystkimi 3-ma kolorami.

Teraz można przystąpić to wgrania firmware-u. W programie NODEMCU klikamy przycisk „Flash” i czekamy, aż pasek postępu osiągnie 100% dla każdego z dwóch plików.

Ważne. Moduł ESP8266 jest bardzo wrażliwy na zakłócenia. W przypadku podłączenia go do płytki stykowej na tzw. „pająka” zdarza się, że nie udaje się wgrać firmware-u za pierwszym razem dlatego czasami konieczne jest kilkukrotne powtórzenie próby wgrania oprogramowania.

Jeżeli próba wprowadzenia Firmware-u zakończyła się sukcesem, możemy odłączyć zasilanie i wyjąć konwerter USB-SERIAL z płytki stykowej. Następnie możemy przejść do kolejnego kroku.

Ważne. Pozostawienie konwertera w płytce stykowej, który nie jest podłączony do włączonego komputera może skutkować tym, że ESP nie wystartuje.

Krok 7.

Konfiguracja ESP. Przed przystąpieniem do konfiguracji należy się zarejestrować w serwisie Polskiego projektu OpenSource o nazwie SUPLA pod adresem https://cloud.supla.org/account/create.
Po zalogowaniu się na cloud.supla.org należy odczytać ustawienia lokalizacji i hasło lokalizacji oraz adres serwera, które widoczne są tuż po zalogowaniu.

Ustawienia lokalizacji

Możemy teraz przystąpić do właściwej konfiguracji modułu ESP.
– Włączamy zasilanie
– Dioda RGB powinna zacząć migać na niebiesko co oznacza, że moduł przeszedł w tryb konfiguracji. Jeżeli doda świeci na czerwono to należy przytrzymać drugi przycisk (najdalej oddalony od modułu zasilającego) przez minimum 5sek. Wtedy w trybie ręcznym moduł powinien przełączyć się w tryb konfiguracji i dioda powinna zacząć migać na niebiesko.
– Z dowolnego komputera z kartą WiFi łączymy się z siecią WiFi o nazwie „SUPLA-ESP8266”
– Następnie otwieramy stronę http://192.168.4.1 i w formularzu, który się wyświetli wprowadzamy dane dostępowe do domowej sieci WiFi, która posiada dostęp do Internetu oraz hasło i identyfikator lokalizacji odczytane z cloud.supla.org

ESP8266 Ustawienia

Klikamy zapisz i możemy ponownie uruchomić moduł poprzez wyłączenie i włączenie zasilania lub poprzez naciśnięcie przycisku (przycisk nr 2 – najdalej położony od modułu zasilającego).

Moduł po zapisaniu nie wyświetla haseł co nie oznacza, że się one nie zapisały.
Poprawne zapisanie się ustawień potwierdzone jest komunikatem „Data Saved’
LAST STATE: określa ostatni stan połączenia z serwerem svr1.supla.org. Jeżeli wprowadzone dane „lokalizacji” były niepoprawne to wracając do konfiguracji możemy odczytać ostatni komunikat.

Po ponownym uruchomieniu, moduł będzie sygnalizował stan za pośrednictwem diody RGB:
– Kolor czerwony: nie ma połączenia z siecią WiFi lub nie uzyskano adresu IP z DHCP
– Kolor niebieski – ciągły: Nawiązano połączenie z siecią WiFi. Uzyskano adres IP lecz moduł nie nawiązał połączenia z serwerem (svr1.supla.org)
– Kolor zielony – Nawiązano połączenie z serwerem. Urządzenie jest gotowe.

Warto zaznaczyć, że przekaźnikiem można również sterować manualnie naciskając przycisk nr 2.

Wszystko podłączone

Krok 8.

Konfiguracja smartfona.
W pierwszej kolejności należy pobrać aplikację ze sklepu AppStore lub Google Play w zależności od posiadanego telefonu. Aplikacje są bezpłatne.

iOS: https://itunes.apple.com/us/app/supla/id996384706?l=en&ls=1&mt=8
Android: https://play.google.com/store/apps/details?id=org.supla.android

Instalujemy aplikację i uruchamiamy.
Tuż po uruchomieniu powinno się od razu pojawić okno ustawień gdzie należy wprowadzić ustawienia odczytane z cloud.supla.org

Ustawienia smartfona

Zapisujemy ustawienia i już możemy sterować przekaźnikiem podłączonym do ESP za pomocą Smartfona.

Finał

GOTOWE :)

Aktualizacja 23.01.2016

Aktualizacja 30.01.2016

Dodano nowy firmware umożliwiający

-Otwieranie furtki
-Otwieranie bramy wjazdowej
-Otwieranie bramy garażowej
-Otwieranie drzwi

https://github.com/SUPLA/ESP8266/tree/master/gate-module-firmware


Gotowy – kompletny moduł oparty o ESP8266 https://www.supla.org/buy/gatemodule

Inne gotowe rozwiązanie również oparte o ESP8266 https://www.supla.org/buy/sonoff

 

Ocena: 4.49/5 (głosów: 97)

Podobne posty

69 komentarzy do “ESP8266 i sterowanie przekaźnikiem przy pomocy Smartfona

Odpowiedz

anuluj

Masz uwagi?