Spisu treści:
- Krok 1: Części i materiały
- Krok 2: Projekt elektryczny
- Krok 3: Konstrukcja mechaniczna
- Krok 4: Montaż ramy: twarz i podstawa
- Krok 5: Zespół elektroniki i czujnika
- Krok 6: Konfiguracja Twittera
- Krok 7: Oprogramowanie i konfiguracja
- Krok 8: Wnoszenie wkładu do repozytorium czujników
Wideo: Tweetująca stacja pogodowa: 8 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
Czy kiedykolwiek chciałeś monitorować aktualne warunki pogodowe, ślad węglowy, poziom hałasu i zanieczyszczenia w swoim mieście? Czy chcesz zostać krzyżowcem zmian klimatycznych lub założyć własną stację pogodową Tweeting i dzielić się lokalnymi warunkami pogodowymi ze światem?
Poznaj Tweeting Weather IoT Station aka TWIST - DIY, Open-Source platformę monitorowania środowiska i akwizycji danych meteorologicznych. Celem TWIST jest umożliwienie osobom i społecznościom gromadzenia danych o tym, co faktycznie dzieje się w ich środowisku i udostępniania tych danych w mediach społecznościowych, takich jak Twitter.
- TWIST to platforma oparta na Internecie rzeczy (IoT).
- Mózgiem TWIST jest Intel Edison Board.
- TWIST jest kompatybilny z różnymi czujnikami.
- Cały kod, pliki projektowe (schematy i układ PCB) są Open-Source. Oznacza to, że każdy może przyczynić się do rozwoju platformy TWIST, udostępniając kod i schematy dla różnych czujników.
TWIST składa się z trzech warstw technologicznych:
Pierwsza warstwa to płyta sprzętowa, która zawiera wszystkie czujniki pogodowe i środowiskowe znane jako „Płyta z czujnikami”. Jak sama nazwa wskazuje, posiada czujniki mierzące skład powietrza, temperaturę, wilgotność, deszcz. Można również dodać dodatkowe czujniki, takie jak aktywność sejsmiczna, wskaźnik UV, ciśnienie barometryczne, wysokość, luks (jasność), poziom dźwięku, prędkość i kierunek wiatru itp. Po skonfigurowaniu tablica czujników jest w stanie przesyłać dane zmierzone przez czujniki do drugiej warstwy. Druga warstwa to Intel Edison Board, która odbiera dane z płyty Sensor Board, przetwarza je i wysyła do następnej warstwy. Trzecia warstwa łączy tablicę Edisona z Internetem przez Wi-Fi za pomocą modułu bezprzewodowego na tablicy Edisona i warunków aktualnej pogody i środowiska w serwisie Tweet.
Zasilanie urządzenia może być zapewnione przez panel słoneczny lub zasilacz sieciowy.
Repozytoria kontrolowane przez wersję
Wszystkie trzy warstwy technologiczne TWIST są typu Open-Source, a zatem wszystkie pliki, których używamy do tworzenia kodu, opracowywania PCB, projektowania mechanicznego itp., są łatwo dostępne w naszym repozytorium Github.
Zgłoszenia konkursowe
Zaproszenie do Intel IoT
Chciałbym podziękować firmie Intel+Instructables za dostarczenie mi płyty Intel Edison Board. Planuję stworzyć o wiele więcej instrukcji związanych z IoT za pomocą tablicy Edisona.
#iotweatherstn
Jeśli tworzysz TWIST, nie zapomnij tweetować o pogodzie za pomocą #iotweatherstn. #iotweatherstn może być hashtagiem używanym przez wszystkie stacje pogodowe wykorzystujące tweet z technologią IoT.
Krok 1: Części i materiały
IlośćSzczegóły części 1
Intel Edison
z płytką zaciskową Arduino
1
Czujnik gazów palnych MQ2
1
YL-83
Czujnik deszczu
1
SL-HS-220
Czujnik temperatury i wilgotności
1
Rezystor
32K
4.7K
3 metalowe wsporniki 1 cal
1
Rezystor
32K
4.7K
2
Arkusz drewna A4 rozmiar
Można później przyciąć do rozmiaru
3
Uchwyt metalowy
1 cal
Krok 2: Projekt elektryczny
Moc
Cały system zasilany jest z zasilacza 5V 1A. Czujniki (temperatura, wilgotność, deszcz, gaz) pobierają około 200 mA, Edison około 500 mA. Ponieważ całkowity wymagany prąd jest mniejszy niż 1 amper, zasilanie o natężeniu 1 ampera powinno działać dobrze. Wbudowana zielona dioda LED na cyfrowym styku 13 płyty Edisona służy do pokazywania stanu zasilania.
ControlAn Intel Edison prowadzi program dla TWIST. Edison jest montowany na płytce zaciskowej Arduino, co ułatwia odczytywanie sygnałów cyfrowych i analogowych z czujników. Edison jest podłączony do szyny 5V za pomocą kabla micro USB. Edison ma wbudowane radio Wi-Fi, które pozwala mu łączyć się z Twitterem bez konieczności używania dodatkowego sprzętu.
Zegar czasu rzeczywistego (RTC)
Ponieważ oznaczanie czasu automatycznie wykonywane przez Twitter dla każdego tweeta ma rozdzielczość ograniczoną do łącznej liczby dni od momentu tweetowania, zegar czasu rzeczywistego służy do dokładnego oznaczania daty i godziny w polu Godzina-Minuta- Drugi format. Zegar czasu rzeczywistego zastosowany w platformie TWIST to moduł DS-1307 RTC.
Czujniki Najbardziej podstawowa konfiguracja tego systemu obejmuje cztery czujniki (temperatury, wilgotności, deszczu, gazu), które łączą się z Edisonem. Można dodać dodatkowe czujniki, takie jak hałas, wiatr itp. Każdy czujnik jest zasilany bezpośrednio z szyny 5 V i ma swój pin sygnałowy podłączony odpowiednio do pinów analogowych od A0 do A2 i pinu cyfrowego 2 na płytce zaciskowej Edisona. Każdy z czujników ma również potencjometr regulacji czułości zamontowany na każdej płytce czujnika; MQ-2 to czujnik gazów palnych (gazu płynnego, propanu, wodoru i metanu), który generuje napięcie analogowe proporcjonalne do stężenia gazów w częściach na milion. SL-HS-220 posiada termistor, który podaje wartość temperatury. Ponieważ wyjście termistora jest nieliniowe, odpowiednia tabela temperatur jest podana w repozytorium czujników. Termistor wymaga obwodu dzielnika napięcia po podłączeniu do płyty Edisona, jak pokazano na schemacie obwodu. SL-HS-220 ma również wbudowany higrometr, który mierzy wilgotność i wysyła napięcie analogowe odpowiadające stałej wartości wilgotności. Tabela wilgotnościowo-napięciowa jest również podana w repozytorium czujników. Częstym zamiennikiem SL-HS-220 jest czujnik DHT11. Czujnik deszczu/czujnik wody posiada potencjometr, który jest ustawiony tak, aby dawać cyfrowe wyjście dla określonej ilości deszczu, którego czułość może regulować użytkownik.
Stacja pogodowa.fzz
Krok 3: Konstrukcja mechaniczna
Korpus TWIST wykonany jest z dwóch płyt drewnianych arkuszy. Chociaż użyłem sklejki 1/4 , projekt można złożyć z dowolnego materiału arkuszowego, ponieważ odstęp (utrzymywany przez 1-calowe aluminiowe dystanse) jest jedynym krytycznym elementem. Powyżej załączam pliki wektorowe do pobrania.
Cięcie laserowe
Dla wszystkich, którzy chcą wyciąć laserowo dwie płyty, załączam pliki do wycinania laserowego do pobrania poniżej. W swojej konstrukcji zawiera również dodatkowy czujnik jakości powietrza. Możesz więc użyć modułu czujnika MQ2 lub modułu czujnika jakości powietrza, w zależności od wyboru.
Krok 4: Montaż ramy: twarz i podstawa
Przedni panel
Czujniki pasują do pasujących do nich otworów i wycięć i mogą być mocowane za pomocą śrub lub kleju.
Płyta podstawowa
Wsporniki płyty Edisona są przykręcone do płyty bazowej. Przetwornik analogowo-cyfrowy (ADC), który jest podłączony do czujnika deszczu, można również przykręcić do płyty bazowej.
Dodatkowe elementy, takie jak brzęczyki lub obwód regulatora napięcia dla wejścia słonecznego, można również przykręcić do płyty bazowej.
Baseplate i Faceplate są oddzielone 1 calowymi dystansami.
Krok 5: Zespół elektroniki i czujnika
Moc
Zasilanie systemu zapewnia adapter ścienny ze standardowym gniazdem baryłkowym, który jest podłączony bezpośrednio do złącza baryłkowego Edisona. System może być również zasilany przez port USB na płycie Edisona. Płytę można również zasilać z zewnętrznego panelu słonecznego.
Czujniki
Czujniki są przymocowane do płytek zaciskowych z męskimi złączami, dzięki czemu można je bezpośrednio podłączyć do Edisona za pomocą przewodów połączeniowych męsko-żeńskich.
Krok 6: Konfiguracja Twittera
Aby móc tweetować, korzystamy z aplikacji innej firmy opracowanej przez NeoCat, która pobiera token Twittera, który będziesz musiał tweetować za pomocą tablicy Edisona. Tokeny można również pozyskać ze strony deweloperów Twittera.
Aby rozpocząć, odwiedź stronę NeoCat, postępuj zgodnie z jego samouczkiem, aby uzyskać bibliotekę Twittera i token Twittera. Jak wspomniał NeoCat na swojej stronie, prosimy nie nadużywać usługi. Postaraj się, aby tweety były rzadkie. Jeśli potrzebujesz czegoś, co tweetuje co 6 sekund, powinieneś założyć własny serwer i aplikację do twittera i stąd kod, który napisałem zapewnia, że serwer NeoCat nie przeciąża się (twitty TWIST co 6 godzin).
Biblioteka wykorzystuje witrynę NeoCat jako serwer proxy dla rzeczy OAuth. Twój tweet może nie zostać zastosowany podczas konserwacji tej witryny NeoCat. Twitter wydaje się odrzucać powtarzające się tweety o tej samej treści (zwraca błąd 403).
Token na Twitterze
Biblioteka Tweetów Arduino
Krok 7: Oprogramowanie i konfiguracja
Postępuj zgodnie z przewodnikiem konfiguracji Intel Edsion przed rozpoczęciem kodowania.
Program jest szkicem Arduino działającym na Edisona. Poniżej wyjaśniłem każdy z głównych bloków kodu.
Kod zawiera pewne predefiniowane stałe, deklaracje pin i kilka instrukcji drukowania szeregowego, które pomagają w rozwiązywaniu problemów.
Opóźnienie tweeta
Ponieważ Twitter odfiltrowuje tweety, które mają tę samą treść i są tweetowane w krótkich odstępach czasu między każdym z nich, ustawiono standardowe 3-godzinne (10800000 milisekund) opóźnienie między każdym tweetem.
tweetWiadomość();
opóźnienie (10800000);
Typ odlewania
Wiele odczytów, które otrzymujemy z czujników, ma typ danych „int” lub „float”. Ale ponieważ publikujemy te wartości na Twitterze, musimy je przekonwertować na typ danych „String”. W tym celu stosujemy specjalną technikę Type-casting.
char *dtostrf (podwójna wartość, szerokość znaku ze znakiem, znak bez znaku prec, znak *sout) {
char fmt[100]; sprintf(fmt, "%%%d.%df", szerokość, prec); sprintf(sout, fmt, val); powrót sout; }
Token na Twitterze
Token Twittera jest tworzony na stronie NeoCat i należy go wkleić w pole tokena tutaj.
nieważne tweetMessage() {
Twitter twitter(" WPISZ TOKEN TWITTERA ");
Wartości czujnika tweetowania
Aby tweetować wartość czujnika, najpierw uwzględniamy typ czujnika; Przykład: „Wilgotność”. Następnie następuje deklaracja znaków i wiersz kodu wymagany do rzutowania typów. Następnie dodajemy oświadczenie o jednostce miary; Przykład: "%RH". W podobny sposób możemy dodawać wartości innych czujników.
wilgotność(); unosić się wilgotno;
//Wiadomość na Twitterze String stringMsg = "Wilgotność:"; char tmp[10]; dtosrf(wilgotny, 1, 2, tmp); stringMsg += tmp; stringMsg += "%RH";
Lokalizacja i oznaczanie stacji pogodowej
Następnie tagujemy lokalizację (Miasto, Miejscowość itp.) i inne tagi, takie jak #iotweatherstn.
stringMsg += " #Mumbai #Bandra #iotweatherstn ";
Zegar czasu rzeczywistego (RTC)
Jak wyjaśniono wcześniej, TWIST może również tweetować dane zegara czasu rzeczywistego. Poniżej znajduje się przykład bloku parametrów „dzień” kodu RTC. Funkcja zegara czasu rzeczywistego jest opcjonalna na platformie TWIST, ponieważ moduł jest dostarczany osobno. Stąd w repozytorium TWIST utworzona została osobna gałąź dla kodu i schematów gałęzi Real Time Clock.
TwistDateTime(); DataCzas teraz = rtc.now(); int twistday, twistmonth, twistyear, twisthour, twistmin, twistsec; Ciąg ciągMsg = ""; char ds1307day[10]; dtosrf(twistday, 1, 0ds1307day); ciągMsg += ds1307dzień; stringMsg += "/";
Limit 140 znaków
Ten blok kodu zamienia tablicę ciągów na tablicę 140 znaków gotową do tweetowania.
komunikat o znakach[140];
stringMsg.toCharArray(msg, 140);
Rozwiązywanie problemów z wiadomościami i połączeniem
Ten blok kodu drukuje kilka wierszy tekstu w Monitorze szeregowym, aby pomóc użytkownikowi sprawdzić wiadomość i status tweeta.
//Tweetuj tego frajera!
if (twitter.post(msg)) { int status = twitter.wait(); if (status == 200) { Serial.println("OK."); Serial.println("Wiadomość tweetowana"); } else { //Test połączenia Serial.print("nieudane: kod"); Serial.println("Wiadomość nie jest wysyłana na Twittera"); Serial.println(stan); } } else { Serial.println("połączenie nie powiodło się."); Serial.println("Wiadomość nie jest wysyłana na Twittera"); }
Wszystkie pozostałe bloki kodu po prostu przekształcają analogowy lub cyfrowy odczyt z czujników na użyteczne dane.
Kod można pobrać stąd lub z głównego repozytorium:
Stacja pogodowa.ino
Krok 8: Wnoszenie wkładu do repozytorium czujników
Jesteś programistą, inżynierem lub projektantem, który ma świetny pomysł na nową funkcję w TWIST? Może masz dobry pomysł na naprawę błędu? Zapraszam do pobrania naszego kodu, schematów i plików CAD z Github i majstrowania przy nim.
TWIST GitHub
Druga nagroda w konkursie Intel® IoT Invitational
Zalecana:
Profesjonalna stacja pogodowa wykorzystująca ESP8266 i ESP32 DIY: 9 kroków (ze zdjęciami)
Profesjonalna stacja pogodowa przy użyciu ESP8266 i ESP32 DIY: LineaMeteoStazione to kompletna stacja pogodowa, która może być połączona z profesjonalnymi czujnikami firmy Sensirion, a także z niektórymi komponentami Davis Instrument (deszczomierz, anemometr) Projekt jest przeznaczony do samodzielnej stacji pogodowej, ale wymaga tylko
Fanair: stacja pogodowa do Twojego pokoju: 6 kroków (ze zdjęciami)
Fanair: stacja pogodowa do Twojego pokoju: istnieje niezliczona ilość sposobów na sprawdzenie aktualnej pogody, ale wtedy znasz tylko pogodę na zewnątrz. A jeśli chcesz poznać pogodę w swoim domu, w konkretnym pomieszczeniu? To właśnie staram się rozwiązać w tym projekcie. Fanair używa m
Wiszący kosz Super Stacja pogodowa: 11 kroków (ze zdjęciami)
Wiszący kosz Super Stacja Pogodowa: Cześć wszystkim! W tym poście na blogu T3chFlicks pokażemy, jak stworzyliśmy inteligentny wiszący kosz. Rośliny są świeżym i zdrowym dodatkiem do każdego domu, ale mogą szybko stać się męczące – szczególnie, jeśli pamiętasz o ich podlewaniu tylko wtedy, gdy
Stacja pogodowa NaTaLia: stacja pogodowa zasilana energią słoneczną Arduino Wykonana we właściwy sposób: 8 kroków (ze zdjęciami)
Stacja pogodowa NaTaLia: Stacja pogodowa zasilana energią słoneczną Arduino Wykonana we właściwy sposób: po roku udanej pracy w 2 różnych lokalizacjach dzielę się planami projektu stacji pogodowej zasilanej energią słoneczną i wyjaśniam, jak ewoluował w system, który może naprawdę przetrwać przez długi czas okresy z energii słonecznej. Jeśli obserwujesz
Stacja pogodowa DIY i stacja czujników WiFi: 7 kroków (ze zdjęciami)
DIY Stacja pogodowa i stacja z czujnikami WiFi: W tym projekcie pokażę Ci, jak stworzyć stację pogodową wraz ze stacją czujników WiFi. Stacja czujnikowa mierzy lokalne dane dotyczące temperatury i wilgotności i przesyła je przez Wi-Fi do stacji pogodowej. Stacja pogodowa wyświetla następnie t