NAMF-48rc2/rc3

Kilka dni temu na serwer uaktualnień w kanale beta trafiła nowa wersja NAMF-48rc2. Jednak nie wyłapałem wszystkich błędów po aktualizacji biblioteki Arduino JSON (wymagało to zmian w całości kodu korzystającego z JSON) i NAM nie czytał poprawnie całej swojej konfiguracji. Dlatego 48rc2 został wycofany i dziś wylądował 48rc3, który poprawić powinien ten błąd.

A co nowego w 48rc2?

  • uzupełnione/poprawione wyświetlanie na LCD rzadziej używanych sensorów (BMPx80, BH1750 i inne)
  • wybór czasu letniego/zimowego (przydatne przy logowaniu CSV lub wygaszaniu w nocy podświetlenia LCD)
  • logowanie do CSV (przez UART) przywrócone, bo kod ten był, ale praktycznie nie działał
  • poziom logowania jest zapisywany między restartami
  • wersja LoRaWAN nie wymaga już OTA po każdym restarcie
  • możliwy skan istniejących sieci WiFi również w trybie normalnej pracy (ułatwia zmianę sieci WiFi do której łączy się sensor)
  • kod w wersji na moduł Olimex PoE – wsparcie dla Ethernetu. Nie udostępnione są jeszcze binarki, bo to wsparcie jest w fazie alfa, ale w krótkim czasie powinna się pojawić wersja NAM 0.4 z Ethernet

Jeśli twój NAM ma ustawione aktualizacje z kanału beta, a mimo restartu nadal jest na nim NAMF-48rc1 to proszę nie regulować odbiorników. Od tej wersji serwer uaktualnień serwuje nowe wersje stopniowo, zwiększając stopniowo procentowy udział urządzeń które dostają nową wersję.

Problem z 48rc2 akurat powodował że NAM wpadał w pętlę ciągłych uaktualnień, ale szczerze mówiąc bardzo doceniłem ten fakt, że tylko mała część urządzeń dostała problematyczne firmware. Gdyby problem powodował niemożność automatycznej aktualizacji dotyczyłby tylko kilku urządzeń zamiast wszystkich z betą, jak by było ze starym serwerem uaktualnień. Warto było się pomęczyć 🙂

Co z SPS30?

Chyba to jest jedno z najczęstszych pytań dotyczących NAMa – czy można SDS011 zastąpić SPS30. Coż, teoretycznie można, bo od dawna wsparcie dla SPS30 w NAMF jest, ale pozostawała “drobna” sprawa – czyli jak fizycznie podłączyć SPS30 do HECA i zamontować w NAM.

Wydaje się, że pierwsze pytanie będzie miało już swoją odpowiedź. Na wyróżniającym obrazku możecie zobaczyć jedną z kolejnych iteracji adaptera, by do SPS30 podłączyć rurkę z HECA.

A drugie pytanie? Nie zostawimy was z tym, prace też już nad tym trwają. Tutaj mała ilustracja, ale jednak tutaj iteracje są dużo wolniejsze niż w przypadku druku 3D, więc do wersji finalnej trzeba będzie poczekać dłużej.

W każdym bądź razie, niedługo spodziewajcie się kompletnego rozwiązania tego problemu. SPS30 będzie można używać z NAM bez kombinowania.

Nettigo NAM browser – już można pobrać

W poprzednim poście pisałem o naszym eksperymencie z aplikacją Android. Ponieważ spotkał się on z pewnym zainteresowaniem – można pobrać i zainstalować APK. Wszystko, razem z krótkim opisem na GitHub (dokładniej w Releases).

Nie ma tam jeszcze samego kodu programu, bo jako eksperyment, kod jest na razie częścią większego repozytorium w którym trzymam wewnętrzne eksperymenty. Za kilka dni postaram się wyciągnąć kod samego aplikacji i dodać do wyżej linkowanego repo. Ale chętni mogą zainstalować ręcznie APK.

Na razie nie przewiduję utworzenie sklepu w Google Play by można “legalnie” dystrybuować aplikację. Może w przyszłości. Może.

Nettigo NAM browser – wynik eksperymentu

Chciałem się podzielić z wami wynikiem naszego pewnego wewnętrznego eksperymentu. Najpierw krótki filmik:

Teraz kilka słów wyjaśnienia. W domu mam sporo działających NAMów i nie tylko. I choć wszystkie wysyłają dane do Influxa, część połączona jest z HomeAssistant’em i każde urządzenie można sprawdzać przez jego interfejs WWW brakowało mi takiej wygodnej metody na szybkie sprawdzenie konkretnej wartości.

Więc powstał JSON browser – podajesz URL, apka ściąga JSON i wyświetla drzewo – przeglądasz i wybierasz jakieś pole, nazywasz je i od tej pory na głównym ekranie masz wartość z tego pola wyświetlaną. Odświeżyć możesz wszystkie wpisy na raz albo pojedynczy. Tego akurat na filmiku nie ma, bo szybko się zorientowałem, że korzystam głównie z NAMów i gdy apka rozpozna strukturę JSON jako “namowską” od razu podpowiada pola szybkiego wyboru, które można wybrać jednym kliknięciem.

Dzięki temu, bez konieczności klikania po Grafanie widzę szybko że fermentacja zbliża się ku końcowi 😉

No i po jakimś czasie używania dochodzę do wniosku, że to przydatne narzędzie i może dla większej liczby osób byłaby użyteczna?

Utworzenie sklepu na Google Play to jednak trochę zachodu i dlatego się zastanawiam – ktoś by coś takiego zainstalował na swoim Androidzie (nie IOS nie będzie, chyba że Apple pozwoli na budowanie apek na linuksie…)

Podsumujmy – co obecnie robi aplikacja?

  • możesz wpisać URL dowolnego pliku JSON, pobrać go, i wybrać z niego jedną wartość, nazwać ją i będzie wyświetlana na głównym ekranie
  • znajduje w sieci lokalnej urządzenia NAM i rozpoznaje strukturę JSON, pozwalając w skrócony sposób wybrać wartość (w tym wariancie jest odporny na zmiany w strukturze JSON np po zmianie konfiguracji sensora powinien wciąż podawać właściwy odczyt, o ile jest on dostępny)
  • odświeżyć można wszystkie wartości za jednym razem albo pojedynczo wybrane

Warto to rozwijać i udostępnić szerszemu gronu?

NAMF-47

Dziś na serwerze z aktualizacjami wylądowała nowa wersja stabilna NAMF-47. Oparta jest o ostatnią wersję NAMF-47rc8. Główne zmiany:

  • Wsparcie (wstępne) dla DNMS NAM kit
  • Poprawiony błąd skutkujący dużo większym poziomem błędów sum kontrolnych dla SDS011 w angielskiej wersji językowej
  • NAM 0.4 – wersja dla ESP32. Projekt NAM 0.4 jest wciąż w wczesnej fazie beta
  • NAM Restarter do SDS011 ma opcję sterowania zewnętrznym urządzeniem (przez tranzystor) po przekroczeniu poziomów alarmowych PM2.5 lub PM10 (dla wszystkich mających mechaniczną wentylację której nie chcą włączać gdy na zewnątrz smog). Więcej w poście opisującym nową funkcję.
  • Particulate Matter App (Feinstaub App) po porzuceniu przyjmowania danych przez HTTP (bez SSL) znowu działa
  • Influx DB API w wersji v2 jest obsługiwane (razem z nowymi formatami haseł/tokenów)

NAMF-47rc6 InfluxDB v2

Wersja NAMF-47rc6 wprowadza obsługę API Influx DB w wersji 2. Jeśli twój serwer Influx jest w wersji 2, zaznacz to w konfiguracji API. Nazwę użytkownika zostaw pustą a jako hasło podaj API token wygenerowany w Influx.

Przed wypuszczeniem wersji 47 jako stabilne oprogramowanie, zostanie usunięte wyłączanie WiFi podczas pomiaru SDS011. Wersja NAMF-47rc5 przywróciła właściwą pracę SoftwareSerial.

NAMF-47rc4 tryb pracy w LoRaWAN uproszczony

W związku z tym, że nie wszystkie dane niezbędne do pełnej komunikacji z LoRaWAN były zachowywane po restarcie, a część tych danych jest trudna do wydobycia z wnętrzności biblioteki, na razie tryb pracy w LoRaWAN nieco został zmieniony.

Aktywacja (OTAA) będzie robiona po każdym restarcie, dopóki problem z zachowywaniem parametrów sesji nie zostanie rozwiązany. Aktywacja nie będzie przeprowadzana zaraz po starcie (by uniknąć generowania zbędnych żądań przyłączenia się do sieci) tylko dopiero przed wysłaniem danych. A dane (uśrednione) będą wysyłane co 5 pomiar.

Wcześniejsza wersja 47rc3 poprawiała dwa błędy związane z sygnałem alarmu na pin 7 restartera SDS.

NAMF 47rc2 – spore zmiany

Dziś na serwer trafiły pliki binarne dla wersji NAMF-47rc2 (oczywiście – w kanale aktualizacji beta). Przynosi ona dość istotne nowości. Pierwsza, którą docenią zwłaszcza ci którzy mają rekuperację w swoich domach.

Jeśli Twój NAM wyposażysz w restartera SDS011 to w konfiguracji SDS możesz ustawić alarm włączający się zadaną wartość PM2.5 lub PM10.

Uwaga – umknął mi fakt, że zmieniłem pin 1 na pin 7, więc opis w konfiguracji nie jest właściwy, ale że odkryłem to po wystawieniu binarek, to dopiero w wersji rc3 to się zmieni. Przy takich ustawieniach pin 7 restartera (na drabince golpin pin najbliżej zielonej diody) przejdzie w stan wysoki przy 55 µg/m³ a wyłączy się ponownie gdy PM2.5 spadnie do 45 µg/m³. Można wybrać PM10 jako wartość do śledzenia. Alarm sygnalizowany jest przez stan wysoki na tym pinie (czyli 3.3V).

Jeżeli masz w domu mechaniczną wentylację możesz w ten sposób otrzymać informację o potrzebie jej wyłączenia gdy powietrze jest złej jakości. Wyprowadź ten sygnał na zewnątrz (nie zapomni o “pobraniu” również GND ze złącza EXT lub któregoś z gniazd HX) i możesz sterować urządzeniem.

Podobne rozwiązanie możesz osiągnąć korzystając z automatyki domowej (czy to Home Assistant czy Domoticz), są też gotowe komercyjne rozwiązania. Tutaj przewagą jest prostota – jeśli nie masz HA/Domoticza to też będzie działać. Jako że działa to lokalnie, nie wymaga to dostępu do chmury jak to ma w przypadku niektórych rozwiązań które spotkasz u konkurencji.

LoRaWAN

Pojawił się oczekiwany przez niektórych od dłuższego czasu zestaw NAM 0.4 – oparty o ESP32 i działający w LoRaWAN. Zestaw jest jeszcze w wersji beta, ale jeśli ktoś jest mocno zainteresowany przetestowaniem – to zapraszam. Wersja NAMF-47rc2 pozwala już skorzystać z LoRaWANu – wystarczy że jesteś w zasięgu sieci The Things Network. Druga dobra wiadomość dotycząca TTN jest taka, że poza byciem w zasięgu nie potrzebujesz dodatkowej infrastruktury – Tomek Rękawek, autor serwisu aqi.eco dodał integrację, która pozwala wysyłać dane z TTN do aqi.eco! Ale o szczegółach, to napiszę na Starter Kit, opisując konfigurację. Na razie dostępna jest instrukcja lutowania zestawu NAM 0.4.

DNMS – walcz z hałasem!

Kolejna duża nowość – to wsparcie dla DNMS! Digital Noise Measurement Sensor to jest, jak sama nazwa wskazuje, czujnik mierzący natężenie hałasu. No i od wersji 47rc2 jest już obsługiwany przez NAM.

Na dokładkę – lada dzień w sprzedaży u nas pojawi się zestaw do zlutowania, który pozwoli zbudować taki czujnik.

NAMF-2020-46a

Uważni obserwatorzy (wiem że tacy są 🙂 ) zauważyli pewnie to pojawienie się literki a przy numerze wersji. Został poprawiony jeden drobny błąd – format danych Prometheus. Od dłuższego czasu wkradł się tam jeden nadmiarowy znak, psujący wszystko.

Format Prometheus jest odziedziczony po kodzie Sensor Community i chyba nie jest u nas intensywnie wykorzystywany (dlatego dopiero po długim czasie ten nadmiarowy nawiasik wyszedł na jaw), ale przy tej okazji sprawdziłem dokładniej czym jest Prometheus.

I muszę powiedzieć jako zwolennik rozwiązań open source, że spodobał mi się 🙂 Jest to system zbierania danych nieco podobny do InfluxDB. Można poczytać więcej na stronach Prometheusa.

NAMF-2020-46

Po pewnym poślizgu, kilka dni temu na serwerze pojawiła się w końcu nowa wersja NAMF. W skrócie, co się zmieniło:

  • jest procedura resetu do ustawień fabrycznych – 3krotne naciśnięcie reset w krótkich odstępach czasu (ok 5-10 sekund) spowoduje wymazanie całej konfiguracji
  • jeśli masz w swoim NAM LCD możesz skonfigurować wygaszanie podświetlenie w określonych godzinach. Gdy LCD świeci ci w okno możesz go np od północy do 6 rano wyłączyć (podświetlenie)
  • BH1750 – sensor natężenia światła otoczenia jest obsługiwany
  • LoRaWAN – tu trochę się chwalę, bo jeszcze wersja płytki/sensora współpracująca z LoRaWAN nie jest publicznie dostępna, ale wersja NAMF-2020-46 przyniosła wiele potrzebnych zmian by wreszcie ją upublicznić. Plan jest by była dostępna (wersja LoRaWAN) jeszcze w tym roku.

No, oczywiście, trochę błędów zostało poprawione, najistotniejszy to chyba niedziałające hasła przy wysyłaniu danych do InfluxDB.