Spisu treści:

Zbuduj stację pogodową Raspberry Pi SUPER: 8 kroków (ze zdjęciami)
Zbuduj stację pogodową Raspberry Pi SUPER: 8 kroków (ze zdjęciami)

Wideo: Zbuduj stację pogodową Raspberry Pi SUPER: 8 kroków (ze zdjęciami)

Wideo: Zbuduj stację pogodową Raspberry Pi SUPER: 8 kroków (ze zdjęciami)
Wideo: Setki retro gier w Twojej kieszeni - Budowa przenośnej retro konsoli | RetroPie Rasberry Pi DIY 2024, Listopad
Anonim
Image
Image

Spójrzmy prawdzie w oczy, my, ludzie, dużo mówimy o pogodzie ⛅️. Przeciętny człowiek mówi o pogodzie cztery razy dziennie, średnio przez 8 minut i 21 sekund. Zrób matematykę, a to w sumie 10 miesięcy twojego życia, które spędzisz gadając o pogodzie. Pogoda jest tematem nr 1 wśród osób rozpoczynających rozmowy i niewygodnych przerywaczy ciszy. Jeśli będziemy tak dużo o tym mówić, równie dobrze możemy przenieść naszą opinię na temat pogody na zupełnie nowy poziom. Ten super-zabawny i łatwy projekt wykorzysta do tego Internet rzeczy (IoT) i Raspberry Pi.

Zamierzamy zbudować własny, hiperlokalny pulpit pogodowy IoT, rejestrujący z czasem pogodę wewnątrz i na zewnątrz naszego domu. Następnym razem, gdy ktoś zapyta Cię „a co z pogodą ostatnio?”, będziesz mógł wyciągnąć telefon i pozostawić go bez tchu dzięki szalonej umiejętności analizy pogody ☀️.

Co będziesz potrzebować, aby wziąć udział w kursie:1. Raspberry Pi z łącznością z Internetem

2. Raspberry Pi SenseHAT

3. 6-calowy 40-pinowy przedłużacz IDE męski na żeński (opcjonalnie dla dokładności temperatury)

4. Początkowe konto państwowe

5. To wszystko!

Poziom projektu: Początkujący

Przybliżony czas do ukończenia: 20 minut

Przybliżony współczynnik zabawy: poza wykresami

W tym samouczku krok po kroku: dowiesz się, jak korzystać z integracji API Weatherstack w stanie początkowym, aby uzyskać lokalną pogodę zewnętrzną w Twojej okolicy

- Dowiedz się, jak używać Raspberry Pi z Sense HAT (https://www.raspberrypi.org/products/sense-hat/) do przechwytywania danych pogodowych w domu

- Zbuduj swój własny, hiperlokalny pulpit pogodowy, do którego możesz uzyskać dostęp z dowolnej przeglądarki internetowej na laptopie lub urządzeniu mobilnym

- Daj swojemu meteorologowi bieg za ich pieniądze

Kieszonkowe dzieci

Co będziesz potrzebować, aby wziąć udział w kursie:

1. Raspberry Pi z łącznością z Internetem

2. Raspberry Pi SenseHAT

3. 6-calowy 40-pinowy przedłużacz IDE męski na żeński (opcjonalnie dla dokładności temperatury)

4. Początkowe konto państwowe

5. To wszystko!

Krok 1: Pierwsze kroki

Włożyliśmy już dużo pracy w przygotowanie kodu i uporządkowanie informacji. Będziemy potrzebować tylko kilku zmian po drodze.

Aby pobrać wszystkie rzeczy, które dla Ciebie przygotowaliśmy, musisz sklonować repozytorium z GitHub. Github to niesamowita usługa, która pozwala nam przechowywać, weryfikować i zarządzać takimi projektami. Aby sklonować repozytorium, wystarczy wejść do naszego terminala Pi lub terminalu komputera, który jest połączony przez SSH z twoim pi i wpisać to polecenie:

$ git clone

Naciśnij Enter, a zobaczysz te informacje:

pi@raspberrypi ~ $ git clone

Klonowanie do „wunderground-sensehat”…

remote: Liczenie obiektów: 28, gotowe.

zdalne: Razem 28 (delta 0), ponownie wykorzystane 0 (delta 0), ponownie wykorzystane 28

Rozpakowywanie przedmiotów: 100% (28/28), gotowe.

Sprawdzam łączność… gotowe.

Gdy to zobaczysz, gratulacje, pomyślnie sklonowałeś repozytorium Github i masz wszystkie niezbędne pliki do zbudowania swojej Super stacji pogodowej. Zanim przejdziemy do następnego kroku, poświęćmy trochę czasu na zbadanie tego katalogu i nauczenie się kilku podstawowych poleceń wiersza poleceń.

Wpisz poniższe polecenie w swoim terminalu:

$ ls

To polecenie wyświetla wszystko, co jest dostępne w katalogu, w którym aktualnie się znajdujesz. Ta lista pokazuje, że nasze repozytorium Github zostało pomyślnie sklonowane do naszego katalogu pod nazwą „wunderground-sensehat”. Rzućmy okiem na zawartość tego katalogu. Aby zmienić katalog, wystarczy wpisać „cd”, a następnie wpisać nazwę katalogu, do którego chcesz przejść.

W takim przypadku wpiszemy:

$ cd wunderground-sensehat

Gdy naciśniemy Enter, zobaczysz, że jesteśmy teraz w katalogu wunderground-sensehat. Wpiszmy ponownie ls, aby zobaczyć, jakie pliki zainstalowaliśmy na naszym pi.

README.md sensehat.py sensehat_wunderground.py wunderground.py

Tutaj widzimy, że mamy nasz dokument readme i kilka różnych plików Pythona. Rzućmy okiem na sensehat.py. Zamiast wskakiwać do pliku z poleceniem cd, tak jak zrobiliśmy to w przypadku katalogu, użyjemy polecenia nano. Polecenie nano pozwala nam otworzyć edytor tekstu nano, w którym mamy cały nasz kod Pythona dla każdego segmentu tego projektu. Śmiało i wpisz:

$ nano sensehat.py

Tutaj możesz zobaczyć cały kod, który przygotowaliśmy dla Ciebie dla tego projektu. Nie zamierzamy jeszcze wprowadzać żadnych zmian w tym dokumencie, ale możesz przewijać i zobaczyć, co będziemy robić w dalszej części tego samouczka.

Krok 2: Stan początkowy

Stan początkowy
Stan początkowy

Chcemy przesyłać strumieniowo wszystkie nasze dane pogodowe do usługi w chmurze, aby ta usługa przekształciła nasze dane w ładny pulpit nawigacyjny, do którego możemy uzyskać dostęp z naszego laptopa lub urządzenia mobilnego. Nasze dane potrzebują miejsca docelowego. Jako miejsce docelowe użyjemy stanu początkowego.

Krok 1: Zarejestruj się, aby otrzymać konto stanu początkowego

Przejdź do https://www.initialstate.com/app#/register/ i utwórz nowe konto.

Krok 2: Zainstaluj ISStreamer

Zainstaluj moduł Initial State Python na swoim Raspberry Pi: W wierszu poleceń (nie zapomnij najpierw SSH do swojego Pi), uruchom następujące polecenie:

$ cd /home/pi/

$ \curl -sSL https://get.initialstate.com/python -o - | sudo bash

Uwaga dotycząca bezpieczeństwa: Powyższe polecenie ma pewną ważną anatomię, o której użytkownik powinien wiedzieć.

1) Przed curl znajduje się poprzedzający \. Jest to ważne, aby upewnić się, że żaden alias curl nie zostanie uruchomiony, jeśli taki został utworzony. Pomaga to zmniejszyć ryzyko, że polecenie zrobi więcej niż zamierzono.

2) Polecenie jest poleceniem potoku, więc podczas uruchamiania przesyłasz dane wyjściowe skryptu, który jest pobierany z https://get.initialstate.com/python, do polecenia sudo bash. Ma to na celu uproszczenie instalacji, jednak należy zauważyć, że https jest tutaj ważny, ponieważ pomaga zapewnić brak manipulacji skryptem instalacyjnym typu man-in-the-middle, zwłaszcza że skrypt jest uruchamiany z podwyższonymi uprawnieniami. Jest to powszechny sposób na uproszczenie instalacji i konfiguracji, ale jeśli jesteś trochę bardziej ostrożny, istnieją nieco mniej wygodne alternatywy: możesz podzielić polecenie na dwa kroki i samodzielnie zbadać skrypt bash pobierany z polecenia curl, aby się upewnić to wierność LUB możesz postępować zgodnie z instrukcjami pip, po prostu nie otrzymasz automatycznie wygenerowanego przykładowego skryptu.

Krok 3: Zrób Automagię

Po kroku 2 zobaczysz na ekranie coś podobnego do następującego:

pi@raspberrypi ~ $ \curl -sSL https://get.initialstate.com/python -o - | sudo bash

Hasło: Rozpoczęcie łatwej instalacji ISStreamer Python!

Instalacja może potrwać kilka minut, napij się kawy:)

Ale nie zapomnij wrócić, będę miał pytania później!

Znaleziono easy_install: setuptools 1.1.6

Znaleziono pip: pip 1.5.6 z /Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg (python 2.7)

pip główna wersja: 1

pip-moll wersja: 5

Znaleziono ISStreamer, aktualizuję…

Wymaganie już aktualne: ISStreamer w /Library/Python/2.7/site-packages Porządkowanie…

Chcesz automagicznie otrzymać przykładowy skrypt? [t/N]

(wyniki mogą być inne i zająć więcej czasu, jeśli nigdy wcześniej nie instalowałeś modułu przesyłania strumieniowego Initial State Python)

Gdy zostaniesz poproszony o automatyczne pobranie przykładowego skryptu, wpisz y.

Spowoduje to utworzenie skryptu testowego, który możemy uruchomić, aby upewnić się, że możemy przesyłać strumieniowo dane do stanu początkowego z naszego Pi. Zostaniesz poproszony:

Gdzie chcesz zapisać przykład? [domyślnie:./is_example.py]:

Możesz wpisać niestandardową ścieżkę lokalną lub nacisnąć Enter, aby zaakceptować domyślną. Zostaniesz poproszony o podanie nazwy użytkownika i hasła, które właśnie utworzyłeś podczas rejestracji konta w stanie początkowym. Wprowadź oba, a instalacja zostanie zakończona.

Krok 4: Klucze dostępu

Rzućmy okiem na przykładowy skrypt, który został stworzony. Rodzaj:

$ nano is_example.py

W wierszu 15 zobaczysz wiersz rozpoczynający się od streamer = Streamer(bucket_ …. Ten wiersz tworzy nowy zasobnik danych o nazwie „Przykład strumienia Pythona” i jest powiązany z Twoim kontem. To powiązanie dzieje się z powodu access_key = „…” w tym samym wierszu. Ta długa seria liter i cyfr to klucz dostępu do konta stanu początkowego. Jeśli przejdziesz do konta stanu początkowego w przeglądarce internetowej, kliknij swoją nazwę użytkownika w prawym górnym rogu, a następnie przejdź do „moje konto”, ten sam klucz dostępu znajdziesz na dole strony w sekcji „Klucze dostępu do transmisji strumieniowej”.

Za każdym razem, gdy tworzysz strumień danych, ten klucz dostępu przekieruje strumień danych na Twoje konto (więc nie udostępniaj nikomu swojego klucza).

Krok 5: Uruchom przykład

Uruchom skrypt testowy, aby upewnić się, że możemy utworzyć strumień danych na Twoje konto stanu początkowego.

Uruchom następujące:

$ python is_example.py

Krok 6: Zysk

Wróć do swojego konta stanu początkowego w przeglądarce internetowej. Po lewej stronie na półce dziennika powinien pojawić się nowy zasobnik danych o nazwie „Przykład strumienia Pythona” (może być konieczne odświeżenie strony). Kliknij ten zasobnik, a następnie kliknij ikonę Fale, aby wyświetlić dane testowe.

Będziesz chciał przejść przez samouczek Waves, aby zapoznać się z tym, jak korzystać z tego narzędzia do wizualizacji danych. Następnie przejrzyj dane w Kafelkach, aby zobaczyć te same dane w formularzu pulpitu nawigacyjnego.

Możesz teraz rozpocząć przesyłanie strumieniowe prawdziwych danych z Wunderground i nie tylko.

Krok 3: CZUJKA CZAPKA

Poczucie kapelusz
Poczucie kapelusz
Poczucie kapelusz
Poczucie kapelusz
Poczucie kapelusz
Poczucie kapelusz

Sense HAT to dodatkowa płytka dla Raspberry Pi, która jest pełna czujników, diod LED i małego joysticka. To, co jest tak wspaniałe w tym małym dodatku, to to, że jest niezwykle łatwy w instalacji i użyciu dzięki fantastycznej bibliotece Pythona, którą można szybko zainstalować. W tym projekcie użyjemy czujników temperatury, wilgotności i ciśnienia barometrycznego na Sense HAT. Ustawmy to.

Pierwszym krokiem w korzystaniu z Sense HAT jest fizyczne zainstalowanie go na twoim Pi. Przy wyłączonym Pi podłącz HAT, jak pokazano na obrazku.

Włącz swoje Pi. Musimy zainstalować bibliotekę Pythona, aby ułatwić odczytywanie wartości czujników z Sense HAT. Najpierw musisz upewnić się, że wszystko jest aktualne w Twojej wersji Raspbian, wpisując:

$ sudo apt-get update

Następnie zainstaluj bibliotekę Sense HAT Python:

$ sudo apt-get install sense-hat

Zrestartuj swoje Pi

Jesteśmy gotowi do przetestowania Sense HAT, odczytując z niego dane czujnika i wysyłając je do stanu początkowego.

Przetestujmy nasz Sense HAT, aby upewnić się, że wszystko działa. Użyjemy skryptu znajdującego się pod adresem https://github.com/InitialState/wunderground-sensehat/blob/master/sensehat.py. Możesz skopiować ten skrypt do pliku na swoim Pi lub uzyskać do niego dostęp z naszego repozytorium Github, które sklonowaliśmy wcześniej. Przejdź do katalogu wunderground-sensehat, a następnie do pliku sensehat.py, wpisując:

$ nano sensehat.py

Zauważ w pierwszym wierszu, że importujemy bibliotekę SenseHat do skryptu. Zanim uruchomisz ten skrypt, musimy skonfigurować nasze parametry użytkownika.

# --------- Ustawienia użytkownika ---------CITY = "Nashville"

BUCKET_NAME = ":partly_sunny: " + MIASTO + " Pogoda"

BUCKET_KEY = "czapka sensu"

ACCESS_KEY = "Twój_klucz_dostępu"

SENSOR_LOCATION_NAME = "Biuro"

MINUTES_BETWEEN_SENSEHAT_READS = 0,1

# ---------------------------------

W szczególności musisz ustawić klucz ACCESS_KEY na klucz dostępu do konta stanu początkowego. Zwróć uwagę, jak łatwo jest odczytać dane z Sense HAT w jednym wierszu Pythona (np. sense.get_temperature()). W wierszu polecenia na swoim Pi uruchom skrypt:

$ sudo python sensehat.py

Przejdź do konta stanu początkowego i wyświetl nowy zasobnik danych utworzony przez Sense HAT.

Teraz jesteśmy gotowi złożyć to wszystko razem i stworzyć nasz hiperlokalny pulpit pogodowy!

Krok 4: Hyper Local Weather Dashboard

Hyper lokalny pulpit nawigacyjny
Hyper lokalny pulpit nawigacyjny
Hyper Local Weather Dashboard
Hyper Local Weather Dashboard

Ostatnim krokiem w tym projekcie jest po prostu połączenie naszych danych pogodowych i naszego skryptu Sense HAT w jeden pulpit nawigacyjny. Aby to zrobić, użyjemy integracji stanu początkowego z Weatherstack, aby dodać dane pogodowe do naszego pulpitu nawigacyjnego Sensehat, który stworzyliśmy w ostatnim kroku.

Korzystanie z API Weatherstack jest bardzo proste. W przeszłości w tym samouczku musieliśmy tworzyć i uruchamiać skrypt, aby pobrać dane z interfejsu API danych pogodowych, ale od początku tego samouczka Stan początkowy utworzył rynek integracji danych. Rynek integracji danych daje możliwość uzyskiwania dostępu i przesyłania strumieniowego interfejsów API do pulpitu nawigacyjnego stanu początkowego bez kodu. To dosłownie kilka kliknięć myszą i BAM: dane pogodowe. Na Medium napisałem bardziej szczegółowy samouczek na temat korzystania z integracji Weatherstack i tworzenia alertów pogodowych, ale szybko wymienię, jak zacząć poniżej.

Korzystanie z integracji Weatherstack

1. Zaloguj się na swoje konto stanu początkowego

2. Kliknij przycisk szczegółów w polu Weatherstack na stronie integracji. Na tej stronie znajdziesz wszystkie podstawowe informacje o integracji oraz o tym, co jest wymagane, aby z niej korzystać. W takim przypadku potrzebujesz tylko kodu pocztowego (lub szerokości i długości geograficznej) lokalizacji, dla której chcesz monitorować pogodę, i musisz wiedzieć, w jakich jednostkach chcesz zobaczyć te dane (metryczny, naukowy lub amerykański imperialny).

3. Kliknij przycisk Rozpocznij konfigurację, a zobaczysz wyskakujące okienko z prawej strony ekranu. Jest tylko kilka prostych kroków, które należy wykonać, zanim zaczniemy oglądać dane pogodowe:

4. Nadaj swojemu nowemu panelowi nazwę. Nazwałem swoją wskazówkę Nashville Weather. Pro: lubię używać emotikonów w nazwach moich pulpitów nawigacyjnych, aby dać im trochę więcej energii. Szybkim sposobem na wywołanie emotikonów na komputerze Mac jest Ctrl + Command + spacja. W systemie Windows przytrzymaj przycisk Windows i kropkę (.) lub średnik (;). 2 5. Wpisz swoją lokalizację. Używam kodu pocztowego obszaru, który chcę śledzić, ale możesz też podać bardziej szczegółowe informacje o szerokości i długości geograficznej. Łatwo jest znaleźć szerokość i długość geograficzną swojego obszaru, przechodząc do map Google, wyszukując miejsce, a następnie kopiując szerokość i długość geograficzną z przeglądarki i wklejając ją do formularza. Obecnie można używać tylko lokalizacji w USA, Wielkiej Brytanii i Kanadzie.

6. Wybierz swoje jednostki. Wybrałem US/Imperial, ponieważ mieszkałem w Stanach Zjednoczonych.

7. Wybierz utworzenie nowego wiadra lub wyślij dane Weatherstack do istniejącego wiadra. W tym samouczku, jeśli już skonfigurowałeś swój Sense Hat, aby przesyłał strumieniowo do stanu początkowego (w ostatnim kroku), po prostu wyślij dane Weatherstack do to wiadro.

8. Wybierz, czy chcesz, aby wszystkie dane, które wysyła Weatherstack, czy tylko określone dane pogodowe do pulpitu nawigacyjnego. Zawsze możesz wysłać wszystkie dane i wyjąć kilka kafelków później.

9. Wybierz, jak często pulpit nawigacyjny ma być aktualizowany zgodnie z warunkami pogodowymi. Możesz wybierać między co 15 minut lub godzinę po godzinie. Pamiętaj, że wysyłanie danych co 15 minut kosztuje dodatkowy token w porównaniu z wysyłaniem ich co godzinę. Tak więc, jeśli chcesz korzystać z innych integracji na rynku w tym samym czasie, możesz po prostu sondować co godzinę. Zawsze możesz przerwać wysyłanie danych z integracji i uruchomić ją od nowa lub zmienić częstotliwość wysyłania danych później. Jeśli jednak przerwiesz i zaczniesz od nowa, w Twoich danych pojawią się luki.

10. Kliknij Rozpocznij integrację. Teraz przesyłasz strumieniowo dane z Weatherstack! Kliknij przycisk „Wyświetl w aplikacji IoT”, aby zobaczyć pierwsze punkty danych.

11. Dostosuj swój pulpit nawigacyjny. Jeśli przesyłasz strumieniowo do nowego zasobnika, przygotowaliśmy dla Ciebie szablon na dobry początek. Jednak powinieneś zrobić to po swojemu! Naciśnij strzałkę w dół w górnej środkowej części pulpitu nawigacyjnego, aby obniżyć oś czasu, kliknij Edytuj kafelki, przesuń kilka kafelków, zmień ich rozmiar i zmień tło. Dostosuj pulpit nawigacyjny tak, jak chcesz, aby łatwo było pozyskiwać dane, które chcesz zebrać. Możesz również użyć innych szablonów Weatherstack, które dla Ciebie stworzyliśmy tutaj. Aby dodać trochę więcej kontekstu do pulpitu nawigacyjnego, możesz również dodać mapę, która pokazuje lokalizację, w której monitorujesz pogodę. Twój pulpit nawigacyjny może początkowo wyglądać na trochę pusty, ale daj mu trochę czasu, a wypełni się pięknymi historycznymi danymi pogodowymi.

Krok 5: Dodaj mapę do pulpitu nawigacyjnego (bonus)

Dodaj mapę do swojego pulpitu nawigacyjnego (bonus)
Dodaj mapę do swojego pulpitu nawigacyjnego (bonus)
Dodaj mapę do swojego pulpitu nawigacyjnego (bonus)
Dodaj mapę do swojego pulpitu nawigacyjnego (bonus)
Dodaj mapę do swojego pulpitu nawigacyjnego (bonus)
Dodaj mapę do swojego pulpitu nawigacyjnego (bonus)

Możemy łatwo dodać kafelek mapy do naszego pulpitu nawigacyjnego, pokazujący lokalizację naszego strumienia pogodowego. Więcej informacji na temat interaktywnego widoku mapy w kafelkach można znaleźć na stronie https://support.initialstate.com/knowledgebase/articles/800232-tiles-map-view. Moglibyśmy po prostu dodać nową instrukcję streamer.log w naszym skrypcie Pythona (i wyjaśnię, jak to zrobić na końcu tej sekcji). Zamiast tego skorzystamy z okazji, aby pokazać inny sposób przesyłania danych do pulpitu nawigacyjnego.

Krok 1: Uzyskaj współrzędne szerokości/długości geograficznej Twojej lokalizacji

Musisz uzyskać współrzędne szerokości i długości geograficznej swojej lokalizacji. Jednym ze sposobów, aby to zrobić, jest przejście do Map Google, wyszukanie swojej lokalizacji i zbliżenie do dokładnej lokalizacji. W adresie URL zobaczysz współrzędne szerokości/długości geograficznej. W powyższym przykładzie moje współrzędne to 35,925298, -86,8679478.

Skopiuj swoje współrzędne (będą potrzebne w kroku 2) i upewnij się, że przypadkowo nie skopiujesz żadnych dodatkowych znaków z adresu URL.

Krok 2: Zbuduj adres URL, aby wysłać dane do pulpitu nawigacyjnego

Kliknij link „ustawienia” pod nazwą zasobnika na półce zasobnika. Spowoduje to wyświetlenie powyższego ekranu. Skopiuj tekst z sekcji API Endpoint i wklej go w swoim ulubionym edytorze tekstu. Wykorzystamy to do zbudowania adresu URL, którego będziemy mogli używać do wysyłania danych do naszego istniejącego zasobnika i pulpitu nawigacyjnego. W moim zasobniku skopiowany tekst wygląda tak: https://groker.initialstate.com/api/events?accessKey=bqHk4F0Jj4j4M4CrhJxEWv6ck3nfZ79o&bucketKey=shwu1 Twój adres URL będzie miał Twój accessKey i bucketKey. Musimy dodać nazwę strumienia i wartość do parametrów adresu URL, aby uzupełnić adres URL.

Dodaj „&MapLocation=YOUR_COORDINATES_FROM_STEP1” do swojego adresu URL

(wstaw współrzędne z kroku 1, bez spacji i nie kopiuj moich!!)

Oto jak wygląda moja: https://groker.initialstate.com/api/events?accessKey=bqHk4F0Jj4j4M4CrhJxEWv6ck3nfZ79o&bucketKey=shwu1&MapLocation=35.925298, -86.8679478

Wklej pełny adres URL do paska adresu przeglądarki i naciśnij Enter (lub użyj polecenia „curl” w wierszu polecenia), aby wysłać współrzędne mapy do strumienia „MapLocation” w nowym zasobniku.

Jeśli spojrzysz teraz na swój pulpit nawigacyjny w Kafelkach (może być konieczne odświeżenie, jeśli będziesz niecierpliwy), nowy kafelek o nazwie MapLocation powinien pojawić się w powiększeniu do Twojej bieżącej lokalizacji.

Krok 2 Alternatywa: zmodyfikuj swój skrypt

Jeśli naprawdę nie podoba ci się krok 2 powyżej, możesz po prostu dodać kolejną instrukcję streamer.log do skryptu Pythona. Po prostu dodaj linię

streamer.log("MapLocation", "YOUR_COORDINATES_FROM_STEP1")

gdzieś wewnątrz funkcji def main(): skryptu sensehat_wunderground.py (zwróć uwagę na wcięcia b/c Python wymaga przestrzegania ścisłych zasad dotyczących wcięć). Na przykład dodałem streamer.log("MapLocation", "35.925298, -86.8679478") zaraz po linii 138.

Krok 6: Napraw odczyt temperatury kapelusza Sense

Naprawianie odczytu temperatury Sense Hat
Naprawianie odczytu temperatury Sense Hat
Naprawianie odczytu temperatury Sense Hat
Naprawianie odczytu temperatury Sense Hat
Naprawianie odczytu temperatury Sense Hat
Naprawianie odczytu temperatury Sense Hat

Możesz zauważyć, że odczyty temperatury Sense HAT wydają się nieco zawyżone – to dlatego, że są. Winowajcą jest ciepło generowane przez procesor Pi, które ogrzewa powietrze wokół Sense HAT, gdy siedzi on na górze Pi.

Aby czujnik temperatury był użyteczny, musimy albo odsunąć HAT od Pi (co wyeliminowałoby ważną zaletę bycia kompaktowym rozwiązaniem), albo spróbować skalibrować odczyt czujnika temperatury. Procesor jest główną przyczyną pasożytniczego ciepła wpływającego na nasz czujnik temperatury, więc musimy ustalić korelację. Przeglądając Enviro pHAT dla Pi Zero, wymyśliliśmy równanie uwzględniające temperaturę procesora wpływającą na odczyt temperatury kapelusza. Potrzebujemy tylko temperatury procesora i współczynnika skalowania, aby obliczyć skalibrowaną temperaturę:

temp_kalibrowana = temp - ((cpu_temp - temp)/WSPÓŁCZYNNIK)

Możemy znaleźć współczynnik, rejestrując rzeczywistą temperaturę i rozwiązując ją. Aby znaleźć rzeczywistą temperaturę w pomieszczeniu, potrzebujemy innej konfiguracji czujnika temperatury. Za pomocą czujnika DHT22 (instrukcje ustawień tutaj i skrypt tutaj) możemy rejestrować i wizualizować obie temperatury jednocześnie:

Wynik pokazuje, że odczyt Sense HAT jest dość konsekwentny o 5-6 stopni Fahrenheita. Dodanie temperatury procesora do miksu (za pomocą tego skryptu) po pierwsze pokazuje, że jest bardzo gorąco, a po drugie ujawnia rodzaj fali, którą naśladuje pomiar Sense HAT.

Po rejestrowaniu przez około 24 godziny rozwiązałem współczynnik za pomocą sześciu różnych odczytów w sześciu różnych punktach czasowych. Uśrednienie wartości czynników dało końcową wartość czynnika 5,466. Stosowanie równania

temp_kalibrowana = temp - ((cpu_temp - temp)/5.466)

skalibrowana temperatura zbliżyła się do jednego stopnia rzeczywistego odczytu temperatury:

Możesz uruchomić tę korektę kalibracji na samym Pi, wewnątrz skryptu wunderground_sensehat.py.

Krok 7: Bonus: Skonfiguruj własne alerty pogodowe

Bonus: Skonfiguruj własne alerty pogodowe
Bonus: Skonfiguruj własne alerty pogodowe
Bonus: Skonfiguruj własne alerty pogodowe
Bonus: Skonfiguruj własne alerty pogodowe

Stwórzmy alert SMS, gdy temperatura spadnie poniżej zera.

Będziemy postępować zgodnie z procesem konfiguracji powiadomienia o wyzwalaczu opisanym na stronie pomocy technicznej.

Upewnij się, że zasobnik danych o pogodzie jest załadowany.

Kliknij ustawienia zasobnika na półce z danymi (pod jego nazwą).

Kliknij kartę Wyzwalacze.

Wybierz strumień danych, który ma zostać aktywowany (możesz użyć listy rozwijanej, aby wybrać spośród istniejących strumieni po załadowaniu zasobnika danych lub możesz ręcznie wpisać nazwę/klucz strumienia; *uwaga Safari nie obsługuje list rozwijanych HTML5). Na moim przykładowym zrzucie ekranu powyżej wybrałem Temperatura (F).

Wybierz operator warunkowy, w tym przypadku '<'.

Wybierz wartość wyzwalacza, która wyzwoli akcję (wpisz ręcznie żądaną wartość). W takim przypadku wpisz 32, jak pokazano powyżej.

Kliknij przycisk „+”, aby dodać warunek wyzwalacza.

Wybierz akcję (aktualne dostępne akcje to powiadomienie SMS-em lub e-mailem).

Kliknij przycisk „+”, aby dodać akcję. Wprowadź dowolny kod weryfikacyjny, jeśli dodajesz nowy numer telefonu lub adres e-mail, aby ukończyć konfigurację.

Twój wyzwalacz jest teraz aktywny i zostanie uruchomiony, gdy warunek zostanie spełniony. Kliknij gotowe, aby powrócić do ekranu głównego.

PIR SMS

Gdy temperatura spadnie poniżej 32, otrzymasz wiadomość tekstową. Ustawiasz alerty dotyczące wszystkiego, co znajduje się w zasobniku danych pogodowych (*pamiętaj, że musisz używać tokenów emoji, a nie samych emoji).

Na przykład, gdy pada deszcz

:cloud: Warunki pogodowe =:parasol:

Zawsze, gdy jest wietrznie

:kreska: Prędkość wiatru (MPH) > 20

itp.

Krok 8:

Konkurs Internetu Rzeczy 2016
Konkurs Internetu Rzeczy 2016
Konkurs Internetu Rzeczy 2016
Konkurs Internetu Rzeczy 2016

II nagroda w Konkursie Internetu Rzeczy 2016

Zalecana: