Съдържание:

Пълна DIY Raspberry Pi метеорологична станция със софтуер: 7 стъпки (със снимки)
Пълна DIY Raspberry Pi метеорологична станция със софтуер: 7 стъпки (със снимки)

Видео: Пълна DIY Raspberry Pi метеорологична станция със софтуер: 7 стъпки (със снимки)

Видео: Пълна DIY Raspberry Pi метеорологична станция със софтуер: 7 стъпки (със снимки)
Видео: Lesson A1: Starting with PICAR-X Raspberry Pi Smart Robot car by SunFounder 2024, Ноември
Anonim
Пълна DIY Raspberry Pi метеорологична станция със софтуер
Пълна DIY Raspberry Pi метеорологична станция със софтуер
Пълна DIY Raspberry Pi метеорологична станция със софтуер
Пълна DIY Raspberry Pi метеорологична станция със софтуер

В края на февруари видях този пост на сайта на Raspberry Pi.

www.raspberrypi.org/school-weather-station-…

Те бяха създали метеорологични станции Raspberry Pi за училища. Исках напълно такъв! Но по това време (и вярвам, че още в момента на писане на това) те не са публично достъпни (трябва да сте в избрана група тестери). Е, исках да продължа и не ми се искаше да продавам стотици долари за съществуваща система на трети страни.

Така че, като добър потребител на Instructable, реших да направя свой собствен !!!

Направих малко проучване и намерих някои добри търговски системи, на които бих могъл да основа. Открих някои добри инструктажи, които да помогнат с някои от сензорните или малиновите PI концепции. Дори намерих този сайт, който беше заплатен мръсотия, трябваше да разрушат съществуваща система Maplin:

www.philpot.me/weatherinsider.html

Бързо напред около месец и имам основна работна система. Това е цялостна Raspberry Pi Weather система само с базовия Raspberry Pi хардуер, камера и някои различни аналогови и цифрови сензори, за да направим нашите измервания. Без закупуване на предварително направени анемометри или дъждомери, ние правим свои собствени! Ето неговите характеристики:

  • Записва информация в RRD и CSV, така че може да бъде манипулирана или експортирана/импортирана в други формати.
  • Използва Weather Underground API за получаване на страхотна информация като исторически върхове и спадове, фази на луната и изгрев/залез.
  • Използва камерата Raspberry Pi, за да прави снимка веднъж в минута (след това можете да ги използвате, за да правите интервали от време).
  • Има уеб страници, които показват данните за текущите условия и някои исторически данни (последен час, ден, 7 дни, месец, година). Темата на уебсайта се променя с времето на деня (4 опции: изгрев, залез, ден и нощ).

Целият софтуер за запис и показване на информацията е в Github, дори направих някои проследяване на грешки, заявки за функции и там:

github.com/kmkingsbury/raspberrypi-weather…

Този проект беше страхотно учене за мен, трябваше наистина да се потопя във възможностите на Raspberry Pi, особено с GPIO, и попаднах и на някои точки на учене. Надявам се вие, читателю, да се поучите от някои от моите изпитания и скърби.

Стъпка 1: Материали

Материали
Материали
Материали
Материали
Материали
Материали
Материали
Материали

Електроника:

  • 9 тръстикови превключватели (8 за посоката на вятъра, 1 за манометъра, по избор 1 за скоростта на вятъра вместо сензор на Хол), използвах тези:
  • 1 сензор на Хол (за скоростта на вятъра, наречен анемометър) -
  • Температура (https://amzn.to/2RIHf6H)
  • Влажност (много сензори за влажност идват с датчик за температура), използвах DHT11:
  • Налягане (BMP идваше и с температурен сензор), използвах BMP180, https://www.adafruit.com/product/1603, този продукт вече е прекратен, но има еквивалент с BMP280 (https://amzn.to/2E8nmhi)
  • Фоторезистор (https://amzn.to/2seQFwd)
  • GPS чип или USB GPS (https://amzn.to/36tZZv3).
  • 4 силни магнита (2 за анемометър, 1 за посока, 1 за дъждомер), използвах редкоземни магнити, силно препоръчително) (https://amzn.to/2LHBoKZ).
  • Няколко различни резистора, имам този пакет, който се оказа изключително удобен във времето:
  • MCP3008 - за преобразуване на аналогови в цифрови входове за Raspberry Pi -

Хардуер

  • Raspberry Pi - Първоначално използвах 2 с безжичен адаптер, сега вземете и комплекта 3 B+ с адаптер за захранване. (https://amzn.to/2P76Mop)
  • Pi камера
  • Солиден 5V захранващ адаптер (това се оказа болезнено досадно, в крайна сметка взех този Adafruit, иначе камерата изтегля твърде много сок и може/ще закачи Pi, тук е: https://www.adafruit.com/products /501)

Материали:

  • 2 тягови лагера (или лагерите за скейтборд или ролкови кънки също ще работят), взех ги на Amazon:
  • 2 водоустойчиви корпуса (използвах електрически корпус от местния магазин за големи кутии), няма голямо значение, просто трябва да се намери корпус с добър размер, който ще има достатъчно място и ще защити всичко).
  • Някои PVC тръби и капачки (различни размери).
  • PVC монтажни скоби
  • Няколко листа от тънък плексиглас (нищо твърде фантастично).
  • пластмасови стойки
  • мини винтове (използвах #4 болтове и гайки).
  • 2 Пластмасова орнаментна коледна елха - използвана за анемометъра, моята я взех в местното хоби лоби.
  • Малък дюбел
  • Малко парче шперплат.

Инструменти:

  • Дремел
  • Пистолет за лепило
  • Поялник
  • Мултиметър
  • Пробивна машина

Стъпка 2: Основен корпус - Pi, GPS, камера, светлина

Основен корпус - Pi, GPS, камера, светлина
Основен корпус - Pi, GPS, камера, светлина
Основен корпус - Pi, GPS, камера, светлина
Основен корпус - Pi, GPS, камера, светлина
Основен корпус - Pi, GPS, камера, светлина
Основен корпус - Pi, GPS, камера, светлина
Основен корпус - Pi, GPS, камера, светлина
Основен корпус - Pi, GPS, камера, светлина

Основният корпус съдържа PI, камерата, GPS и сензора за светлина. Той е проектиран да бъде водоустойчив, тъй като в него се помещават всички критични компоненти, измерванията се извършват от отдалечения корпус и този е проектиран да бъде изложен/отворен на елементите.

Стъпки:

Изберете заграждение, използвах електрическа разпределителна кутия, различни кутии за проекти и водоустойчиви кутии ще работят също толкова добре. Ключовият момент е, че има достатъчно място, за да побере всичко.

Моят корпус съдържа:

  • Малиновото пи (на стойности) - Нуждае се от WIFI чип, не искате да пускате Cat5e в задния двор!
  • Камерата (също на застой)
  • GPS чипът, свързан чрез USB (с помощта на sparkfun FTDI кабел: https://www.sparkfun.com/products/9718) - GPS осигурява географска ширина и дължина, което е хубаво, но по -важното е, че мога да получа точно време от GPS!
  • два жака ethernet/cat 5 за свързване на основния корпус към другия корпус, в който се намират другите сензори. Това беше просто удобен начин кабелите да преминават между двете кутии, имам приблизително 12 проводника, а двата cat5 осигуряват 16 възможни връзки, така че имам място да разширявам/променям нещата.

В предната част на кутията ми има прозорец, от който камерата да вижда. Случаят с този прозорец защитава камерата, но имах проблеми, при които червеният светодиод на камерата (когато прави снимка) се отразява от плексигласа и се показва на снимката. Използвах някаква черна лента, за да смекча това и да се опитам да го блокирам (и други светодиоди от Pi и GPS), но все още не е 100%.

Стъпка 3: „Дистанционно затваряне“за температура, влажност, налягане

„Дистанционно заграждение“за температура, влажност, налягане
„Дистанционно заграждение“за температура, влажност, налягане
„Дистанционно заграждение“за температура, влажност, налягане
„Дистанционно заграждение“за температура, влажност, налягане
„Дистанционно заграждение“за температура, влажност, налягане
„Дистанционно заграждение“за температура, влажност, налягане

Тук съхранявах сензорите за температура, влажност и налягане, както и „свързващите устройства“за датчиците за дъжд, посоката на вятъра и скоростта на вятъра.

Всичко е много просто, щифтовете тук се свързват чрез Ethernet кабели към необходимите щифтове на Raspberry Pi.

Опитах се да използвам цифрови сензори, където мога и след това всеки аналог се добавя към MCP 3008, отнема до 8 аналога, което беше повече от достатъчно за моите нужди, но дава възможност за подобряване / разширяване.

Този корпус е отворен за въздух (трябва да е за точна температура, влажност и налягане). Долните дупки са изпъкнали, затова дадох на някои от схемите спрей със спрей със силиконово конформно покритие (можете да го получите онлайн или на място като Electronics на Fry). Да се надяваме, че трябва да предпазва метала от всякаква влага, въпреки че трябва да внимавате и да не го използвате върху някои от сензорите.

В горната част на корпуса се намира и сензорът за скорост на вятъра. Това беше хвърляне нагоре, можех да сложа скоростта на вятъра или посоката на вятъра отгоре, не видях никакви големи предимства на единия пред другия. Като цяло искате и двата сензора (вятър и скорост) да са достатъчно високи, където сгради, огради, препятствия не пречат на измерванията.

Стъпка 4: Gain Gauge

Rain Gauge
Rain Gauge
Rain Gauge
Rain Gauge
Rain Gauge
Rain Gauge

Най -вече следвах тази инструкция, за да направя действителния габарит:

www.instructables.com/id/Arduino-Weather-St…

Направих това от плексиглас, за да видя какво става и си помислих, че ще е готино. Като цяло плексигласът работи добре, но в комбинация с лепилото, гумения уплътнител и цялостното рязане и пробиване, той не изглежда толкова девствен, дори и със защитното фолио.

Ключови точки:

  • Сензорът е обикновен тръстиков превключвател и магнит, третиран като натискане на бутон в кода на RaspberryPi, аз просто преброявам кофите с течение на времето и след това превръщам по -късно в "инчове дъжд".
  • Направете го достатъчно голям, за да задържа достатъчно вода, за да се наклони, но не толкова, че да се нуждае от много, за да се наклони. Първият ми пропуск направих всяка тава недостатъчно голяма, така че да се напълни и да започне да се източва през ръба, преди да се наклони.
  • Открих също, че остатъчната вода може да добави известна грешка в измерването. Това означава, че напълно изсъхнаха, бяха необходими X капки, за да запълни една страна и да я наклони, след като се намокри, бяха необходими Y капки (което е по -малко от X), за да се напълни и наклони. Не е огромно количество, но влезе в сила, когато се опитвате да калибрирате и да получите добро измерване „1 товар е равно на колко“.
  • Балансирайте го, можете да изневерите, като добавите лепило с лепило към долните краища, ако едната страна е много по -тежка от другата, но имате нужда от това възможно най -близо до балансирано.
  • Можете да видите на снимката, която инсталирам малко тестово оборудване, използвайки няколко гъби и дървен държач, за да тествам и да го балансирам правилно преди инсталирането.

Стъпка 5: Посока на вятъра

Посока на вятъра
Посока на вятъра
Посока на вятъра
Посока на вятъра
Посока на вятъра
Посока на вятъра

Това беше обикновена флюгер. Базирах електрониката на системата Maplin:

www.philpot.me/weatherinsider.html

Ключови точки:

Това е аналогов сензор. Осемте тръстикови превключватели, комбинирани с различни резистори, разделят изхода на парчета, така че да мога да идентифицирам в коя координата е сензорът по стойността. (Концепцията е обяснена в тази инструкция:

  • След като завиете частта на флюгера, трябва да я калибрирате, така че „тази посока да сочи на север“.
  • Направих тестова платформа с дърво, за да мога лесно да превключвам и изключвам резистори, които покриват целия диапазон от стойности за мен, това беше супер полезно!
  • Използвах упорен лагер, той се справи добре, сигурен съм, че обикновен скейтборд или ролков лагер би бил също толкова добър.

Стъпка 6: Скорост на вятъра

Скоростта на вятъра
Скоростта на вятъра
Скоростта на вятъра
Скоростта на вятъра
Скоростта на вятъра
Скоростта на вятъра

Този отново се обърнах към общността на Instructable и намерих и последвах тази инструкция:

www.instructables.com/id/Data-Logging-Anemo…

Ключови точки:

  • Можете също да използвате сензора на Хола или да преминете към сензор за тръстика. Датчикът на Хола е по -скоро аналогов сензор, така че ако го използвате по цифров начин, като натискане на бутон, трябва да се уверите, че показанието/напрежението е достатъчно високо, за да действа като истинско натискане на бутон, а не недостатъчно.
  • Размерът на чашата е от решаващо значение, както и дължината на пръчката! Първоначално използвах топки за пинг -понг и те бяха твърде малки. Сложих ги и на дълги пръчки, които също не работеха. Бях много разочарован и след това се натъкнах на този инструктируем, Пторели свърши чудесна работа с обяснението и ми помогна, когато оригиналният ми дизайн също не работи.

Стъпка 7: Софтуер

Софтуер
Софтуер
Софтуер
Софтуер

Софтуерът е написан на Python за записване на данните от сензорите. Използвах някои други Git библиотеки на трети страни от Adafruit и други, за да получа информацията от сензорите и GPS. Има и някои cron работни места, които извличат и част от информацията за API. Повечето от тях са обяснени/очертани в документацията на Git на адрес docs/install_notes.txt

Уеб софтуерът е в PHP, за да го покаже на уеб страницата, като същевременно използва YAML за конфигурационните файлове и, разбира се, инструмента за RRD за съхраняване и графизиране на данните.

Той използва Weather Underground API, за да получи някои от интересните данни, които сензорите не могат да изтеглят: Записвайте приветствия и спадове, фаза на Луната, времена на залез и изгрев, има и приливи и отливи, налични в техния API, които според мен бяха наистина чисти, но живея в Остин, Тексас, който е много далеч от водата.

Всичко това е достъпно в Github и се поддържа активно и в момента се използва, докато допълнително усъвършенствам и калибрирам собствената си система, така че можете също да изпращате заявки за функции и доклади за грешки.

Софтуерът преминава през промяна на темата в зависимост от времето на деня, има 4 етапа. Ако текущото време е + или - 2 часа от изгрев или залез, тогава ще получите съответно темите за изгрев и залез (в момента просто различен фон, вероятно ще направя различни цветове на шрифта/рамката в бъдеще). По същия начин извън тези диапазони дава дневна или нощна тема.

Благодаря за четенето, ако искате да видите повече снимки и видеоклипове на моите проекти, отколкото да разгледате моя Instagram и YouTube канал.

Pi/e Ден Конкурс
Pi/e Ден Конкурс
Pi/e Ден Конкурс
Pi/e Ден Конкурс

Трета награда в конкурса Pi/e Day

Препоръчано: