Archiwa tagu: ESP8266

ESP8266 pracujący jaki Access Point albo klient WiFi

Pracując ostatnio nad firmware Pogodełka, natknąłem się na pewną nieudokumentowaną cechę SDK dla ESP8266 w zakresie trybów pracy AccessPoint/klient (station). W dużym skrócie, jeśli choć raz skonfigurujesz tryb AccessPoint na ESP8266, to nawet wgrywając nowy program, mogą te ustawienia zostać aktywne.

Objaw jest taki, że Twoje ESP8266 pracuje jako stacja (klient WiFi) a mimo to rozgłasza SSID, do którego się można dopiąć. W dokumentacji do ESP8266WiFi napisane jest, że aby podłączyć się do sieci WiFi należy skorzystać z komendy WiFi.begin(SSID, PASSWORD) wpisując właściwe wartości. Jeśli wcześniej mieliście kod z Access Pointem, to uruchomiając w ten sposób tryb station spowodujecie, że ESP8266 podłączy się do wskazanej sieci, ale jednocześnie uruchomi AccessPointa z danymi jakie miało ustawione wcześniej.

By pozbyć się tej dodatkowej sieci należy wskazać wprost, że chcemy pracować jako stacja. Prawidłowa sekwencja uruchamiania tego trybu to:

WiFi.mode(WIFI_STA);
WiFi.begin("siec_wifi","tajne haslo");

Chcecie sobie przetestować? Proszę skorzystajcie z tego przykładu w tym giscie. Skompilujcie i wgrajcie np w nodeMCU. Ze względu na #define w linii 3 skompilowana zostanie wersja z Access Pointem. Sprawdźcie że pojawia się takie SSID.

Potem usuńcie #define i wprowadźcie swoje hasło i nazwę sieci WiFi w linii 15. Po wgraniu kodu ponownie, podłączcie się do seriala – dostaniecie info o adresie IP, który dostało ESP. Czyli pracuje jako stacja w sieci. Mimo to możecie sprawdzić, że sieć testAP jest aktywna dalej i można się do niej podłączyć.

Dlatego, jeśli uruchamiacie WiFi na ESP, to nie zapomnijcie dodać linii WiFi.mode(WIFI_STA); przed wywołaniem WiFi.begin. Wtedy dodatkowa sieć zniknie.

Nettigo Air Monitor – zbuduj własny czujnik smogowy! – wersja 0.2.1

Czym jest Nettigo Air Monitor?

To to system monitorowania czystości powietrza zbudowany w oparciu o dokładny czujnik NovaFitness SDS011. Cały projekt ma kompaktowe rozmiary, wychodzące niewiele ponad obrys samego czujnika.

NAM rozwija społecznościową koncepcję zapoczątkowaną przez projekt Luftdaten.info. Dlatego na wzór tego projektu, zmontowana płytka mieści się w dwóch kolankach hydraulicznych 75 mm (DN 75 87°). Sprawa czystości powietrza jest dla nas bardzo ważna i chcielibyśmy zachęcić/zainspirować innych do podjęcia walki o czystsze powietrze. Z tego powodu od samego początku stawiamy na otwartość – cały kod, jak i pliki źródłowe są wypuszczane na otwartych licencjach. Schematy i projekty kolejnych wersji płytek znajdziesz w serwisie easyeda.com/nettigo/Nettigo-Air-Monitor.

Nettigo Air Monitor to o wiele więcej niż tylko czujnik stężenie pyłu. W praktyce, możesz do niego podłączyć masę dodatkowych czujników. Oprócz standardowych złącz dla SDS011 oraz DHT22, płytka PCB ma wyprowadzone dodatkowe złącza I2C oraz złącze GPS. Umożliwia to podłączenie czujników Bosch BMP280BME280, BME680, wyświetlaczy I2C 2×16, 4×20,itp. Złącze GPS przygotowane zostało pod moduł GPS VK2828U7G5LF. Do złącza opisanego jako PTC podłączysz grzałkę poprawiającą wiarygodność odczytów PM10 i PM2.5. Musisz wiedzieć, że laserowe czujniki poziomu pyłu takie jak SDS011 czy PMS5003 przy wilgotności względnej powietrza powyżej 70% zawyżają pomiary. Dzieje się tak dlatego, że w powietrzu jest masa mikroskopijnych kropelek wody. Na tych kropelkach, podobnie jak na mgle światło lasera rozprasza się identycznie jak na pyle. Rozwiązaniem jest podgrzanie powietrza, które ma trafić do sensora. Ta prosta czynność znacząco zmniejsza wilgotność względną i poprawia wiarygodność odczytów.

Zestaw do samodzielnego montażu

Zestaw Nettigo Air Monitor w wersji 0.2.1 dostępny jest w naszym sklepie. Z przyczyn logistycznych nie są to wszystkie elementy, których będziesz potrzebować do budowy czujnika.

Czytaj dalej

Slack bot na ESP8266

W pracy często zamawiamy sobie kebaba na obiad. Kiedy w końcu na recepcję dostawca przywiezie upragnione jedzenie trzeba jakoś powiadomić wszystkich, że kebaby dojechały :P Jak to mówią potrzeba jest matką wynalazków – tak właśnie powstał kebabowy przycisk wysyłający powiadomienie na Slacku :)

Czytaj dalej

NodeMCU – aktualizacje OTA

Wyobraźcie sobie sytuację, w której kończycie projekt na NodeMCU, pakujecie go w ładną obudowę i montujecie tam, gdzie ma być używany. Po jakimś czasie okazuje się, że coś działa nie tak jak powinno lub chcielibyście dodać nową funkcjonalność do oprogramowania. Trzeba wtedy zdemontować urządzenie, wyjąć z obudowy, podłączyć do komputera i wgrać nowy flash. Takim sytuacjom zapobiec może tryb aktualizacji OTA (ang. over the air), o którym będzie dzisiejszy artykuł. Czytaj dalej

Pogodełko – IoT w pogodzie – część 2

Pogodełko, czyli nasza miniaturowa stacja pogodowa w kartonie spotkała się z ciepłym przyjęciem. Złożenie jej nie jest skomplikowane. Wystarczy podłączyć 10 przewodów i gotowe. Wstępnie zaprogramowana płytka NodeMCU V3 od razu pokazuje czy wszystko zostało złożone poprawnie.

W tym artykule omówimy kod źródłowy i pokażemy jak samodzielnie zmodyfikować Pogodełko. A do tej pory modyfikacji widzieliśmy sporo. Najprostszą z nich jest wymiana czujnika Bosch BMP280 na BME280. Uzyskujemy w ten sposób dodatkowy pomiar wilgotności. W następnych częściach przyjrzymy się innym modyfikacjom wartym wspomnienia – dodanie zewnętrznego czujnika temperatury DS18B20 czy czujnika pyłu zawieszonego SDS011.

Czytaj dalej

NodeMCU – Minimalny obwód dla gołego ESP8266

Podczas tworzenia jakiegoś urządzenia najpierw robimy jego prototyp. Jeżeli wykorzystujemy do tego procesor ESP8266 to najprawdopodobniej najlepszym wyborem do prototypowania będzie płytka developerska NodeMCU. Po tym jak uznamy, że na breadboardzie wszystko śmiga jak w zegarku projektujemy płytkę drukowanę, lutujemy procesor ESP i… nie działa. W dzisiejszym artykule zaprezentuję jak należy w minimalnym stopniu zaprojektować układ wykorzystujący ESP8266, aby wszystko działało tak jak należy.

Czytaj dalej

NodeMCU – Aplikacja konfiguracyjna dla systemu Android

Zgodnie z obietnicą w dzisiejszym artykule dowiemy się jak napisać własną aplikację dla Androida, która skonfiguruje nasze NodeMCU do pracy w wybranej przez nas sieci WiFi. Oczywiście na procesorze musi być wgrany program, który napisaliśmy w poprzednich artykułach z serii o NodeMCU. W tym artykule skupię się bardziej na zaimplementowaniu komunikacji UDP po stronie Javy niż typowo androidowych rzeczach, które to omówię raczej powierzchownie :) Na końcu artykułu do pobrania jest dostępna paczka .zip z plikami projektu do Android Studio oraz plik .apk który możemy zainstalować w telefonie sami.

Czytaj dalej

NodeMCU – odbieranie danych przez protokół HTTP

W ostatnim artykule z serii dowiedzieliśmy się w jaki sposób odebrać dane konfiguracyjne za pomocą protokołu UDP. Dziś zaprezentuję alternatywną wersję konfiguracji – tym razem przez specjalną stronę hostowaną na ESP na której użytkownik może wprowadzić odpowiednie dane.

Czytaj dalej

NodeMCU – Odbieranie danych przez protokół UDP

Po lekturze ostatnich dwóch (1 i 2) artykułów z serii o NodeMCU powinniśmy umieć już postawić własną sieć WiFi oraz zapisać oraz odczytać konfigurację “na sztywno”. Dziś dopiszemy klasę, która pozwoli nam na wprowadzenie danych przez użytkownika bez ingerencji w kod programu.

Czytaj dalej