wemos

Początki z internet of things

W mieszkaniu, które aktualnie wynajmuję jest nieergonomiczny rozkład włączników do światła. Nie jestem w stanie ustawić mebli w taki sposób żeby można było wieczorem wyłączyć światło i bez obijania o nic przemieścić się do łóżka. Muszę pamiętać o tym żeby wziąć na przykład telefon, którym oświetlę sobie drogę do łóżka. Nie podobało mi się ta sytuacja i w związku z nią wpadłem na pomysł jak to zmienić.

Postanowiłem że podłączę lampy do WiFi i będę nimi sterował z telefonu. W ten sposób będę mógł już z łóżka wyłączać światło i nie będę już obijał się o meble. Zaczerpnąłem trochę wiedzy i postanowiłem że do każdej lampy dołączę mały układ składający się z mikroprocesora z anteną WiFi, przekaźnika (urządzenie, które zamyka obwód 230V) i zasilacza. Taki zestaw pozwoli mi na bezprzewodowe sterowanie każdym urządzeniem sieciowym.

Wiedziałem że potrzebuję mikroprocesora esp8622 bo jest tani i ma na pokładzie WiFi. Problem był tylko taki, że występuje on w przeróżnych wersjach i szukałem tej odpowiedniej. Kolejny problem to różnica napięć między 3V procesora i 5V przekaźnika. Musiałem zaprojektować całość tak, żeby upchnąć tam dzielnik napięcia. Podczas poszukiwań natrafiłem na rozwiązanie idealne dla mnie.

Firma WeMos ma w swojej ofercie mikrokontrolery oraz peryferia do nich takie jak przycisk, termometr czy przekaźnik. Wszystkie te urządzenia zaprojektowane zostały w taki sposób że montuje się je jedno na drugie poprzez złącza goldpin. W ten sposób można na przykład postawić przekaźnik na mikroprocesorze i nie martwić się już o różnice w napięciach. Wszystkim zajęli się projektanci z wyżej wymienionej firmy.

Zamówiłem sobie dwa mikroprocesory i dwa przekaźniki. Do mikroprocesorów dołączany jest zestaw złączy goldpin pozwalający na podłączenie przeróżnych peryferiów, nie trzeba kupować ich oddzielnie. Poczekałem około trzech tygodni bo zamówienie jechało do mnie z Chin.  Oto co dostałem:

Zapakowane esp8622
Rozpakowane esp8622
Esp8622
Esp8622
Przekaźnik
Esp8622 z przekaźnikiem
Esp8622 z przekaźnikiem

Tak zmontowany zestaw wystarczy podłączyć do źródła zasilania 5V i do obwodu 230V. Zasilane można dostarczyć poprzez wbudowane złącze micro USB z ładowarki do telefonu bądź przylutowując zasilacz bezpośrednio do złączy 5V i GND na układzie. Mikroprocesor programuje się przez to samo złącze usb.

Esp8622 programuje się albo w Lua używając zainstalowanego na nim już środowiska NodeMCU albo w C przy użyciu Arduino IDE. Oba rozwiązania pozwalają na zaimplementowanie ciekawych funkcji w kilku linijkach. Na stronie NodMCU pokazano przykład serwera www napisanego w 7 liniach. Użyłem obu języków oprogramowując esp8622 kiedy zrobiłem termometr WiFi. Napisałem wtedy tą samą funkcjonalność dwukrotnie w ramach ćwiczenia.

Teraz czekam na zasilacze do telefonów, które zamówiłem już w Polsce. Mam zamiar rozebrać je i przylutować do układu. Opiszę to co zrobiłem i umieszczę tu kod kiedy tylko projekt ruszy do przodu.

Wszystkie części kupiłem na aliexpress z tego sklepu. Płaci się tam przez Płatności24 i jeszcze nigdy nie miałem z niczym problemu. Portal działa tak, że pieniądze są wysyłane do sprzedawcy dopiero kiedy kupujący potwierdzi że towar zgodny z opisem dotarł do niego.

5 myśli na temat “Początki z internet of things

  1. fajny pomysł, kilka pytań:
    1. jak zamierzasz dostarczyć napięcie do zasilacza?
    2. zamierzasz udostępnić kod do zaprogramowania wyłącznika?
    3. nie sądzisz że ładowarki telefoniczne będą zaburzać pracę procesora (ładowarki dają prąd impulsowy nie sinus)

    1. Hej,

      zasilanie układu będzie z tego samego kabla, na którym teraz wisi lampa. Kod zamierzam wrzucić na github/bitbucket i udostępnić tutaj. Ładowarki pobierają prąd impulsowo a na wyjściu jest prąd stały.

    1. Niestety projekt został wstrzymany. Praca nad nim wymaga douczenia się nowych technologii nie związanych z moją pracą zawodową a na to nie mam aktualnie czasu. Nie będę mógł do niego wrócić w tym roku. Ożywię go w pierwszych miesiącach przyszłego roku.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *