Skip to content

Commit

Permalink
updated instructions and descriptions
Browse files Browse the repository at this point in the history
  • Loading branch information
bfaliszek committed Jan 17, 2020
1 parent 0a1a7a4 commit 215c23d
Show file tree
Hide file tree
Showing 8 changed files with 43 additions and 25 deletions.
5 changes: 1 addition & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Smogomierz to niekomercyjny projekt łatwego w budowie i taniego miernika zanieczyszczeń powietrza. Projekt jest w pełni otwarty i łatwy w modyfikowaniu.

Smogomierz nie wysyła Twoich danych do żadnego serwisu, jeśli nie wyrazisz na to zgody. Dane pomiarowe z Twojego miernika należą do Ciebie i to od Ciebie zależy co z nimi zrobisz i komu je udostępnisz. Jeśli tylko Ty chcesz mieć dostęp do swoich danych, to masz do tego prawo. Jeśli jednak chcesz się nimi podzielić, to w karcie Konfiguracji panelu Smogomierza masz możliwość wyboru kilku serwisów, do których możesz wysłać dane. Wśród nich znajdziesz między innymi serwis [AirMonitor](http://mapa.airmonitor.pl), [ThingSpeak](https://thingspeak.com), czy bazę danych [InfluxDB](https://www.influxdata.com/time-series-platform/influxdb/). Smogomierz posiada również [wtyczkę Homebridge](https://github.com/bfaliszek/homebridge-smogomierz).
Smogomierz nie wysyła Twoich danych do żadnego serwisu, jeśli nie wyrazisz na to zgody. Dane pomiarowe z Twojego miernika należą do Ciebie i to od Ciebie zależy co z nimi zrobisz i komu je udostępnisz. Jeśli tylko Ty chcesz mieć dostęp do swoich danych, to masz do tego prawo. Jeśli jednak chcesz się nimi podzielić, to w karcie Konfiguracji panelu Smogomierza masz możliwość wyboru kilku serwisów, do których możesz wysłać dane. Wśród nich znajdziesz między innymi serwis [AirMonitor](http://mapa.airmonitor.pl), [ThingSpeak](https://thingspeak.com), [aqi.eco](https://aqi.eco/), czy bazę danych [InfluxDB](https://www.influxdata.com/time-series-platform/influxdb/). Smogomierz posiada również [wtyczkę Homebridge](https://github.com/bfaliszek/homebridge-smogomierz).

Smogomierz po pierwszym uruchomieniu tworzy własną sieć WiFi o nazwie "Smogomierz-deviceName"(np. "Smogomierz-328017"). Po podłączeniu się z nią, będziesz miał możliwość skonfigurowania połączenia WiFi z własną siecią domową. Z listy dostępnych sieci wybierz swoją własną i podaj do niej hasło. Smogomierz zapisze dane w swojej pamięci wewnętrznej i ponownie się uruchomienie. Dalszą konfigurację wykonasz już przez przeglądarkę internetową wchodząc pod adres Smogomierz-deviceName.local lub IP_Smogomierza(do sprawdzenia na routerze).

Expand Down Expand Up @@ -38,6 +38,3 @@ Gotowe zestawy części potrzebnych do zbudowania własnego Smogomierza, dostęp

[Instrukcja instalacji oprogramowania wymaganego do kompilacji oprogramowania z repozytorium](https://github.com/hackerspace-silesia/Smogomierz/blob/master/instrukcje/software.md)

### Tested on:

ArdinoIDE 1.8.9 – https://www.arduino.cc/en/main/software
10 changes: 7 additions & 3 deletions instrukcje/components.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,19 @@ Wszystkie potrzebne części możesz zamówić w sklepie internetowym **Botland*
Jeśli jednak wolisz kupić wszystkie części samodzielnie, to poniżej znajdziesz listę potrzebnych elementów. Podane linki to przykładowe miejsca, w których można kupić dany produkt. Każdą z wymienionych części można kupić w dowolnym sklepie. Zastosowane elementy to łatwo dostępne podzespoły, które znajdziesz w większości sklepów z elektroniką.

## Układ główny
Główny układ sterujący Smogomierzem to ESP8266 w wersji ESP-12. Zalecamy użycie **ESP8266 – NodeMCu V3**, jednak bez problemu oprogramowanie będzie działać np. na WeMos D1.
Główny układ sterujący Smogomierzem to ESP32 lub ESP8266 w wersji ESP-12. Zalecamy użycie **ESP32**(ma znacznie więcej pamięci niż ESP8266), jednak bez problemu oprogramowanie będzie działać też na ESP8266(np. NodeMCu V3, WeMos D1).

+ **ESP32**https://www.aliexpress.com/item/32928267626.html

+ **ESP8266 – NodeMCu V3**https://www.aliexpress.com/item/V3-Wireless-module-NodeMcu-4M-bytes-Lua-WIFI-Internet-of-Things-development-board-based-ESP8266-esp/32647542733.html

## Mierniki PM2.5 i PM10

Oprogramowanie Smogomierza wspiera obecnie kilka różnych modeli mierników pyłu zawieszonego w powietrzu. Zalecamy użycie miernika **PMS7003**. Lista obsługiwanych modeli znajduje się poniżej:
Oprogramowanie Smogomierza wspiera obecnie kilka różnych modeli mierników pyłu zawieszonego w powietrzu. Zalecamy użycie miernika ***Sensrion SPS30*** lub **PMS7003**. Lista obsługiwanych modeli znajduje się poniżej:

+ **Sensirion SPS30** – Laserowy miernik pyłu PM1, PM2.5, PM4 i PM10 – https://www.tme.eu/pl/details/sps30/czujniki-gazu/sensirion/1-101638-10/ Warto zamiętać o zakupue specjalnego kabla dla SPS30 - JST ZH 1.5. Wtyczka posiada 5 pinów i raster 1,5mm - https://allegro.pl/oferta/jst-zh-1-50mm-5pin-wtyczka-z-kablami-8129839140

+ **PMS5003/PMS7003** – Laserowy miernik pyłu PM1, PM2.5 i PM10. Polecam zamówić wersję kablem, bo bezpośrednio do PMS7003 praktycznie nie da się przylutować/podłaczyć przewodów. Przykładowy model z kablem – https://www.aliexpress.com/item/1-set-Laser-PM2-5-PMS7003-G7-High-precision-laser-dust-concentration-sensor-digital-dust-particles/32826370928.html
+ **PMS5003/PMS7003** – Laserowy miernik pyłu PM1, PM2.5 i PM10. Polecam zamówić wersję z kablem, bo bezpośrednio do PMS7003 praktycznie nie da się przylutować/podłaczyć przewodów. Przykładowy model z kablem – https://www.aliexpress.com/item/1-set-Laser-PM2-5-PMS7003-G7-High-precision-laser-dust-concentration-sensor-digital-dust-particles/32826370928.html

+ **Honeywell HPMA115S0** – Laserowy miernik pyłu PM1, PM2.5 i PM10 – https://www.tme.eu/pl/details/hpma115s0-xxx/czujniki-gazu/honeywell/

Expand Down
Binary file added instrukcje/esp32_pins.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 15 additions & 1 deletion instrukcje/hardware.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,15 @@ Całościowy schemat podłączenia:

![Schemat](https://raw.githubusercontent.com/hackerspace-silesia/Smogomierz/master/instrukcje/schemat.png)

## ESP32

Moduł ESP, to główny element miernika. To właśnie na tę płytkę wgrywamy oprogramowanie. Ma ona wbudowany moduł WiFi, który pozwala na tworzenie sieci bezprzewodowej i wysyłanie danych z pozostałych czujników. Wszystkie piny GND na płytce są ze sobą połączone i można z nich korzystać zamiennie. Podobnie z pinami 3V. Jeśli zdecydujemy się na Smogomierz oparty o ESP32(zalecane, ma znacznie więcej pamięci niż ESP8266), to nie musimy już zamawiać ESP8266.

![ESP32 Pinour](https://raw.githubusercontent.com/hackerspace-silesia/Smogomierz/master/instrukcje/esp32_pins.jpg)

## ESP8266 - NodeMCU V3

Główny element miernika. To właśnie na tę płytkę wgrywamy oprogramowanie. Ma ona wbudowany moduł WiFi, który pozwala na tworzenie sieci bezprzewodowej i wysyłanie danych z pozostałych czujników. Wszystkie piny GND na płytce są ze sobą połączone i można z nich korzystać zamiennie. Podobnie z pinami 3V.
Moduł ESP, to główny element miernika. To właśnie na tę płytkę wgrywamy oprogramowanie. Ma ona wbudowany moduł WiFi, który pozwala na tworzenie sieci bezprzewodowej i wysyłanie danych z pozostałych czujników. Wszystkie piny GND na płytce są ze sobą połączone i można z nich korzystać zamiennie. Podobnie z pinami 3V. Jeśli zdecydujemy się na Smogomierz oparty o ESP8266, to nie musimy już zamawiać ESP32(zalecany jest jednak wybór ESP32, ma znacznie więcej pamięci niż ESP8266).

![ESP8266 NodeMCU V3 Pinout](https://raw.githubusercontent.com/hackerspace-silesia/Smogomierz/master/instrukcje/nodemcu_pins.png)

Expand Down Expand Up @@ -58,6 +64,14 @@ PMS7003 zasilamy bezpośrednio z pinu 5V wyprowadzonego z portu microUSB w obudo

![PMS7003 Schemat](https://raw.githubusercontent.com/hackerspace-silesia/Smogomierz/master/instrukcje/PMS7003_schemat.png)

## Sensirion SPS30

Sensirion SPS30 to laserowy miernik pyłu zawieszonego w powietrzu, który podane pomiary PM1, PM2.5, PM4 oraz PM10. Posiada wbudowany wiatraczek. Urządzenia zasilane jest 5V i wyniki podaje poprzez UART. W naszym projekcie korzystamy z dwóch pinów RX oraz TX do pobierania wyników pomiarów oraz z pinu 5V i GND do zasilania SPS30. Pozostałe piny dostępne w mierniku SPS30 nie będą przez nas wykorzystywane. Sensirion SPS30 posiada system automatyczne czyszczenia kurzu osadzającego się wewnątrz miernika oraz żywotność aż 8 lat. Pomiary z Sensirion SPS30 są jednymi z najbardziej dokładnych. Jest on jednak jednym z droższych mierników. Kosztuje w Polsce około 140 zł.

SPS30 zasilamy bezpośrednio z pinu 5V wyprowadzonego z portu microUSB w obudowie urządzenia. Piny GND podpinamy do dowolnego pinu G(GND) na płytce ESP8266. Pin TX podpinamy do pinu D1 na płytce ESP8266. Pin RX podpinamy do pinu D2 na ESP8266.

Pełną ([dokumentację](https://www.sensirion.com/en/environmental-sensors/particulate-matter-sensors-pm25/)) możemy znaleźć na stronie producenta Sensiriona SPS30. Warto również pamiętać, że SPS30 posiada dość nietypową wtyczkę: JST ZH 1.5. Wtyczka posiada 5 pinów i raster 1,5mm.

## HPMA115S0

Honeywell HPMA115S0 to laserowy miernik pyłu zawieszonego w powietrzu, który podane pomiary PM1, PM2.5 oraz PM10. Posiada wbudowany wiatraczek. Urządzenia zasilane jest 5V i wyniki podaje poprzez UART. W naszym projekcie korzystamy z dwóch pinów RX oraz TX do pobierania wyników pomiarów oraz z pinu 5V i GND do zasilania HPMA115S0. Pozostałe dostępne w mierniku HPMA115S0 nie będą przez nas wykorzystywane.
Expand Down
7 changes: 5 additions & 2 deletions instrukcje/software-additionals.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Smogomierz pozwala na obsługę różnych serwisów internetowych, do których m

## Nazwa urządzenia oraz Bonjour/Zeroconf

Smogomierz domyślnie tworzy sieć WiFi o nazwie np. "Smogomierz-328017". Ostatnie 6 znaków to Chip ID płytki ESP8266. Jest ono unikatowe dla każdego ESP8266. Nazwę naszego urządzenia możemy zmienić w zakładce Konfiguracja w panelu Smogomierza. Musimy w tym celu wyłączyć automatyczne generowanie nazwy i wpisać swoją własną.
Smogomierz domyślnie tworzy sieć WiFi o nazwie np. "Smogomierz-328017". Ostatnie 6 znaków to Chip ID płytki ESP. Jest ono unikatowe dla każdego ESP32/ESP8266. Nazwę naszego urządzenia możemy zmienić w zakładce Konfiguracja w panelu Smogomierza. Musimy w tym celu wyłączyć automatyczne generowanie nazwy i wpisać swoją własną.

Smogomierz domyślnie obsługuje protokół Bonjour/Zeroconf. Pozwala on na połączenie się z miernikiem będącym w naszej sieci, bez znajomości jego adresu IP. Po połączeniu Smogomierza z naszą siecią WiFi, możemy otworzyć przeglądarkę internetową i wpisać adres np. "Smogomierz-328017.local"(jeśli ustawimy sobie własną nazwę urządzenia będzie to NaszaNazwa.local). Zeroconf do działania potrzebuje doinstalowania na komputerze z Windowsem aplikacji [Bonjour](https://support.apple.com/kb/DL999?locale=pl_PL), a pod Linuksem – Avahi. System macOS(oraz iOS) nie wymaga instalacji dodatkowego oprogramowania.

Expand All @@ -18,11 +18,14 @@ Musimy również wypełnić [formularz](https://docs.google.com/forms/d/e/1FAIpQ

Na koniec zostało nam tylko włączenie możliwości wysyłania danych pomiarowych w naszym mierniku. Możemy to zrobić oczywiście w zakładce Konfiguracja w panelu Smogomierza. Musimy tutaj również wpisać nasze współrzędne geograficzne(tutaj używamy formatu xx,xxx – np. 50,1234; używamy przecinków a nie kropek). Dodatkowo podanie wysokości umożliwi nam dokładniejsze pomiary ciśnienia atmosferycznego.

## aqi.eco

[aqi.eco](https://aqi.eco) to serwis, który pozwala na gromadzenie danych pomiarowych z różnych czujników oraz tworzenie wykresów do zgromadzonych danych. Wykresy oraz pomiary mogą być prywatne lub publicznie dostępne. Serwis wymaga rejestracji. Ma darmowe konta ograniczone. aqi.eco pozwala na dostęp do danych pomiarowych z dowolnego miejsca. Jeśli chcesz mieć dostęp do informacji ze swojego Smogomierza w każdym miejscu, to aqi.eco powinien w tym pomóc. Jest to wygodne rozwiązanie dla osób, które nie chcą tworzyć własnej bazy danych, a zależy im głównie na dostępnie do informacjach z własnego miernika.

## ThingSpeak

[ThingSpeak](https://thingspeak.com) to serwis, który pozwala na gromadzenie danych pomiarowych z różnych czujników oraz tworzenie wykresów do zgromadzonych danych. Wykresy oraz pomiary mogą być prywatne lub publicznie dostępne. Serwis wymaga rejestracji. Ma darmowe konta ograniczone do 3 mln pomiarów na rok. ThingSpeak pozwala na dostęp do danych pomiarowych z dowolnego miejsca. Wystarczy tylko login i hasło. Jeśli chcesz mieć dostęp do informacji ze swojego Smogomierza w każdym miejscu, to ThingSpeak powinien w tym pomóc. Dodatkowo serwis posiada aplikacje dostępne na smartfony. Jest to wygodne rozwiązanie dla osób, które nie chcą tworzyć własnej bazy danych, a zależy im głównie na dostępnie do informacjach z własnego miernika. Opis rejestracji w serwisie ThingSpeak oraz konfiguracji profilu znajdziesz w instrukcji ["ThingSpeak"](https://github.com/hackerspace-silesia/Smogomierz/blob/master/instrukcje/thingspeak.md).


## InfluxDB

Smogomierz pozwala na wysyłanie pomiarów do własnej bazy danych [InfluxDB](https://www.influxdata.com/time-series-platform/influxdb/). Jeśli chcesz to zrobić, to w zakładce Konfiguracja w panelu Smogomierza, musisz włączyć wysyłanie danych do InfluxDB oraz wpisać adres swojej bazy danych, podać port na którym działa, nazwę bazy danych oraz użytkownika i hasło. InfluxDB jest świetnym źródłem danych dla Grafany, czyli darmowego środowiska do wizualizacji danych. [Grafana](https://grafana.com) pozwala na łatwe tworzenie wykresów ze zgromadzonych danych.
Expand Down
6 changes: 3 additions & 3 deletions instrukcje/software-bin.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

Poniższy opis krok po kroku, przeprowadzi Cię przez procedurę wgrywania oprogramowania z pliku .bin na Twój mierniki smogu. Poniższy opis jest pomocny jeśli nie chcesz zmieniać przygotowanego przez nas oprogramowania dla Smogomierza. Jeśli planujesz dopisać własny kod, lub chcesz samemu skompilować plik .bin z oprogramowaniem dla Miernika zajrzyj do opisu ["Instalacja oprogramowania"](https://github.com/hackerspace-silesia/Smogomierz/blob/master/instrukcje/software.md)

Pliki .bin można wgrać na płytkę ESP8266 na kilka sposobów. Jeśli masz już działający Smogomierz, wystarczy, że wejdziesz przez przeglądarkę internetową w kartę Update i wybierzesz tam plik .bin. Oprogramowanie zrobi resztę. Przeinstaluje się na nowsza wersję i uruchomi ponownie miernik smogu. Jeśli jednak wgrywasz oprogramowanie po raz pierwszy będziesz musiał skorzystać z połączenia przewodowego i podłączyć NodeMCu do portu USB w komputerze.
Pliki .bin można wgrać na płytkę ESP32/ESP8266 na kilka sposobów. Jeśli masz już działający Smogomierz, wystarczy, że wejdziesz przez przeglądarkę internetową w kartę Update i wybierzesz tam plik .bin. Oprogramowanie zrobi resztę. Przeinstaluje się na nowsza wersję i uruchomi ponownie miernik smogu. Jeśli jednak wgrywasz oprogramowanie po raz pierwszy będziesz musiał skorzystać z połączenia przewodowego i podłączyć ESP do portu USB w komputerze.

Najnowszą wersję oprogramowania dla Smogomierza znajdziesz zawsze [tutaj](https://github.com/hackerspace-silesia/Smogomierz/releases).

## Sterowniki

Jeśli nigdy wcześniej nie korzystaliśmy z Arduino ani ESP8266 lub podobnych rozwiązań, będziemy musieli zainstalować sterowniki, aby nasz system widział podłączoną do USB płytkę ESP8266.
Jeśli nigdy wcześniej nie korzystaliśmy z Arduino ani ESP32/ESP8266 lub podobnych rozwiązań, będziemy musieli zainstalować sterowniki, aby nasz system widział podłączoną do USB płytkę ESP32/ESP8266.

NodeMCu V3 korzysta najczęściej z układu **CH340**. Sterowniki do niego można pobrać [tutaj](https://sparks.gogo.co.nz/ch340.html)(W przypadku systemu macOS, zalecamy instalację wersji 1.4 dostępnej [tutaj](https://github.com/adrianmihalko/ch340g-ch34g-ch34x-mac-os-x-driver)).
Istnieje jednak możliwość, że Twoja płytka ma układ **CP2102**. Sterowniki do niego dostępnej są [tutaj](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers).
Expand All @@ -18,7 +18,7 @@ Po pobraniu i instalacji odpowiednich sterowników, powinniśmy uruchomić ponow

## Flasher

Nazwa brzmi trochę strasznie, ale to oprogramowanie służące do wgrywania plików .bin na płytkę ESP8266. Istnieją różne programy służące do wgrywania plików .bin. Polecamy użycie **NodeMCU PyFlasher**. To darmowy program z graficznym interfejsem użytkownika. Działa zarówno pod systemem Windows jak i macOS. Można go pobrać [tutaj](https://github.com/marcelstoer/nodemcu-pyflasher/releases).
Nazwa brzmi trochę strasznie, ale to oprogramowanie służące do wgrywania plików .bin na płytkę ESP. Istnieją różne programy służące do wgrywania plików .bin. Polecamy użycie **NodeMCU PyFlasher**. To darmowy program z graficznym interfejsem użytkownika. Działa zarówno pod systemem Windows jak i macOS. Można go pobrać [tutaj](https://github.com/marcelstoer/nodemcu-pyflasher/releases).
W przypadku Linuksa(działa również na macOS) zalecamy instalację narzędzia konsolowego: [esptool](https://github.com/espressif/esptool).
![PyFlasher1](https://raw.githubusercontent.com/hackerspace-silesia/Smogomierz/master/instrukcje/screens/PyFlasher1.jpg)

Expand Down
Loading

0 comments on commit 215c23d

Please sign in to comment.