Spisu treści:

Solarna stacja pogodowa Raspberry Pi: 7 kroków (ze zdjęciami)
Solarna stacja pogodowa Raspberry Pi: 7 kroków (ze zdjęciami)

Wideo: Solarna stacja pogodowa Raspberry Pi: 7 kroków (ze zdjęciami)

Wideo: Solarna stacja pogodowa Raspberry Pi: 7 kroków (ze zdjęciami)
Wideo: Kurs Arduino bonus: Polecany zestaw startowy - Elegoo the most complete starter kit 2024, Listopad
Anonim
Słoneczna stacja pogodowa Raspberry Pi
Słoneczna stacja pogodowa Raspberry Pi
Słoneczna stacja pogodowa Raspberry Pi
Słoneczna stacja pogodowa Raspberry Pi
Słoneczna stacja pogodowa Raspberry Pi
Słoneczna stacja pogodowa Raspberry Pi
Słoneczna stacja pogodowa Raspberry Pi
Słoneczna stacja pogodowa Raspberry Pi

Zachęcony ukończeniem moich dwóch poprzednich projektów, kamery kompaktowej i przenośnej konsoli do gier, chciałem znaleźć nowe wyzwanie. Naturalnym postępem był zewnętrzny system zdalnego sterowania…

Chciałem zbudować stację pogodową Raspberry Pi, która byłaby w stanie utrzymać się poza siecią i wysyłać mi wyniki przez połączenie bezprzewodowe, z dowolnego miejsca! Ten projekt naprawdę miał swoje wyzwania, ale na szczęście zasilanie Raspberry Pi jest jednym z głównych wyzwań, które zostało ułatwione dzięki użyciu PiJuice jako zasilacza z dodatkowym wsparciem słonecznym (wraz z naszą rewolucyjną technologią PiAnywhere – najlepszym sposobem na zdejmij swoje Pi z sieci!).

Moją pierwszą myślą było wykorzystanie fantastycznego modułu AirPi do wykonywania odczytów. Miało to jednak dwie główne wady; wymaga bezpośredniego połączenia z Internetem, aby przesłać wyniki i musi być podłączony bezpośrednio do GPIO na Pi, co oznacza, że nie może być wystawiony na działanie powietrza bez eksponowania Raspberry Pi (nie jest to idealne rozwiązanie, jeśli chcemy, aby ta stacja pogodowa przez dowolny okres czasu).

Rozwiązanie… zbuduj własny moduł czujnikowy! Wykorzystując dużą część AirPi jako inspirację, udało mi się złożyć bardzo prosty prototyp przy użyciu kilku czujników, które już miałem; temperatura, wilgotność, poziomy światła i ogólne gazy. Wspaniałą rzeczą jest to, że w każdej chwili można łatwo dodać więcej czujników.

Zdecydowałem się na Raspberry Pi a+ głównie ze względu na jego niski pobór mocy. Aby przesłać mi wyniki, skorzystałem z modułu EFCom Pro GPRS/GSM, który może wysłać SMS-a z wynikami bezpośrednio na mój telefon komórkowy! Całkiem schludny, prawda?

Cieszę się, że mogę tutaj przedstawić wszelkie pomysły na inne wspaniałe projekty słoneczne lub przenośne. Daj mi znać w komentarzach, a postaram się stworzyć tutorial!

Krok 1: Części

Części
Części

1 x PiJuice + panel słoneczny (w komplecie z naszą rewolucyjną technologią PiAnywhere – najlepszy sposób, aby zdjąć Pi z sieci!)

1 x Raspberry Pi a+

1 x moduł GPRS/GSM EFCom Pro

1 x karta SIM

1 x deska do chleba

Płyta prototypowa

1 x MCP3008 ADC

1 x LDR

1 x LM35 (czujnik temperatury)

1 x DHT22 (czujnik wilgotności)

1 x ogólny czujnik jakości powietrza TGS2600

Rezystor 1x2.2 KΩ

Rezystor 1x22 KΩ

Rezystor 1x10 KΩ

10 x żeńskie - żeńskie przewody połączeniowe

Asortyment drutu o jednym przekroju

1 x pojedyncza zewnętrzna skrzynka przyłączeniowa

1 x podwójna zewnętrzna skrzynka przyłączeniowa

1 x wodoodporne złącze kabla

Przepusty kablowe półślepe 2 x 20 mm

Krok 2: Obwód wykrywania

Obwód wykrywania
Obwód wykrywania
Obwód wykrywania
Obwód wykrywania
Obwód wykrywania
Obwód wykrywania

Ten projekt składa się z kilku różnych elementów, więc najlepiej robić wszystko krok po kroku. Najpierw omówię, jak złożyć obwód czujnikowy.

Dobrym pomysłem jest zbudowanie tego najpierw na płytce chlebowej, na wypadek pomyłki załączam schemat obwodu i zdjęcia krok po kroku, do których można się odnieść.

  1. Pierwszym komponentem, który należy podłączyć, jest konwerter analogowo-cyfrowy MCP3008. Może to zająć do 8 wejść analogowych i komunikować się z Raspberry Pi przez SPI. Z chipem skierowanym do góry i półokręgiem odciętym na końcu najbardziej oddalonym od ciebie, wszystkie piny po prawej łączą się z Raspberry Pi. Połącz je, jak pokazano. Jeśli chcesz dowiedzieć się trochę więcej o działaniu układu, oto świetny przewodnik po MCP3008 i protokole SPI.
  2. Piny po lewej to 8 wejść analogowych, ponumerowanych od góry do dołu 0-7. Użyjemy tylko pierwszych 3 (CH0, CH1, CH2), dla LDR, ogólnego czujnika gazu (TGS2600) i czujnika temperatury (LM35). Najpierw podłącz LDR, jak pokazano na schemacie. Jedna strona do masy, a druga do 3,3V przez rezystor 2,2KΩ i CH0.
  3. Następnie podłącz "ogólny czujnik gazu". Ten czujnik gazu służy do wykrywania zanieczyszczeń powietrza, takich jak wodór i tlenek węgla. Nie rozpracowałem jeszcze jak uzyskać konkretne stężenia, więc na razie wynik z tego czujnika jest podstawowym poziomem procentowym, gdzie 100% jest w pełni wysycone. Gdy czujnik jest skierowany do góry (kołki na spodzie), kołek bezpośrednio po prawej stronie małego wychodnia to kołek 1, a następnie liczby rosną zgodnie z ruchem wskazówek zegara wokół kołka. Tak więc piny 1 i 2 łączą się z 5V, pin 3 łączy się z CH1 i uziemieniem przez rezystor 22KΩ, a pin4 łączy się bezpośrednio z masą.
  4. Ostatnim czujnikiem analogowym do podłączenia jest czujnik temperatury LM35. To ma 3 piny. Weź czujnik tak, aby płaska strona była najbliżej ciebie, lewy pin łączy się prosto z 5V (nie zaznaczony na schemacie, mój zły!), środkowy pin łączy się z CH2, a prawy pin łączy się prosto z masą. Łatwo!
  5. Ostatnim elementem do podłączenia jest czujnik wilgotności DHT22. Jest to czujnik cyfrowy, który można podłączyć bezpośrednio do Raspberry Pi. Weź czujnik z siatką skierowaną do siebie i czterema pinami na spodzie. Piny są uporządkowane od 1 po lewej stronie. Podłącz 1 do 3,3 V. Pin 2 idzie do GPIO4 i 3,3V przez rezystor 10KΩ. Pozostaw pin 3 odłączony, a pin 4 idzie prosto do masy.

Otóż to! Obwód testowy został zbudowany. Mam nadzieję, że dodam więcej komponentów, kiedy będę miał czas. Bardzo chciałbym dodać czujnik ciśnienia, czujnik prędkości wiatru i chciałbym uzyskać bardziej inteligentne dane o stężeniach gazu.

Krok 3: Moduł GSM

Moduł GSM
Moduł GSM
Moduł GSM
Moduł GSM

Teraz, gdy zbudowano obwody czujnikowe, musi istnieć sposób na otrzymanie wyników. Tu właśnie wkracza moduł GSM. Będziemy go używać do wysyłania wyników przez sieć komórkową w wiadomości SMS, raz dziennie.

Moduł GSM komunikuje się z Raspberry Pi poprzez port szeregowy za pomocą UART. Oto kilka świetnych informacji na temat komunikacji szeregowej z Raspberry Pi. Aby przejąć kontrolę nad portem szeregowym Pi, musimy najpierw dokonać konfiguracji.

Uruchom Raspberry Pi ze standardowym obrazem Raspbian. Teraz zmień plik "/boot/cmdline.txt" z:

"dwc_otg.lpm_enable=0 console=ttyAMA0, 115200 kgdboc=ttyAMA0, 115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 winda=ostateczny termin rootwait"

do:

"dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 winda=ostateczny termin rootwait"

usuwając podkreśloną część tekstu.

Po drugie, musisz edytować plik "/etc/inittab", komentując drugą linię w następującej sekcji:

#Spawn getty na linii szeregowej Raspberry PiT0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100"

Tak, że brzmi:

#Spawn getty na linii szeregowej Raspberry Pi#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

i zrestartuj Pi. Teraz port szeregowy powinien mieć swobodę komunikacji, jak chcesz. Czas podłączyć moduł GSM. Spójrz na schemat w poprzednim kroku i na powyższe zdjęcia, aby zobaczyć, jak to się robi. Zasadniczo TX jest podłączony do RX, a RX do TX. Na Raspberry Pi TX i RX są odpowiednio GPIO 14 i 15.

Teraz prawdopodobnie chcesz sprawdzić, czy moduł działa, więc spróbujmy wysłać SMS-a! W tym celu musisz pobrać Minicom. Jest to program umożliwiający pisanie na porcie szeregowym. Posługiwać się:

"sudo apt-get install minicom"

Po zainstalowaniu minicom można otworzyć za pomocą następującego polecenia:

"minicom -b 9600 -o -D /dev/ttyAMA0"

9600 to szybkość transmisji, a /dev/ttyAMA0 to nazwa portu szeregowego Pi. Spowoduje to otwarcie emulatora terminala, w którym cokolwiek napiszesz, pojawi się na porcie szeregowym, czyli zostanie wysłane do modułu GSM.

Włóż doładowaną kartę sim do modułu GSM i naciśnij przycisk zasilania. Po czym powinna zapalić się niebieska dioda. Moduł GSM używa zestawu poleceń AT, oto dokumentacja, jeśli jesteś naprawdę zainteresowany. Teraz sprawdzamy, czy Raspberry Pi wykryło moduł za pomocą następującego polecenia:

"W"

moduł powinien wtedy odpowiedzieć:

"OK"

Świetny! Następnie musimy skonfigurować moduł, aby wysyłał SMS w postaci tekstowej, a nie binarnej:

„AT+CMGF = 1”

ponownie odpowiedź powinna brzmieć „OK”. Teraz piszemy polecenie wysłania SMS-a:

"AT+CMGS= "44************* "", zastąp gwiazdki swoim numerem.

Modem odpowiada ">", po czym możesz napisać wiadomość. Aby wysłać wiadomość, naciśnij. To wszystko, a przy odrobinie szczęścia właśnie otrzymałeś wiadomość prosto ze swojego Raspberry Pi.

Teraz, gdy wiemy, że moduł GSM działa, możesz zamknąć minicom; nie będziemy go potrzebować do końca projektu.

Krok 4: Pobierz oprogramowanie i przebieg próbny

Pobierz oprogramowanie i przebieg próbny
Pobierz oprogramowanie i przebieg próbny
Pobierz oprogramowanie i przebieg próbny
Pobierz oprogramowanie i przebieg próbny

Na tym etapie wszystko powinno być już okablowane i gotowe do przetestowania na sucho. Napisałem całkiem prosty program w Pythonie, który pobiera odczyty z każdego czujnika, a następnie wysyła wyniki do telefonu komórkowego. Cały program można pobrać ze strony PiJuice Github. Teraz może być też dobry czas na testy z modułem PiJuice. Po prostu podłącza się do GPIO Raspberry Pi, wszystkie przewody podłączone do Pi są po prostu podłączane bezpośrednio do odpowiednich wyjść pinów w PiJuice. Proste jak Pi. Aby pobrać kod użyj polecenia:

Klon git

Jest skonfigurowany do wysyłania danych raz dziennie. Do celów testowych nie jest to świetne, więc możesz edytować program. Łatwo to zrobić; po prostu otwórz plik; „sudo nano weatherstation.py”. W górnej części znajduje się sekcja „ustaw opóźnienie”. Skomentuj wiersz „delay=86400” i odkomentuj „delay=5”. Teraz wyniki będą wysyłane raz na 5 sekund. Będziesz także chciał zmienić program tak, aby zawierał Twój własny numer telefonu komórkowego. Znajdź, gdzie jest napisane „+44**********” i zastąp gwiazdki własnym numerem.

Przed uruchomieniem programu wystarczy pobrać bibliotekę do odczytu czujnika wilgotności DHT22:

Klon git

A biblioteka musi być zainstalowana:

"cd Adafruit_Python_DHT"

"aktualizacja sudo apt-get"

"sudo apt-get install build-essential python-dev"

"instalacja sudo python setup.py"

Fajnie, teraz możesz przetestować program.

"stacja pogody sudo python.py"

W trakcie działania programu wyniki powinny być przesyłane na telefon komórkowy, ale także drukowane w terminalu co 5 sekund.

Krok 5: Zbuduj obwód

Zbuduj obwód
Zbuduj obwód
Zbuduj obwód
Zbuduj obwód
Zbuduj obwód
Zbuduj obwód

Teraz, gdy wszystko działa w praktyce, nadszedł czas, aby zbudować prawdziwy. Zdjęcia pokazują ogólne wyobrażenie o tym, jak całość do siebie pasuje. Istnieją dwie oddzielne jednostki mieszkalne; jeden dla obwodu czujnikowego (który będzie miał otwory umożliwiające cyrkulację powietrza wewnątrz) i jeden dla Raspberry Pi, GPRS i PiJuice, (całkowicie wodoszczelny) panel słoneczny zostanie podłączony do jednostki obliczeniowej za pomocą wodoszczelnego złącza. Te dwie jednostki można następnie łatwo odłączyć, dzięki czemu można zdjąć obudowę czujnika lub obudowę komputera bez konieczności demontażu całej jednostki. Jest to świetne, jeśli chcesz dodać więcej czujników lub jeśli potrzebujesz Raspberry Pi lub PiJuice do innego projektu.

Musisz rozbić płytę prototypową, aby zmieściła się w mniejszej z dwóch puszek połączeniowych. To tutaj znajduje się obwód czujnikowy. Obwód czujnikowy jest teraz przenoszony z płytki prototypowej na płytkę prototypową. Teraz będziesz musiał trochę polutować. Upewnij się, że bezpiecznie używasz lutownicy. Jeśli nie masz pewności, poproś o pomoc kogoś, kto jest kompetentnym lutowniczym.

Wielkie podziękowania dla Patricka w laboratorium, który uratował mnie przed zrobieniem prawdziwego skrótu tego obwodu. Udało mu się to złożyć w ciągu kilku minut! Jeśli, tak jak ja, nie jesteś najlepszym w budowaniu obwodów i nie masz takiego geniusza jak Patrick, który mógłby ci pomóc, zawsze możesz zostawić obwód na płytce stykowej, o ile mieści się w twojej skrzynce elektrycznej.

Krok 6: Przygotowanie jednostek mieszkaniowych

Przygotowanie jednostek mieszkalnych
Przygotowanie jednostek mieszkalnych
Przygotowanie jednostek mieszkalnych
Przygotowanie jednostek mieszkalnych
Przygotowanie jednostek mieszkalnych
Przygotowanie jednostek mieszkalnych

W tej części robi się naprawdę fajnie. Być może zauważyłeś pierścienie na każdym pudełku. Są one zaprojektowane tak, aby można je było wybić, aby skrzynki mogły stać się złączami dla elektryki. Wykorzystamy je do połączenia między jednostką czujnikową a jednostką obliczeniową, do połączenia z panelem słonecznym, a także jako wentylacja dla jednostki czujnikowej, aby umożliwić cyrkulację powietrza.

Najpierw wybij jeden otwór w każdym pudełku, aby połączyć je, jak widać na zdjęciach. Wybicie otworów może być trudne do zgrabnego wykonania, ale szorstkie krawędzie nie mają znaczenia. Odkryłem, że najlepszą metodą jest użycie śrubokręta, aby najpierw przebić wcięty pierścień wokół każdego otworu, a następnie podważyć go jak pokrywkę z puszki z farbą. Wodoodporne złącze kablowe służy następnie do połączenia dwóch skrzynek.

Następnie będziesz musiał zrobić kolejny otwór w obudowie komputera na przewód panelu słonecznego. Ten otwór jest następnie podłączany jednym z półzaślepionych przepustów kablowych. Zanim włożysz przelotkę, przebij w niej otwór, przez który przejdzie kabel. Musi być jak najmniejsza, aby była wodoszczelna, a następnie wepchnij końcówkę microUSB przez otwór (to jest końcówka, która łączy się z PiJuice).

Na koniec należy wykonać dodatkowy otwór w jednostce czujnikowej, aby umożliwić wlot i wylot powietrza. Zdecydowałem się pójść na całość dokładnie naprzeciwko skrzyżowania dwóch pudełek. Może być konieczne dodanie drugiego otworu. Chyba dowiemy się za jakiś czas korzystając ze stacji pogodowej.

Krok 7: Podłączanie i wykańczanie stacji pogodowej

Podłączanie i wykańczanie stacji pogodowej
Podłączanie i wykańczanie stacji pogodowej
Podłączanie i wykańczanie stacji pogodowej
Podłączanie i wykańczanie stacji pogodowej
Podłączanie i wykańczanie stacji pogodowej
Podłączanie i wykańczanie stacji pogodowej

Prawie, prawie tam. Ostatnim etapem jest okablowanie wszystkiego.

Zaczynając od jednostki obliczeniowej. W tym pudełku mamy Raspberry Pi, PiJuice, który łączy się z Raspberry Pi GPIO i moduł GSM, który łączy się z breakoutem GPIO w PiJuice za pomocą żeńskich do żeńskich przewodów połączeniowych. Ładne i przytulne! na tym etapie prawdopodobnie radziłbym umieścić jakąś uszczelkę wokół punktu wejścia kabla USB do panelu słonecznego. Pewna żywica lub superklej prawdopodobnie zadziała.

Następnie przejdź na jednostkę czujnikową. Na zdjęciu od góry do dołu przewody są; szary, biały, fioletowy i niebieski to linie danych SPI, czarny to uziemienie, pomarańczowy to 3,3 V, czerwony to 5 V, a zielony to GPIO 4. Będziesz musiał znaleźć przewody połączeniowe, aby je podłączyć, a następnie przepuścić je przez wodoodporny kabel złącze widoczne na zdjęciach. Następnie każdy przewód można podłączyć do odpowiedniego GPIO i dokręcić złącze. Na tym etapie łatwo jest zobaczyć, jak można ulepszyć projekt; LDR nie będzie wystawiony na działanie dużej ilości światła (chociaż nadal może być przydatna znajomość wartości względnych, a wybicie dodatkowej dziury może pomóc), myślę, że lepiej byłoby użyć tego samego rozmiaru co jednostka obliczeniowa pudełko na jednostkę czujnikową, wtedy łatwiej byłoby dopasować płytkę drukowaną do pudełka i byłoby miejsce na zabawę różnymi układami.

Postawiłem go teraz w ogrodzie, jak widać na zdjęciach. Mam nadzieję, że w ciągu najbliższych kilku dni będę mógł również opublikować wyniki! I tak jak powiedziałem wcześniej, jeśli masz jakieś pomysły na fajne projekty, daj mi znać!

Zalecana: