Document based on NAMF-2020-44, November 2022.
After first power can take from few seconds to one minute (depending if Wemos was earlier powered on under NAMF). After that, next boots should take few seconds (connecting to WiFi takes most of the time).
This document is based on NAMF-2020-44. This version introduced important interface change.
Most importat difference is that since -44 there is default WiFi password in config mode. Password is nettigo.pl
After sensor boot, if this was first run or if sensors is run in place where it can not find configured WiFi network, config WiFi network will show up. It will be called "NAM-XXXXXXX", where XXXXXX will be replaced by number.
Write down that number, it will become handy later. This number (aka sensor ID) should be on bag with Wemos (kits to solder) or on sticker on mainboard (presoldered devices).
Device configuration can be summarized to:
Wersja -44 przyniosła nowy interfejs konfiguracyjny, jednak pozostał fragment starego kodu, który powoduje, że tylko parę podstawowych parametrów zostanie zapisanych podczas konfiguracji przez access point (sieć WiFi utworzoną przez NAMa). Dlatego trzeba skonfigurować WiFi, zrestartować i dopiero dokończyc konfigurację. W następnej wersji powinno to zostać poprawione.
Po restarcie (o ile NAM podłączy się do wybranej sieci) nie będzie już sieci WiFi NAM-XXXXXX i należy się łączyć z telefonem/komputerem z siecią WiFi taką jak wybrana dla NAMa
Podłącz się do tej sieci. Domyślne hasło to nettigo.pl Jeśli Twój komputer/komórka nie ma innego połączenia z Internetem jak WiFi, automatycznie powinna otworzyć się strona konfiguracji. Gdy to się nie wydarzy, pozostaje ręczne uruchomienie przeglądarki internetowej, następnie wpisanie 192.168.4.1 jako adresu.
Twoim oczom powinien ukazać się zielony panel konfiguracji wstępnej.Pierwszy krokiem jest skonfigurowanie dostępu do WiFi (tak, używamy innego sensora na potrzeby tej doumentacji niż na ilustracji wcześniej dlatego nazwy sieci/sensorów są różne na obu ilustracjach).
Po kilku sekundach pojawić się powinna lista widzianych przez sensor sieci WiFi. Tutaj będziemy się łączyć z siecią ntg_att, więc kliknąć ją.
Nazwa sieci zostanie skopiowana do właściwego pola a kursor zostanie przeniesiony do miejsca na wpisanie hasła. I teraz je wpisz. Tak jak widać na załączonym zdjęciu wpisywane hasło jest widoczne. Dlaczego? Początkowo sieć nie była zabezpieczona hasłem, by więc podkreślić jawność przesyłanych danych hasło było widoczne. Od wersji -44 sieć jest zaszyfrowana, ale jeszcze nie ma opcji "pokaż wpisane hasło", więc by uniknąć błędów przy wpisywaniu hasła na razie zostawiliśmy je widoczne (tylko na tym etapie, po restarcie nie będzie już tutaj widoczne).
Naciśnij "Zapisz i zrestartuj" czujnik uruchomi się ponownie. Jeżeli podane przez ciebie hasło do sieci WiFi było poprawne to czujnik automatycznie połączy się z internetem. Następnie (o ile ta opcja była włączona) automatycznie pobierze aktualizacje.
Obecnie sugerujemy, aby najpierw skonfigurować WiFi i łączność z internetem, pozostałe opcje konfiguracyjne zostawcie do czasu aż sensor będze podłączony do WiFi.
Wpisz w przeglądarce http://nam-XXXXXXX.local/, gdzie zamiast XXXXXXX podaj numer identyfikacyjny czujnika. Zadziałało? Super - możesz przejść do następnego działu
Nie zadziałało? To czytaj dalej.
Po pierwsze - może zrobiłeś literówkę w haśle do WiFi? Jak to sprawdzić? Odczekaj kilkanaście - kilkadziesiąt sekund od restartu NAM i sprawdź czy sieć WiFi NAM-XXXXXXX jest widoczna. Jeśli jest - znaczy to, że z jakiegoś powodu NAM nie podłączył się do WiFi. Pierwszym "podejrzanym" jest źle wpisane hasło. Powtórz procedurę podłączenia się do sieci WiFi NAM-XXXXXXX i skonfiguruj sieć WiFi ponownie.
Brak sieci WiFi NAM-XXXXXXX oznacza jedno - NAM podłączył się do wybranego WiFi. No, opcję że nie jest włączony do prądu wykluczamy . Skoro podłączył się do sieci, trzeba jakoś ustalić adres IP.
W najlepszej sytuacji są osoby, których NAM jest wyposażony w wyświetlacz LCD. Wystarczy poczekać i obserwować wyświetlacz. W ciągu kilkunastu sekund, wśród wyświetlających się informacji będzie ta o uzyskanym adresie IP. Ten adres wpisujemy w przeglądarce i gotowe.
Jeśli brak w Twoim urządzeniu wyświetlacza (lub nie jest jeszcze skonfigurowany), to czujnik w sieci lokalnej można znaleźć na przynajmniej dwa sposoby.
Pierwszy wymaga dostępu do routera. Logując się do panelu administracyjnego routera i sprawdzając w liście urządzeń co nowego się pojawiło. Szukaj urządzeń zaczynających się od "ESP" lub "NAM".
Drugi zaś korzysta z usług typu Zeroconf / Apple Bonjour - czujniki automatycznie rozgłaszają swój adres w sieci. Jeżeli masz Windows 10 w wersji 64-bitowej to wpisanie adresu z początku działu powinno zadziałać. Jeżeli tak się nie stało to zainstaluj obsługę tego protokołu. Wtedy odnalezienie czujnika powinno być stosunkowo proste. Aby upewnić się, że mamy poprawne ID czujnika użyjemy komendy dns-sd -B
w wierszu poleceń. Wyświetli ona wszystkie rozgłaszające się urządzenia, w tym także czujniki NAM. Jeżeli Twój czujnik jest na liście, to wpisanie w przeglądarce www adresu http://nam-XXXXXXX.local/ powinno Cię automatycznie przenieść do panelu administracyjnego. Oczywiście zamiast iksów wpisz własny ID z konfiguracji wstępnej. Jeżeli chcesz poznać adres IP czujnika wystarczy komenda ping nam-XXXXXXX.local
W systemach Linux za obsługę Zeroconf odpowiada daemon Avahi. W większości przypadków, jest ona domyślnie zainstalowana we współczesnych dystrybucjach. Link z początku działu powinien zadziałać od razu. Na wszelki wypadek - avahi-browse -at
powinno wyświetlić listę usług rozgłaszanych w sieci lokalnej. I tam powinien pojawić się NAM. Jeśli jest - tym bardziej link powienie działać. Oczywiście - musisz korzystać z tej samej sieci WiFi do której podłączyłeś NAMa.
Na urządzeniach z systemem Android niestety nie uświadczymy natywnej obsługi tego protokołu i należy się posiłkować aplikacjami zewnętrznymi (jak doskonały PingTools Network Utilities lub o wiele uboższy Service Browser). Odszukasz w nich urządzenie oraz adres IP czujnika.
Po ustaleniu adresu IP, trzeba go wpisać w przeglądarkę internetową i otworzyć stronę sensora. Powinna wyglądać mniej więcej tak:
Sukces - mamy dostęp do konfiguracj!
Po wybraniu na ekranie głównym opcji "Konfiguracja", naszym oczom ukaże się następujący ekran:
Podzielony jest na zakładki, omówimy kolejno co w nich znajdziemy. Pierwsze trzy są wspólnie zapisywane po nacisnięciu Zapisz i zrestartuj Znaczy to że możesz wprowadzić zmiany w tych zakładkach jednocześnie i nacisnąć dowolny przycisk Zapisz i zrestartuj. Zmiany z wszystkich trzech zakładek zostaną zapisane. Z czwartą jest nieco inaczej, ale to wyjaśnimy przy opisie tejże zakładki.
Pierwsza widoczna na domyślnym ekranie to:
Tutaj postaraliśmy się zgromadzić najczęsciej używane ustawienia.
Tu ustawisz nazwę sieci i hasło z użyciem których czujnik będzie łączył się do Internetu. Jeżeli się pomylisz i podasz złe hasło lub nazwę sieci, czujnik po ponownym uruchomieniu przejdzie w tryb konfiguracji wstępnej.
Tutaj możesz zabezpieczyć dostęp do panelu www czujnika hasłem. W NAMF domyślnie jest to para "admin" / "admin". Autryzacja nie jest włączona domyślnie. Dobrym zwyczajem jest jej włączenie oraz zmiana domyślnego hasła. Zrób to, nie zostawiaj na później, bo nie zrobisz nigdy...
Jeśli masz wyświetlacz w swoim NAM tutaj go włączysz. Poza zaznaczeniem opcji Ma wyświetlacz trzeba wybrać właściwy. Wybór sprowadza się do rozmiaru i adresu. Skąd wiedzieć które wybrać? Rozmiar - zestawy LCD Kit mają wyświetlacz 20 znaków, 4 linie, więc chodzi o 2004. A adres? Może być 0x27 lub 0x3F. Możesz otworzyć w nowym oknie stronę główną sensora (można kliknąć z Ctrl na logo NAM lub na nazwę sensora - oba wiodą do strony głównej) i przejść do podstrony Status sensora.
W tabelce tam pokazanej, gdzieś na początku powinna być informacja jakie adresy urządzeń są widoczne na szynie I2C (I2C/Na szynie I2C). Jeśli masz podłączony wyświetlacz powinno tam się pojawić albo 27 albo 3F. To jest jego adres.
Pokaż status WiFi na LCD Włączona opcja powoduje, że jeden z ekranów na LCD przedstawia informacje dotyczące sieci WiFi, do której jest podłączony sensor. Adres IP, nazwa sieci, siła sygnału.
Język - tutaj możesz zmienić język interfejsu NAMF. Wymagać będzie restartu i reinstalacji oprogramowania, więc konieczna jest łączność z internetem. Dla zmiany języka konieczne jest by autoaktualizacja była włączona (zakładka Zaawansowane)
Czas między pomiarami Co ile sekund sensor będzie wysyłał dane do zewnętrznych API. Wartość 145 sekund jest odziedziczona z Sensor Community. Dobrze się sprawdza w stanadardowych zastosowaniach. W zależności od Twoich potrzeb możesz zmienić ten interwał. Kilka uwag jeśli chcesz zmienić ten czas:
Szczegółowo o tym co z danymi sensora (w tym jak konfigurować sensor pod kątem odpowiednich API) piszemy oddzielnie. Tutaj tylko pobieżne informacje.
Pierwsze dwie pozycje służą włączeniu lub wyłączeniu wysyłanie danych do serwisów Sensor Community i madavi.de. Jeśli chodzi o API Sensor Commnunity musisz tam zarejstrować swój czujnik by pojawił się na mapie.
Serwis AQI.eco uzyskał oddzielną konfigurację. Możesz go skonfigurować jako własne API, tak jak opisane jest w panelu tego serwisu, jednak w NAMF wystarczy że wkleisz tutaj token, ostanią część Ścieżki podanej w panelu AQI.eco. Dzięki temu możesz wysyłać dane do AQI.eco i do własnego API.
Własne API - integracja z dowolnym serwisem, który będzie potrafił odczytać dane wysłane przez NAM. Format danych - JSON, plik z ostatnio wysyłanymi danymi można zobaczyć wchodząc na adres IP sensora i ścieżka /data.json
.
Influx DB baza danych do gromadzenia danych pomiarowych. Obecnie obsługiwana w wersji protokołu 1. Tutaj (po angielsku) możesz poczytać jak z pomocą Dockera postawić InfluxDB z Grafaną. Można w prosty sposób zbudować własny serwis z wykresami danych (np wcześniej wspomniany Madavi korzysta z Grafany do robienia wykresów).
Tu zebrane są opcje, które mogą przydać się w nieco bardziej rzadkich przypadkach.
Alternatywna sieć WiFi Tutaj jest możliwość skonfigurowania drugiej sieci WiFi. Jeśli sensor nie podłączy się do pierwszej sieci, którą ustawiasz w zakładce Podstawy to spróbuje połaczyć się z siecią zdefiniowaną tutaj.
Komu może się przydać ta opcja? Tym, którzy mają pod opieką czujniki, które potem są umieszczane w innych lokalizacjach. Dzięki temu, może tutaj skonfigurować swoją sieć "serwisową" - gdy sensor wróci do niego z jakiegoś powodu, wóczas nie ma potrzeby zmieniać konfiguracji. Podłączy się do drugiej sieci, a gdy wróci w swoje stałe miejsce będzie pamietał dane do logowania.
Jest to rozwiązanie, które przydaje się zwłaszcza w sieciach obywatelskich czujników, w których zwykle jest jedna osoba zajmująca się kwestiami technicznymi.
Poziom debugowania - domyślny poziom ilości komunikatów diagnostycznych. Od 0 do 5. Zero - najmniej komunikatów, 5 - najwięcej. Poziom ilości komunikatów można zmienić przez stronę /debug
(tam też można je podejrzeć) ale zmieniony tam poziom nie przetrwa restartu. Tutaj można ustawić wartość, która jest pamiętana na stałe.
Czas trwania w trybie routera (sek.) - gdy po restarcie NAM nie może podłaczyć się do żadnej sieci WiFi uruchamia własny access point, tak jak przy pierwszej konfiguracji. Ten paramter określa przez ile sekund będzie ten AP widoczny (domyślnie 10 minut).
Moc nadawcza 0-20.5(dBm) Moc nadawacza układu WiFi. Ustawiona domyślnie jest największa dopuszczalna moc.
Tryb pracy WiFi (1=B / 2=G / 3=N) Który wariant protokołu sieci WiFi jest używany przez sensor.
Nazwa sieci Przy starcie własnego AP, domyślna nazwa sieci WiFi to NAM-XXXXXXXX
, tutaj można ustawić własną. Ta nazawa jest też rozgłaszaną przez Zeroconf, więc jeśli ustawisz tutaj np NAM-SENSOR
to w sieci lokalnej będzie dostępny pod adresem http://nam-sensor.local/
Hasło - hasło jakie jest używane do sieci WiFi w trybie konfiguracji. Zostawienie pustego, oznacza że będzie używane domyślne nettigo.pl
. Hasło musi mieć co najmniej 8 znaków.
Aktualizuj firmware automatycznie chyba oczywiste Zostaw włączone. Musi być włączone jeśli chcesz zmienić język interfejsu. Dla wszyskich zalecena jest zostawienie kanału Stable jako źródła akutalizacji. Kanał beta jest dla chcących widzieć nadchodzące zmiany.
OLED SSD1306 Czy w systemie jest wyświetlacz graficzny OLED oparty o układ SSD1306. Np taki: https://nettigo.pl/products/wyswietlacz-oled-0-96-i2c-128x64-ssd1306-niebieski Nie zalecamy go do ogólnego użytku, bo jest bardzo mały - tekst na nim jest słabo czytelny, ale... Może go ktoś potrzebuje?
Linijka diodowa RGB Eksperymentalny wyświetlacz w formie wskaźnika diodowego obrazujący jakość powietrza. Jeszcze nie jest dostępny w sprzedaży.
Wysyłaj dane diagnostyczne do Nettigo Jak sama nazwa wskazuje - gdy opcja jest włączona przy każdym starcie oraz periodycznie co kilkanaście godzin są do naszego sysytemu przekazywane dane diagnostyczne. Takie jak - skonfigurowane sensory, ilość stan pamięci, ilość błędów itp. Każdy sensor przy pierwszym połączeniu z naszym serwisem uzyskuje UUID, które jest wykorzystywane później do identyfikacji sensora. Przy zmianie kanału uaktualnień beta/stable czy po usunięciu konfiguracji nadawany jest nowy UUID.
W tej sekcji możesz włączyć obsługę poszczególnych sensorów. Ta zakładka działa nieco inaczej, jak już wcześniej sygnalizowaliśmy. Sensory na początku, do czerwonego, dobrze znanego przycisku Zapisz i zrestartuj stanowią wspólną część z trzema poprzednimi zakładkami. Wszystkie zmiany w tych 3 pierwszych zakładkach i w czwartej od góry do przycisku - zapisuje się razem.
Sensory, które konfiguruje się przez formularze poniżej czerwonego przycisku - każdy z nich jest zapisywany oddzielnie. Ponieważ cała strona jest przeładowywana, to te sensory trzeba konfigurować jedne po drugim. Zmiany wprowadzić w jednym, zapisać. Nastepnie kolejny.
Zmiany konfigruacji sensorów w tej drugiej części nie restartują całego NAMa, są wprowadzane na bieżąco. Przynajmniej w zakresie podstawowym - zaawansowane opcje mogą tego wymagać, ale informacja taka znajdzie się przy nich.
Ogólna zasada jest taka - nie włączaj w konfiguracji sensora którego fizycznie nie ma w systemie. Właczenie takiego "nieobecnego" może mieć skutki uboczne. Jak np opóźnienia w działaniu interfejsu, restarty itp.
Tutaj kończy się lista "starych" sensorów, a poniżej znajduje się konfiguracja sensorów/systemów korzystających z nowego podsystemu oprogramownania NAMF. Dlatego trochę inaczej się je konfiguruje.
Wszystkie "stare" sensory zbierają dane na krótko przed pomiarem, zwykle jest to jeden pomiar. PMSx003 działa na takiej samej zasadzie jak SDS011, opisany dalej.
Każdy sensor w nowym podsystemie ma opcję Włacz oraz, jeśli ma co wyświetlić to pojawia się opcja Wyświetl dane na LCD. Zaznaczenie tej drugiej opcji oznacza że do listy ekranów wyświetlanych na LCD zostaną dodane z danymi z tego sensora.
Jest to sensor najczęściej stosowany obecnie w sieci Sensor Community. Ma jeden mankament, stosunkowo krótki czas życia diody laserowej. Pracując w trybie ciągłym, producent gwarantuje poprawne działanie przez ok 11 miesięcy. By ten okres wydłużyć, zastosowano pracę w interwałach. Stężenie PMów jest mierzone przez krótki czas (kilka - kilkanaście sekund) i te kilka pomiarów jest uśrednianie.
Dwie następne opcje konfiguracyjne dotyczą tych paramterów. Pierwszy to czas przez jaki dokonywany jest sam pomiar. SDS wysyła dane co 1 sekundę, pomiar jest uśredniany i ten wynik jest wysyłany do API. Drugi to jak długo ma pracować SDS przed rozpoczęciem pomiaru (tak by powietrze z zewnątrz zostało zassane i wypełniło komorę pomiarową).
Moduł ten nie ma specjalnej konfiguracji. Prawdopodbnie od następnej wersji (beta NAMF-2020-45rc1 już ma) pojawią się nowe opcje. To wartości wilgotności, przy których włącza się grzałka w HECA. Pozwala to kontrolować zakresy wilgotności powietrza jakie jest podawane do SDS011. To ustawienie zaawansowane, domyślne ustawienie jest zupełnie wystarczające.
Dane z HECA są wysyłane do API, ale przez obecność grzałki trzea rozumieć, że te wykresy raczej służą sprawdzeniu że grzałka działa i spełenia swoje zadanie, a nie do określania temperatury/wilgotności.
Pomiary temperatury/ciśnienia/wilgotności są robione 5 razy w trakcie interwału pomiarowego, do API wysyłana są wartości uśrednione.
HECA korzysta z SHT30, jeśli chcesz możesz dodać drugi sensor do NAMa SHT31. Korzystać musi z adresu 0x45 na I2C, bo 0x44 zajęte jest przez HECA. SHT31 jest dokładniejszym czujnikiem niż BME280, ale nie oferuje pomiaru ciśnienia.
Pomiary są robione co 15 sekund a uśrednione wyniki wysyłane do API.
Czujniki to poprzedniki BME280. Nie oferują pomiaru wilgotności, tylko temperatury i ciśnienia. Razem z SHT31 stanowiły zastępstwo BME280, gdy te przez dłuższy czas były niedostępne na rynku.
Opcja Sensor wewnątrz obudowy powinna być używana gdy BMP był umieszczony wewnątrz obudowy NAM. Wówczas dane o temperaturze (zawyżonej przez HECA i ciepło z ESP) nie są przesyłane do API. Niektóre API (Sensor Community) nie pokazują poprawnie potem odczytu danych z BMP na mapie gdy brakuje odczytuy temperatury.
Czujnik pyłów zawieszonych SPS30 może być użyty zamiast SDS011. Zalety - długa żywotność diody (możliwość ciągłej pracy i pomiarów), pomiar również PM1 i PM4, podawanie ilości cząstek (a nie tylko przybliżonego przelicznika masowego). Wady? Nie rozwiązana kwestia podłaczenia do HECA (brak wygodnego wlotu powietrza jaki ma SDS011) oraz kwestia mocowania w obudowie NAM (brak otworów montażowych.
Po podaniu wskazanego adresu IP, NAM będzie cyklicznie (z użyciem tzw. ping'a) sprawdzał czy jest łączność. Przy braku łączności przez 3 kolejne wysyłania danych do API, watchdog zrestartuje NAMa.
Uwaga - jeśli wpiszesz tutaj nie osiągalny adres IP - NAM bedze się cyklicznie restartował...
MHZ14A był (bo jest już niedostepny) niedrogim czujnikiem CO2. Co prawda, działał z małą dokładnością w zakresie atmosferycznych stężeń CO2, ale był jedynym który można w prosty sposób zaimplementować. Dobra wiadomość jest taka, że wkrótce powinien być dostępny nowy sensor od Winsena, zgodny programowo oferujący nieco lepszy zakres pomiarów (nie ograniczony sztucznie do 400 ppm od dołu) oraz nieco lepszą dokładność. Więc będzie można go używać z NAM.