Skocz do zawartości

Przeszukaj forum

Pokazywanie wyników dla tagów 'NodeMCU'.

  • Szukaj wg tagów

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj wg autora

Typ zawartości


Kategorie forum

  • Elektronika i programowanie
    • Elektronika
    • Arduino i ESP
    • Mikrokontrolery
    • Raspberry Pi
    • Inne komputery jednopłytkowe
    • Układy programowalne
    • Programowanie
    • Zasilanie
  • Artykuły, projekty, DIY
    • Artykuły redakcji (blog)
    • Artykuły użytkowników
    • Projekty - roboty
    • Projekty - DIY
    • Projekty - DIY (początkujący)
    • Projekty - w budowie (worklogi)
    • Wiadomości
  • Pozostałe
    • Oprogramowanie CAD
    • Druk 3D
    • Napędy
    • Mechanika
    • Zawody/Konkursy/Wydarzenia
    • Sprzedam/Kupię/Zamienię/Praca
    • Inne
  • Ogólne
    • Ogłoszenia organizacyjne
    • Dyskusje o FORBOT.pl
    • Na luzie
    • Kosz

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj po ilości...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Znaleziono 6 wyników

  1. Cześć, Niedawno zacząłem się bawić trochę elektroniką i obecnie próbuje zrealizować jeden projekt oparty na ESP8266. Chciałem podłączyć jeden sensor ( dokładnie taki ) do płytki NodeMCU. Chciałbym aby płytka była zasilana przez USB. Mam mały problem z zasilaniem sensora, zgodnie ze specyfikacją może on działać na zasilaniu 10-30V, maksymalnym prądzie do 200mA oraz minimalnym 15mA. Output pinu VIN przy zasilaniu całej płytki przez USB powinien wynosić ok. 5V a natężenie nie powinno przekraczać 500mA. Chciałem zastosować przetwornik step-up (dokładnie taki), który podwyższy napięcie do 12V i takim napięciem zasilać sensor. Czy jest to dobry plan ? Jestem dość mocno początkujący, a nie mogłem znaleźć nigdzie przykładu tego typu zastosowania z pinem VIN. Wielkie dzięki ! :)
  2. Dzień dobry, Zbudowałem prostego pilota, który ma za zadanie sterować kilkoma urządzeniami w pokoju rozsyłając sygnał IR. Schemat projektu wygląda następująco: Aktualnie pilot działa gdy nadajnik jest skierowany w stronę urządzenia oraz znajduje się w odległości nie większej niż 2 metry. Co powinienem zmienić w projekcie, aby uzyskać możliwie jak największy zasięg pilota?
  3. Po kursie Arduino chcesz nauczyć się czegoś jeszcze? Albo chcesz zrobić inteligenty dom? A może Arduino po prostu ci nie wystarcza - na to wszystko jest rozwiązanie! ESP8266 to wydajny i tani mikrokontroler. Znajdziemy go na wielu płytkach, od małego 01 na NodeMCU kończąc. Dzisiaj zobaczymy jakie są rodzaje płytek, co w sobie ukrywa kostka mikrokontrolera, oraz spróbujemy przygotować środowisko i wgrać Blinka. Niestety, tak nie robimy - tylko zewrzemy piny. Spis treści serii artykułów: 1. Omówienie, i przygotowanie środowiska 2. Zapoznanie z nowym środowiskiem, praca jako Arduino, prosty serwer WWW 3. Przyspieszony kurs na webmastera 4. Wykresy, zapis do SPIFFS, mini smart-dom 5. Odbiór danych z przeglądarki, stałe IP, łączenie modułów ESP Ten wpis brał udział konkursie na najlepszy artykuł o elektronice lub programowaniu. Sprawdź wyniki oraz listę wszystkich prac » Partnerem tej edycji konkursu (marzec 2020) był popularny producent obwodów drukowanych, firma PCBWay. Możliwości ESP8266 Uznałem, że najlepiej będzie zestawić NodeMCU v3 z Arduino UNO. Najważniejsze informacje podałem w tabeli. Pamiętamy, że ESP pracuje na napięciu 3.3v. Kiedy podłączałem do 5V (nie róbcie tego w domu) się tylko grzał, ale lepiej tego nie róbcie. ESP ma także pamięć FLASH w oddzielnej kostce - co pozwala na dużą jej pojemność (zależy to od wersji modułu). Co więcej, interfejsy możemy zdefiniować na (prawie) każdym pinie. ESP pracuje o wiele szybciej od Arduino - bo aż na 80MHz (z możliwością do 160!), i przede wszystkim ESP jest 32 bitowe. No, i ESP się lekko grzeje, ale to nic złego. Warianty ESP8266 Ten mały mikrokontroler możemy znaleźć na równie małych płytkach, lub znacznie większych i rozbudowanych modułach. Jednym z mniejszych, samodzielnych modułów jest ESP12. Posiada wiele wyprowadzeń, lecz nie jest (nawet z przejściówką) zbyt przyjazny dla płytki stykowej. Posiada natomiast aż 4MB pamięci FLASH (wersja ESP12F). Będzie to optymalny wybór dla rozwiązań wbudowanych (np. własnych płytek). ESP12 Jeżeli natomiast szukamy czegoś równie małego, ale bardziej przyjaznego dla nas, tutaj nadchodzi ESP01. Ten mały modulik ma niestety mniej pamięci (niebieska wersja 512kB, czarna 1MB), oraz tylko 8 wyprowadzonych pinów - lecz do konkretnego zastosowania, np. gniazdka z przekaźnikiem, wystarczy. ESP01 (niebieski) ESP03 i ESP07 to uboższe wersje ESP12, ale posiadają ceramiczną antenę - a ESP07 nawet złącze do zewnętrznej anteny. ESP07 Pozostałe moduły rzadko się spotyka, różnią się jedynie ilością wyprowadzeń, rozmiarem, i sposobem montażu. Przygotowanie ESP do programowania W zależności od tego, jaki moduł wybrałeś, będziesz musiał albo przylutować przewody do jego wyprowadzeń, lub podłączyć się przewodami do płytki stykowej. Dlatego na początek nauki, najlepiej zakupić NodeMCU (płytkę deweloperską z ESP12 na pokładzie), Wemos (troszkę mniejsze płytki z ESP12) - mają wszystko wbudowane. Jeżeli taką płytkę wybrałeś, możesz pominąć ten krok. Mając "surowe" ESP12 lub 01, musisz je odpowiednio podłączyć. Połączenie ESP01 z konwerterem USB ↔ UART. Rozpiska pinów dla ESP01. Do tego będziemy potrzebować dwóch przycisków tact switch, kondensatora elektrolitycznego (z zakresu 100-1000µF), dwóch rezystorów 10kΩ, przewodów, oraz oczywiście ESP i konwertera. Pokazałem to na przykładzie ESP01, ale każdy ESP też ma takie wyprowadzenia: pin CH_PD łączymy na stałe do napięcia zasilania przez rezystor 10kΩ pin RST podciągamy do VCC rezystorem 10kΩ, oraz podpinamy przycisk zwierający do masy pin GPIO0 podpinamy do przycisku zwierającego z masą między VCC a GND dajemy kondensator pin RX konwertera łączymy z pinem TX ESP, a pin TX konwertera z pinem RX ESP piny VCC i GND ESP łączymy z pinami VCC i GND konwertera napięcie na konwerterze ustawiamy na 3.3V! Na NodeMCU także znajdziemy dwa przyciski. Przycisk RST odpowiada ze reset mikrokontrolera - tak samo jak w Arduino. Ale co robi przycisk PRG? Otóż, jeżeli na pin GPIO0 podamy logiczne 0 podczas startu mikrokontrolera, wprowadzimy go w tryb programowania. Dzięki temu będziemy mogli wgrać do niego nasz kod. Jeżeli nie mamy zainstalowanych sterowników dla konwertera (np. CH340), powinniśmy je pobrać i zainstalować. Przygotowanie środowiska ESP możemy programować na dwa sposoby, w języku lua - oraz klasycznie, jak arduino, w c++. Opiszę wam sposób jak programować ESP jako Arduino - a do tego potrzebne będzie Arduino IDE. Jeżeli jeszcze takowego nie mamy, pobieramy najnowszą wersję stąd, po czym instalujemy. Dokładny proces instalacji został opisany na kursie Arduino - jeżeli mamy już zainstalowane środowisko, uruchamiamy je, a następnie przechodzimy do zakładki Plik → Preferencje. Powinno nam się otworzyć nowe okno. Szukamy okienka "Dodatkowe adresy URL do menedżera płytek", i wklejamy ten adres: https://arduino.esp8266.com/stable/package_esp8266com_index.json Całość powinna teraz wyglądać tak: Klikamy OK - następnie przechodzimy do zakładki Narzędzia → Płytka → Menedżer płytek Szukamy "esp8266", i klikamy Instaluj. Pobrane zostanie ok. 100MB danych. Od teraz możemy wybrać płytkę ESP jak zwykłą płytkę Arduino. ALE! Jeżeli już kiedyś programowałeś, w innym IDE, zapewne wiesz, że Arduino IDE jest troszkę przestarzałe. Brak autouzupełniania, podpowiedzi, rozbudowanego systemu plików, GIT, i innych funkcji. Jest na to sposób! Dlatego w tym poradniku także opiszę instalację i konfigurację Microsoft Visual Studio Code do pracy z Arduino. Dzięki temu będzie o wiele prościej i wygodniej pisać programy. Pobieramy zatem najnowsze VS Studio Code z tej strony. Jak widać jest ono dostępne na Windowsa, Linuxa, i MacOS. Po pobraniu i zainstalowaniu, powinniśmy zobaczyć taki widok: Jeżeli ciemny motyw nam nie odpowiada, możemy to zmienić naciskając koło zębate (lewy, dolny róg) i "Color Theme" - jasny motyw to Light+. Problemem dla niektórych może być język angielski - lecz w informatyce jest on niezbędny do funkcjonowania. Nie ma problemu aby wrócić do spolszczonego Arduino IDE. Jeżeli jednak chcesz zostać przy VS Code, musimy zainstalować rozszerzenie Platform.io. Dokładniej masz to opisane w tym forbotowym artykule. Po zainstalowaniu Platformio, klikamy magiczny przycisk F1 (musimy go zapamiętać!), i ukazuje nam się to okno: Znajdziemy tam wszystkie funkcje znane z Arduino IDE! Teraz możemy podpiąć nasz konwerter lub NodeMCU do komputera. Tworzymy nowy projekt, i szukamy po lewej pliku platformio.ini. Tam możemy wybrać inną płytkę niż ta, którą wybraliśmy podczas tworzenia projektu. Możemy także ustalić inne rzeczy - więcej w dokumentacji. Otwieramy podfolder src, i szukamy pliku main.cpp. Otworzyło nam się nowe okno - pierwsze co widzimy, to biblioteka Arduino. Dołączy ona wszystkie funkcje z starego IDE. Wklejamy poniższy kod. Największą różnicą ESP w stosunku do Arduino, jest tutaj zapalenie poprzez ustawienie LOW na pinie. #include <Arduino.h> void setup() { pinMode(LED_BUILTIN, OUTPUT); //pin drugi jako wyjście } void loop() { digitalWrite(LED_BUILTIN, LOW); //zapalamy diodę delay(1000); //czekamy sekundę digitalWrite(LED_BUILTIN, HIGH); //gasimy diodę delay(1000); //czekamy sekundę } Teraz przyszedł moment na wgranie szkicu. Klikamy przycisk PRG (gdzieniegdzie opisywany jako FLASH), trzymamy, a następnie RESET, i puszczamy. Dioda powinna raz mrugnąć - oznacza to, że ESP jest gotowe do zaprogramowania. Klikamy zatem znowu F1, a następnie "Platformio: Upload". Cierpliwie czekamy, aż program się wgra. Kiedy zobaczymy ten komunikat: Przyciskamy przycisk reset na naszej płytce - i dioda powinna zacząć mrugać. Na dole, po lewej, na niebieskim pasku są także małe ikonki pozwalające wgrać szkic. Gratulacje, udało Ci się zaprogramować ESP! Możesz je teraz wykorzystać jako moduł Wifi, samodzielne urządzenie, zastosowań jest tyle ile dla Arduino, a nawet i więcej. Udało Ci się także skonfigurować poprawnie VS Code do pracy z płytkami Arduino (i nie tylko!). W następnym odcinku zobaczymy co tak naprawdę oferuje przesiadka na VS Code, oraz spróbujemy połączyć się przez Wifi. Liźniemy nawet trochę HTMLa z CSSem, aby postawić stronę WWW! W przypadku jakichkolwiek problemów, nie bójcie się pisać komentarzy. Spis treści serii artykułów: 1. Omówienie, i przygotowanie środowiska 2. Zapoznanie z nowym środowiskiem, praca jako Arduino, prosty serwer WWW 3. Przyspieszony kurs na webmastera 4. Wykresy, zapis do SPIFFS, mini smart-dom 5. Odbiór danych z przeglądarki, stałe IP, łączenie modułów ESP
  4. Zacznę od tego że jest to mój pierwszy post tutaj także liczę na konstruktywną krytykę Chciałem opisać jak zabrałem się za automatyzowanie swojego pokoju. Zaczęło się od tego, że chciałem kupić sobie jakieś inteligentne gniazdka - lecz na budżet studencki jedno gniazdko w cenie ponad 50zł brzmi niezbyt dobrze. Także zacząłem myśleć jak zrobić to samemu no i oczywiście czy wyjdzie taniej korzystając z tego, że siedzę w tematach związanych z elektroniką i arduino. Jak to działa ? Wykorzystane materiały w tym projekcie to: - Moduł z 4 przekaźnikami - Płytka wemos nodemcu - bądź inna dowolna na bazie esp8266 -Zasilacz 5v ( ja użyłem znalezionego w domu zasilacza - recykling hah ) -przewody silikonowe do łączenia wyjść arduino z wejściami sterowania modułu z przekaźnikami -listwa zaciskowa też w sumie dowolna (także wykorzystana jakaś znaleziona w odmętach szafek) -no i puszka natynkowa do której wszystko się zmieści - wykorzystałem jeszcze także diodę która zapewniała niewielki spadek napięcia z zasilacza ( zasilacz miał 5,2V i układ miał problem z normalną pracą, musiał być zasilany lekko poniżej 5v) Najpierw skonfigurowałem na platformie https://remoteme.org/ połączenie dzięki któremu będę mógł zarządzać zmiennymi ( w tym przypadku odpowiadającymi za zapalanie się poszczególnych lamp w pokoju za pomocą przekaźników). Platformę te wykorzystywałem już wcześniej do projektów także wiedziałem, że jest to coś czego potrzebuję. Zacząłem od dodania nowego urządzenia. Na kolejnych zrzutach ekranu pokażę jak przejść przez proces dodawania/konfiguracji urządzenia. Następnie przechodzimy do zakładki Variables i tworzymy nową zmienną za pomocą "Add" w prawym górnym rogu. Można stworzyć tyle zmiennych ile będzie potrzebnych - w moim przypadku są to 4 zmienne( 4 przekaźniki, oraz 1 dodatkowa do sterowania wszystkimi na raz) Następnie wracamy do zakładki devices aby dodać zmienne do naszego urządzenia(połączyć je) i wygenerować kod. Dodajemy zmienne które mają sterować wyjściami w danym urządzeniu. Łączymy oczywiście urządzenie do naszej sieci domowej w której będzie odbywać się sterowanie i generujemy nowy token. Tutaj możemy pobrać kod, w tym wypadku używać będę płytki nodemcu(wemos) więc jest to na bazie esp8266. Tutaj jest kod wygenerowany przez stronę- bez żadnych modyfikacji SmartLight-download.rar Tutaj kod po lekkich modyfikacjach (dodanie zmiennych pomocniczych/zadeklarowanie wyjść) SmartLights.rar Taki kod wgrałem na płytkę nodemcu Następnie jak połączyć remote me z google assistant zapytacie ? No ja użyłem do tego https://ifttt.com/ Zaczynamy od tworzenia nowego appletu If - czyli czym będziemy wyzwalać działanie. W tym przypadku będzie to komenda otrzymana przez google assistent. Wpisujemy na jaką komendę ma oczekiwać i co ma odpowiedzieć po jej rozpoznaniu. Teraz wybierzemy co ma się stać gdy rozpozna komendę. W tym momencie musimy wrócić na chwilę do remote me, aby wygenerować link który będzie wyzwalać ifttt Zaznaczamy metodę post następnie kopiujemy link i wklejamy w odpowiednie pole w ifttt Teraz trochę o hardware. To jest moduł przekaźnika i przymocowane do niego nodemcu. Połączenia są następujące Nodemcu moduł D0-> IN1 D1-> IN2 D2-> IN3 D3-> IN4 VIN->VCC GND->GND Moduł razem z zasilaczem przymocowałem do płytki miedzianej aby łatwiej było wszystko montować( w moim przypadku przykręcić do drewnianej belki) Tak się prezentuje zmontowany i zamontowany moduł Połączenie jest zrobione tak, że w przypadku problemów z internetem/układem dalej można wł/wył światło za pomocą przełącznika na ścianie. Tutaj jeszcze filmik z testowania Mam nadzieję, że ten opis komuś się przyda Jeżeli czegoś zapomniałem, coś jest źle/za mało wyjaśnione to chętnie poprawię i coś dodam !
  5. Dzień dobry, W swoim pierwszym wpisie, chciałbym przedstawić własną wersję sterownika światła sterowanego za pomocą aplikacji na androida. Sam sterownik składa się z: NodeMCU MODUŁ 2 PRZEKAŹNIKÓW 5V Dwóch przycisków Wspomagając się powyższym rysunkiem, zmontowałem całość korzystając z płytki uniwersalnej. NodeMCU łączy się z lokalną siecią WiFi. Do sterowania wykorzystuje bibliotekę aREST udostępniając funkcje on, off i get przyjmujące jako parametr numer przekaźnika. Kod w wersji skróconej i zdjęcia urządzenia do podejrzenia poniżej. // Rest and esp library #include <ESP8266WiFi.h> #include <aREST.h> // WiFi parameters const char* ssid = "ssid"; const char* password = "password"; const int SWITCH1 = 5; const int SWITCH2 = 16; const int RELAY1 = 12; const int RELAY2 = 14; const unsigned long INTERVAL = 500; bool relay1State = LOW; bool relay2State = LOW; bool switch1State = LOW; bool switch2State = LOW; unsigned long currentMillis = 0; unsigned long switch1Millis = 0; unsigned long switch2Millis = 0; aREST rest = aREST(); const int LISTEN_PORT = 80; WiFiServer server(LISTEN_PORT); int onControl(String value); int offControl(String value); int getControl(String value); void setup(void) { rest.set_id("10"); rest.set_name("Light Switches"); Serial.begin(115200); pinMode(SWITCH1, INPUT); pinMode(SWITCH2, INPUT); pinMode(RELAY1, OUTPUT); pinMode(RELAY2, OUTPUT); digitalWrite(RELAY1, !relay1State); digitalWrite(RELAY2, !relay2State); rest.variable("light1", &relay1State); rest.variable("light2", &relay2State); rest.function("on", onControl); rest.function("off", offControl); rest.function("get", getControl); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("Light Switches connected"); server.begin(); Serial.println("Light Switches address"); Serial.println(WiFi.localIP()); } void loop() { currentMillis = millis(); if (currentMillis - switch1Millis >= INTERVAL && digitalRead(SWITCH1)) { switch1State = !switch1State; if(switch1State==HIGH){ digitalWrite(RELAY1, LOW); relay1State = !LOW; } if(switch1State==LOW){ digitalWrite(RELAY1,HIGH ); relay1State = !HIGH; } switch1Millis = currentMillis; } if (currentMillis - switch2Millis >= INTERVAL && digitalRead(SWITCH2)) { switch2State = !switch2State; if(switch2State==HIGH){ digitalWrite(RELAY2, LOW); relay2State = !LOW; } if(switch2State==LOW){ digitalWrite(RELAY2,HIGH); relay2State = !HIGH; } switch2Millis = currentMillis; } WiFiClient client = server.available(); if (!client) { return; } while (!client.available()) { delay(10); } rest.handle(client); } int onControl(String value) { if (value=="0") { digitalWrite(RELAY1, LOW); relay1State = !LOW; switch1State = HIGH; return 0; } if (value=="1") { digitalWrite(RELAY2, LOW); relay2State = !LOW; switch2State = HIGH; return 0; } return -100; } int offControl(String value) { if (value=="0") { digitalWrite(RELAY1, HIGH); relay1State = !HIGH; switch1State = LOW; return 0; } if (value=="1") { digitalWrite(RELAY2, HIGH); relay2State = !HIGH; switch2State = LOW; return 0; } return -100; } int getControl(String value) { if (value=="0") { return relay1State; } if (value=="1") { return relay2State; } return -100; } Aplikacja składa się z czterech ekranów. Pierwszy to przełączanie żarówki przez przytrzymanie odpowiadającego jej pola na ekranie. Dwa kolejne odpowiadają za włącznie i wyłączenie wszystkich żarówek jednocześnie. Ostatni odpowiada za dodawanie i usuwanie połączeń, czyli wprowadzamy nazwę, adres urządzenia i numer przełącznika. Problemy i dalszy rozwój Jestem zadowolony z działania sterownika jedyny problem, jaki zaobserwowałem to przełączanie się przekaźników podczas podłączania innych urządzeń do przedłużacza, do którego jest wpięty. W aplikacji do bieżącej funkcjonalności chcę dodać włącznie wcześniej zdefiniowanych grup żarówek. I dodać nową funkcjonalności w postaci sterowania taśmami led, możliwość włączenia komputera, a także zakładkę gromadzącą wartości z czujników. Cały kod i aplikacja znajduje się w moim repozytorium
  6. Telegram – darmowy, niekomercyjny bazujący na chmurze obliczeniowej komunikator internetowy. Użytkownicy mogą wysyłać wiadomości, zdjęcia, filmy, naklejki, nagrania oraz pliki różnego typu. Internet rzeczy od dawna wkracza w codzienne życie - inteligentny dom, inteligentny telewizor, a nawet inteligentny czajnik. Podstawą naszych projektów będzie płyta NodeMCU z wbudowanym układem ESP. Jak również małe rzeczy, które ma każdy inżynier elektronik: diody LED, przewody łączące, płytka prototypowa i przewód microUSB do flashowania i zasilania płyty. Schemat podłączenia: Krótka noga diody LED w ziemi, długa szpilka D3. Nie zapominaj, że płyta ma kilka cech w kategorii pinów, więc dołączam pinout. Dodanie nodemcu do Arduino IDE (połączenie pakietu esp8266). Instalacja pakietu ESP8266 będzie konieczna, abyśmy mogli pracować z nodemcu w IDE Arduino. Przed zainstalowaniem pakietu upewnij się, że nie masz zainstalowanej innej wersji. W przeciwnym razie pamiętaj o usunięciu go przed instalacją. A następnie wykonaj proste czynności: Uruchom środowisko programistyczne - Arduino IDE Otwórz ustawienia W polu "Dodatkowe linki do Menedżera płyt" wklej link do pakietu esp8266 http://arduino.esp8266.com/versions/2.3.0/package_esp8266com_index.json Idź do Narzędzia - Płyty- Menedżera płyt Przewiń w dół. Znajdź esp8266. Wybierz wersję 2.3.0. Zainstaluj. W Narzędzia - zakładka wybierz nodemcu. Reszta ustawień płyty zostanie ustawiona automatycznie. Zdjęcia są po-rosyjsku, ale interfejs jest taki sam. Zainstaluj bibliotekę telegram Aby nasz elektroniczny przyjaciel pojawił się na tablicy, będziesz potrzebować biblioteki https://github.com/CasaJasmina/TelegramBot-Library Tworzenie bota telegramu Nadszedł czas, aby stworzyć naszego cyfrowego przyjaciela, który będzie wiernie i łagodnie obsługiwał wszystkie nasze zespoły. Otwórz bot @BotFather. Aby utworzyć nowego bota write /newbot. Postępuj zgodnie z instrukcjami, wybierz nazwę i zaloguj się na nią, a na koniec skopiuj token bota, będziesz potrzebować go podczas flashowania tablicy nodemcu. Oprogramowanie Łączymy potrzebne biblioteki. #include <ESP8266WiFi.h> #include <WiFiClientSecure.h> #include <TelegramBot.h> Wskazujemy pin diody, wifi sieć token bota. #define LED 0 //D3 const char* ssid = "ssid"; const char* password = "password"; const char BotToken[] = "token:token"; Wskazujemy bota WiFiClientSecure net_ssl; TelegramBot bot (BotToken, net_ssl); W void setup ustawiamy szybkość komunikacji z komputerem, spróbujemy połączyć się z Wi-Fi, wpisujemy adres IP urządzenia w sieci, uruchamiamy bota i konfigurujemy pinmode dla diody LED. void setup() { Serial.begin(9600); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println(WiFi.localIP()); bot.begin(); pinMode(LED, OUTPUT); } Patrzymy do void loop. Sprawdzamy, czy mamy nowe wiadomości. message m = bot.getUpdates(); Czytamy wiadomość i robimy odpowiednie żądanie. if (m.text.equals("on")){ digitalWrite(LED, HIGH); bot.sendMessage(m.chat_id, "The Led 1 is now ON"); }else if (m.text.equals("off")){ digitalWrite(LED, LOW); bot.sendMessage(m.chat_id, "The Led 1 is now OFF"); } Szkic: https://drive.google.com/open?id=1QAi0px4sz3RTfgBjZFvs_rP2KBU84z7O Wgrywamy szkic do płyty. Testujemy Gdy, szkic jest na płycie i obwód jest podłączony do źródła prądu, możemy przetestować urządzenie. Wyślijmy “on” lub “off” aby włączyć lub wyłączyć diodę. Druga część artykułu to prototyp domu inteligentnego. Przed rozpoczęciem montażu określmy funkcje tego urządzenia: Kontrola obciążenia AC Sterowanie taśmą LED RGB Informacje o wizycie w lokalu Ekran z notatkami i czasem Informacje o temperaturze, ciśnieniu i wilgotności gleby Pierwszym krokiem w montażu urządzenia wieloskładnikowego będzie praca z chłodzeniem, prototypowaniem i zasilaniem. Zalecam zainstalowanie na chipie radiatore esp12, ponieważ sam układ na płycie nodemcu nagrzewa się nawet bez podłączonych czujników. Planujemy podłączyć dużą liczbę urządzeń I / O i jednocześnie przesyłać dane przez Internet, co bez dodatkowego chłodzenia doprowadzi do awarii. Grzejnik jest mocowany w najprostszy możliwy sposób za pomocą dwustronnej taśmy przewodzącej ciepło (można ją kupić od Chińczyków za 2,5 USD). Jako grzejnik można użyć dowolnego profilu aluminiowego. 2) Dla wygody podłączenia płytki i urządzeń, proponuję podzielić standardową płytkę na części. Bierzemy jedną dużą płytkę i dzielimy ją na pół. Z jednej strony oderwij linię energetyczną. Bierzemy każdy kawałek sklejki i przyklejamy uzyskane części, jak sobie życzysz, ale radzę skupić się na drutach łączących. Dla wygody możesz podpisać linię energetyczną markerem. Najważniejszą częścią przygotowania do montażu - jest zasilianie. Powinno wystarczyć, więc bierzemy ładowarkę na 2 ampery. Wtyczka zasilania powinna być tak umieszczona, abyś mógł wygodnie pracować. Najpierw obróć niepotrzebny przewód USB do zasilacza. Z jednej strony powinna być wtyczka USB, az drugiej dwie nogi z 5 V i ziemią. Dołącz go do linii 5V. OD niej podłącz nodemcu za pomocą czarnego i czerwonego przewodów. 3.3V weźmiemy od płyty, bo ona ma przetwornik napięcia ams1117, który da 800mA, czego nam wystarczy. Weź od płytki 3,3 V i i podłączyć do odpowiedniej linii energetycznej za pomocą czarnych i pomarańczowych przewodów. Prace przygotowawcze zostały zakończone, oznacza to, że nadszedł czas, aby rozpocząć selekcję komponentów w celu rozwiązania tych celów. Zarządzanie gniazdami: aby kontrolować prąd przemienny, potrzebujemy relay. Zarządzanie paskiem LED RGB: aby kontrolować pasek LED, będziemy potrzebować 3 tranzystorów mosfet , 3 rezystorów o 100 om i 3 o 10 kom każdy. Fiksacja ruchu: aby fiksować ruch, potrzebujemy czujnika ruchu PIR. Informacje o temperaturze: do pomiaru temperatury użyjemy czujnika ds18b20. Informacje o ciśnieniu: do pomiaru ciśnienia użyjemy czujnika bmp180. Informacje o wilgotności gleby roślinnej: do pomiaru wilgotności gleby używamy odpowiedniego czujnika. Wyświetl czas i notatki: Aby wyświetlić czas i notatki, potrzebujesz ekranu LCD. Dodatkowe małe rzeczy Problem z breadboardem rozwiązany, ale do niego nadal potrzebne przewody tata-tata i tata-mama. Opornik 4,7 kΩ i pięć diody LED. Wybrano składniki. Łączmy je wszystkie razem. Przed montażem zwracam uwagę na to, że wszystkie moduły będą zasilane 5 woltami, z wyjątkiem ds18b20. Zasilanie uziemienia i taśmy LED muszą być podłączone. Koniecznie sprawdź adres ekranu i2c i adresy czujników temperatury. Oryginalny schemat i obrazek. Czas rzucić szkic na mikrokontroler. Zainstaluj wszystkie niezbędne biblioteki w IDE Arduino. Archiwum biblioteki można pobrać tutaj. Aby zainstalować, po prostu przenieś całą zawartość do folderu z bibliotekami. Uzupełnij adresy czujników temperatury, ekranu, pinów wszystkich modułów, ustawień sieci Wi-Fi, tokena bota. Szkic (nie zapomnij secrerts.h) Teraz, gdziekolwiek jesteś, możesz uzyskać informacje o swoim domu za pomocą telegram bota. Lista działań Relayon - włączyć rele Relayoff - wyłączyć rele Setnote text - zrobić notatkę na lcd Deletenote - usunąć notatkę RGB taśma Red - czerwony Green - zielony Blue - niebieski Off - wyłączyć taśmę Otrzymanie danych Pressure - ciśnienie Temp1 - temperatura pierwszego czujnika Temp2 - temperatura drugiego czujnika Plant - nawilżenie ziemi Last - ostatnia wizyta Timeon - czas uruchomienia systemu Łącząc odrobinę wyobraźni, możesz stworzyć wiele różnych ciekawych urządzeń, a Twój dom będzie naprawdę inteligentny. Na przykład kilka urządzeń z nodeMCU (i dowolną inną odpowiednią płytą) może wysyłać wiadomości o swoich wskaźnikach do telegramu-bota i reagować na te wskaźniki. Na przykład czujnik temperatury napisał do bota, że temperatura w pomieszczeniu wynosi 29 stopni Celsjusza. Urządzenie odpowiedzialne za włączenie wentylatora lub klimatyzatora rozważyło tę informację i zdecydowało włączyć lub wyłączyć chłodzenie, gdy stało się chłodniej. Jako zadanie domowe musisz wykonać automatyczną kontrolę odczytów z czujników, a w przypadku ważnych zdarzeń (gleba stała się sucha lub ktoś przyszedł do twojego domu), aby powiadomić cię przez telegram bota. Na wyniki muszą pisać w komentarzach. To bardzo interesujące, co zrobiłeś.
×
×
  • Utwórz nowe...