Spisu treści:

CloudyData - ESP8266 do Arkuszy Google w prosty sposób: 10 kroków (ze zdjęciami)
CloudyData - ESP8266 do Arkuszy Google w prosty sposób: 10 kroków (ze zdjęciami)

Wideo: CloudyData - ESP8266 do Arkuszy Google w prosty sposób: 10 kroków (ze zdjęciami)

Wideo: CloudyData - ESP8266 do Arkuszy Google w prosty sposób: 10 kroków (ze zdjęciami)
Wideo: Hack Your Career - Tworzenie aplikacji z wykorzystaniem Google Cloud Platform (14.04.2021) 2024, Lipiec
Anonim
CloudyData - ESP8266 do Arkuszy Google stało się proste
CloudyData - ESP8266 do Arkuszy Google stało się proste

Od dawna szukam przechowywania danych w chmurze w ciągu ostatnich lat: ciekawie jest monitorować dane z dowolnego rodzaju czujnika, ale ciekawsze jest, jeśli dane te są dostępne wszędzie bez żadnych trudności z przechowywaniem, takich jak korzystanie z kart SD lub podobnie, w lokalnych magazynach. Zwykłem przechowywać dane o prędkości wiatru na kartach SD lata temu, zanim IoT i usługi w chmurze zaczęły być proste w użyciu: teraz krok dalej jest możliwy ze szczególnymi trudnościami, nawet jeśli nie jesteś ekspertem IoT ani programistą.

W tej instrukcji opiszę, w jaki sposób monitoruję jakość powietrza w domu, szczególnie odnosząc się do stężenia kurzu i cząstek stałych w pobliżu mojej drukarki 3D, próbując zrozumieć, czy proces drukowania 3D jest niebezpieczny pod względem PM2,5 i w jaki sposób jestem używanie Arkuszy Google do przechowywania danych bez konieczności korzystania z usług stron trzecich.

Krok 1: Cel ogólny

Cel ogólny
Cel ogólny

Chcę wiedzieć, czy życie w obecności drukarki 3D może być niebezpieczne.

Aby to zrobić, potrzebuję danych, które muszą być przechowywane w chmurze.

Chcę korzystać z Arkuszy Google, ponieważ jest to proste i skuteczne.

Chcę też prywatności: udostępnianie danych Google nie jest moim pierwszym wyborem, ale jest to lepsze niż korzystanie z usług stron trzecich, jak robi to wielu blogerów.

Korzystanie z Arkuszy Google to krok w kierunku przesyłania danych do osobistej pamięci lokalnej, takiej jak Nextcloud, na prostym serwerze NAS: zostanie to opisane w przyszłej instrukcji.

Krok 2: Pierwszy krok: Czujniki

Pierwszy krok: czujniki
Pierwszy krok: czujniki
Pierwszy krok: czujniki
Pierwszy krok: czujniki

Używam 2 czujników do monitorowania jakości powietrza w domu:

  • moduł czujnika wykrywania jakości powietrza Nova PM SDS011, świetny sprzęt, stosunkowo prosty w użyciu z Arduino i podobnymi płytami. Możesz go używać z własnym oprogramowaniem (tylko okna!:-() i adapterem USB lub podłączać Arduino z bibliotekami Wiele informacji znajdziesz tutaj:

    • inovafitness.com/en/a/chanpinzhongxin/95.ht…
    • www-sd-nf.oss-cn-beijing.aliyuncs.com/%E5%…
    • aqicn.org/sensor/sds011/
  • osłona SHT30 od Wemos, dla Wemos D1 mini: używałem wersji v1.0.0, aktualna wersja to v2.1.0, ale mają takie same wymiary, te same funkcje

    wiki.wemos.cc/products:d1_mini_shields:sht…

Krok 3: Drugi krok: Podłączanie do mikrokontrolera

Drugi krok: łączenie z mikrokontrolerem
Drugi krok: łączenie z mikrokontrolerem

Wemos D1 mini to chyba najlepszy sposób na prototypowanie wokół ESP8266: złącze microUSB, dioda na płycie, ładne ekrany gotowe do użycia dostępne.

Nakładkę SHT30 podłączyłem bezpośrednio do Wemos D1 mini (uważaj na orientację!), a następnie podłączyłem Nova Air Sensor do Wemos D1 mini w następujący sposób:

Wemos GND pin Nova Czujnik powietrza GND

Wemos 5V pin Nova Czujnik powietrza 5V

Wemos D5 pin (pin RX) Nova Czujnik powietrza TX

Wemos D6 pin (TX pin) Nova Czujnik powietrza RX

Więcej informacji znajdziesz tutaj:

www.hackair.eu/docs/sds011/

www.zerozone.it/tecnologia-e-sicurezza/nov…

www.instructables.com/id/Make-one-PM25-mon…

Krok 4: Trzeci krok: Budowanie szkicu

Teraz musisz zbudować szkic: mamy szczęście, niektórzy opracowali specjalne biblioteki dla czujnika Nova Air, dzięki czemu możesz łatwo zapisać swoje oprogramowanie.

Mój korzysta również z biblioteki SHT30, aby mierzyć i przesyłać dane dotyczące temperatury i wilgotności.

Zremiksowałem jakiś szkic, który znalazłem w Internecie, szczególnie ten od nishant_sahay7, którego samouczek jest kompletny i pełen informacji. Znajdziesz go tutaj.

Skorzystałem z tej biblioteki:

W wygenerowanym przeze mnie szkicu skomentuję tylko kilka linijek:

linia 76-77: wybudzę na chwilę czujnik kurzu, a następnie ponownie przejdzie w stan uśpienia, ponieważ arkusze danych mówią, że ma działać przez około 8000 godzin, co jest więcej niż wystarczające, ale nie nieskończone

sds.wakeup();opóźnienie(30000); // działa 30 sekund

linia 121: przesyłane dane to temperatura, wilgotność, PM2,5 i PM10

sendData(t, h, pm2_5, pm10);

linia 122-123: nie używam ESP.deepSleep, spróbuję w przyszłości; teraz wystarczy zwykłe opóźnienie (90000), aby dane były wysyłane co 30s + 90s = 2 minuty, mniej więcej

//ESP.deepSleep(dataPostOpóźnienie);

opóźnienie (90000);

linia 143:

to jest najważniejsza linia, kolejność tworzenia String_url do przesyłania danych musi być taka sama, jak w Google Script (patrz kolejne kroki)

String url = "/makra/s/" + GAS_ID + "/exec?temperature=" + string_x + "&humidity=" + string_y + "&PM2.5=" + string_z + "&PM10=" + string_k;

Krok 5: Czwarty krok: Przygotowanie arkusza Google i jego skryptu

Czwarty krok: przygotowanie arkusza Google i jego skryptu
Czwarty krok: przygotowanie arkusza Google i jego skryptu
Czwarty krok: przygotowanie arkusza Google i jego skryptu
Czwarty krok: przygotowanie arkusza Google i jego skryptu
Czwarty krok: przygotowanie arkusza Google i jego skryptu
Czwarty krok: przygotowanie arkusza Google i jego skryptu

Kredyty trafiają do nishant_sahay7, jak powiedziałem.

Po prostu ponownie publikuję tutaj jego pracę, dodając kilka wskazówek dotyczących przyszłych ulepszeń i modowania:

  1. Konfigurowanie Arkuszy Google

    1. Otwórz Dysk Google i Utwórz nowy arkusz kalkulacyjny i nazwij go, a następnie podaj pola z parametrami, które chcesz zdefiniować.
    2. Identyfikator arkusza pokazano na rysunku 2
    3. Przejdź do edytora narzędzi-skryptów (rysunek 3)
    4. Podaj nazwę taką samą jak Arkusz kalkulacyjny (rysunek 4)
    5. Wybierz kod stąd i wklej w oknie edytora skryptów (rysunek 5)

      Zastąp var sheet_id identyfikatorem arkusza kalkulacyjnego z kroku 2

    6. Przejdź do Opublikuj - Wdróż jako aplikację internetową (rysunek 6)
    7. Zmień typ dostępu na dowolny, nawet anonimowy, i wdróż (rysunek 7)
    8. Przejdź do uprawnień do przeglądania (rysunek 8)
    9. Wybierz Zaawansowane (rysunek 9)
    10. Wybierz Przejdź do (nazwa pliku), a następnie zezwól (rysunek 10)
    11. Skopiuj aktualny adres URL aplikacji internetowej i kliknij OK (rysunek 11)
  2. Uzyskiwanie identyfikatora skryptu Google

    • Skopiowany adres URL będzie wyglądał następująco: https://script.google.com/macros/s/AKfycbxZGcTwqe… powyższy link ma postać: https://script.google.com/macros/s/AKfycbxZGcTwqe…/exec Tutaj identyfikator skryptu Google to: AKfycbxZGcTwqeDgF3MBMGj6FJeYD7mcUcyo2V6O20D6tRlLlP2M_wQ Będzie on używany do przesyłania danych do Arkuszy Google: Przykład:

      script.google.com/macros/s/AKfycbxZGcTwqeD…

      Wklejenie powyższego linku do nowego okna i naciśnięcie Enter spowoduje przesłanie danych do Arkusza Google, a w oknie pojawi się komunikat potwierdzający. Wysłane dane będą

      • temperatura = 1
      • wilgotność=2
      • PM2,5=3
      • PM10=33,10
  3. Zmień na Twoje potrzeby

    musisz odpowiednio zmienić Google Script ORAZ szkic Arduino, aby dodać lub usunąć wartości i kolumny: porównaj rysunek 5 i rysunek 5b

Krok 6: Piąty krok: Łączenie wszystkich razem

Piąty krok: Łączenie wszystkich razem
Piąty krok: Łączenie wszystkich razem

Teraz masz urządzenie wysyłające dane do Arkuszy Google, skrypt Google zdolny do odbierania i przydzielania danych, wystarczy przeglądarka, aby przeglądać dane na komputerze lub smartfonie lub cokolwiek chcesz.

Najlepiej byłoby zagospodarować trochę tych danych, aby pokazać tylko kilka potrzebnych.

Krok 7: Szósty krok: Wykres danych

Szósty krok: wykres danych
Szósty krok: wykres danych
Szósty krok: wykres danych
Szósty krok: wykres danych

Aby mieć prosty, ale ciekawy i użyteczny panel, swoje dane uporządkowałem w ten sposób:

  1. oryginalny arkusz google, główny, używany do pobrania jego identyfikatora do wprowadzenia w Google Script, MUSI być nietknięty i zachować swoją kolejność
  2. Wygenerowałem dwa inne arkusze, po głównym

    1. jeden do wyodrębnienia tylko kilku danych z całości, na przykład ostatnie 24 godziny Do wyodrębnienia danych użyłem funkcji SORT i ZAPYTAJ, wstawiając w pierwszej komórce wyodrębnionych danych

      =SORTUJ(ZAPYTANIE(Foglio1!A2:Z; "kolejność według limitu opisu 694"); 1, 1)

    2. drugi do tworzenia wykresów pokazujących wartości, tworząc prosty panel

Krok 8: Krok siódmy: Analiza danych

Krok siódmy: analiza danych
Krok siódmy: analiza danych

Zrobiłem kilka analiz i mogę powiedzieć, że do tej pory nie powinno być żadnego niebezpieczeństwa przy korzystaniu z drukarki 3D (materiał: PLA) w zakresie PM2.5 i PM10. Za każdym razem, gdy zaczynam nowy wydruk wartości cząstek trafiają na dach, tylko na chwilę: Myślę, że jest to spowodowane wcześniejszym osadzaniem się kurzu na łożu drukarki 3D, tak że gdy wentylator efektora dotrze do płyty, zaczyna latać dookoła. Po kilku minutach kurz znika, ponieważ wentylatory nadal dmuchają, a wartości PM2,5 i PM10 spadają do niższych wartości.

Rzeczywiście, potrzebne są dalsze dane i analizy.

Zalecana: