Мазмуну:

Толук DIY Raspberry Pi метеорологиялык станциясы программалык камсыздоо менен: 7 кадам (сүрөттөр менен)
Толук DIY Raspberry Pi метеорологиялык станциясы программалык камсыздоо менен: 7 кадам (сүрөттөр менен)

Video: Толук DIY Raspberry Pi метеорологиялык станциясы программалык камсыздоо менен: 7 кадам (сүрөттөр менен)

Video: Толук DIY Raspberry Pi метеорологиялык станциясы программалык камсыздоо менен: 7 кадам (сүрөттөр менен)
Video: Установка Android 4.4 на Raspberry Pi 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 колдонуучу сыяктуу эле, мен өзүмдүкүн чечтим !!!

Мен бир аз изилдөө жүргүздүм жана мен иштете турган жакшы соода системаларын таптым. Мен сенсор же Raspberry PI түшүнүктөрүнө жардам берүү үчүн жакшы көрсөтмөлөрдү таптым. Мен топурак төлөгөн бул сайтты таптым, алар бар Maplin системасын бузуп салышкан:

www.philpot.me/weatherinsider.html

Бир айга жакын алдыга жылуу жана менде негизги жумушчу системасы бар. Бул Raspberry Pi аба ырайынын толук тутуму, 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 Камерасы
  • Катуу 5В кубаттагыч адаптери (бул абдан тажатма болуп чыкты, мен акыры Adafruitти алдым, антпесе камера өтө көп ширени тартып алат жана Пиди илип коет, бул жерде: https://www.adafruit.com/products /501)

Материалдар:

  • 2 түртүү подшипниктери (же скейтборд же ролик-подшипниктер да иштейт), мен аларды Amazonдо алдым:
  • 2 Суу өткөрбөй турган корпустар (мен жергиликтүү чоң куту дүкөнүнөн электр корпусун колдондум), анча деле мааниге ээ эмес, болгону жетиштүү орунга ээ боло турган жана бардыгын коргой турган жакшы өлчөмдөгү корпусту табуу керек).
  • Кээ бир PVC түтүктөрү жана капкактары (ар кандай өлчөмдөгү).
  • PVC кронштейндери
  • Жуп ичке Plexiglass баракчалары (өтө кооз нерсе).
  • пластикалык тирешүүлөр
  • мини бурамалар (мен #4 болт менен гайканы колдондум).
  • 2 Пластикалык Christmas Tree Ornament - анемометр үчүн колдонулган, мен жергиликтүү Хобби Лоббисинде мина алдым.
  • Чакан дубель
  • Кичине фанера.

Куралдар:

  • Dremel
  • Глей тапанчасы
  • Кандооч
  • Мультиметр
  • Бургулоо

2 -кадам: Негизги корпус - Pi, GPS, камера, жарык

Негизги корпус - Pi, GPS, камера, жарык
Негизги корпус - Pi, GPS, камера, жарык
Негизги корпус - Pi, GPS, камера, жарык
Негизги корпус - Pi, GPS, камера, жарык
Негизги корпус - Pi, GPS, камера, жарык
Негизги корпус - Pi, GPS, камера, жарык
Негизги корпус - Pi, GPS, камера, жарык
Негизги корпус - Pi, GPS, камера, жарык

Негизги корпуста PI, Камера, GPS жана жарык сенсору жайгашкан. Ал суу өткөрбөйт деп иштелип чыккан, анткени анын ичинде бардык маанилүү компоненттер бар, өлчөөлөр алыскы корпуста алынат жана ал элементтерге ачык/ачык болуу үчүн иштелип чыккан.

Кадамдар:

Корпусту тандаңыз, мен электр туташтыруу кутусун колдондум, ар кандай проект кутучалары жана суу өткөрбөй турган корпустар ошондой иштейт. Негизги нерсе - бул баарына жетиштүү орун.

Менин корпусум төмөнкүлөрдү камтыйт:

  • Малина пи (карама -каршылыкта) - WIFI чипи керек, Cat5eди арткы короого иштетүүнү каалабаңыз!
  • Камера (ошондой эле карама -каршылыкта)
  • USB чипи, 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 аналогго чейин жетет, бул менин керектөөлөрүмө жетет, бирок жакшыртууга / кеңейтүүгө орун берет.

Бул корпус абага ачык (так температура, нымдуулук жана басым үчүн болушу керек). Төмөндөгү тешиктер чыгып кеткендиктен, мен кээ бир схемаларга силикон конформалдуу каптоочу спрей бердим (аны интернеттен же Fry's Electronics сыяктуу жерден алсаңыз болот). Бул металлды нымдуулуктан коргошу керек деп үмүттөнөбүз, бирок этият болуңуз жана аны кээ бир сенсорлордо колдонбоңуз.

Корпустун үстү шамалдын ылдамдыгы сенсоруна туура келет. Бул ыргытуу болду, мен шамалдын ылдамдыгын же шамалдын багытын койсом болмок, мен биринин экинчисинен эч кандай чоң артыкчылыгын көргөн жокмун. Жалпысынан сенсорлордун (шамалдын ылдамдыгы жана ылдамдыгы) имараттар, тосмолор, тоскоолдуктар өлчөөлөргө тоскоол болбогон жерде жетишерлик бийик болушун каалайсыз.

4 -кадам: Жамгыр өлчөгүч

Жамгыр өлчөгүч
Жамгыр өлчөгүч
Жамгыр өлчөгүч
Жамгыр өлчөгүч
Жамгыр өлчөгүч
Жамгыр өлчөгүч

Чыныгы өлчөгүчтү жасоо үчүн мен негизинен ушул көрсөтмөнү аткардым:

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

Мен муну плексигласстан жасадым, ошондуктан мен эмне болуп жатканын көрүп, сонун болот деп ойлогом. Жалпысынан плексиглас жакшы иштеди, бирок Gluegun, резина пломба жана жалпы кесүү жана бургулоо менен бирге ал коргоочу пленка менен деле таза бойдон калбайт.

Негизги учурлар:

  • Сенсор - бул RaspberryPi кодундагы баскычты басуу сыяктуу кабыл алынган жөнөкөй камыш которгуч жана магнит, мен чакаларды убакыттын өтүшү менен эсептеп, кийинчерээк "жамгырдын дюймуна" айландырам.
  • Чачты сууга батыра тургандай кылып чоң кылыңыз, бирок ушунчалык көп эмес. Менин биринчи ашуум ар бир лотокту анча чоң эмес кылып жасады, ошондуктан ал учуп кете электе четинен агып баштайт.
  • Ошондой эле, калган суу өлчөөдө кандайдыр бир ката кетириши мүмкүн экенин байкадым. Мааниси, толугу менен кургап, капталын толтуруу үчүн X тамчыларын талап кылды, ным болгондон кийин Y тамчыларын (Xтен азыраак) толтуруу жана чайкоо керек болду. Бул чоң сумма эмес, бирок "1 жүктөө канчага барабар" өлчөөнү калибрлеп, алууга аракет кылганда күчүнө кирген.
  • Таразалаңыз, астынкы учуна клейклюмин кошуп алдап койсоңуз болот, эгер бир жагы башка тараптан кыйла оор болсо, бирок сизге мүмкүн болушунча тең салмактуу болуш керек.
  • Сүрөттөн мен кичинекей губкаларды жана жыгач кармагычты колдонуп, орнотуудан мурун туура салмактуу кылып текшерип жатканымды көрө аласыз.

5 -кадам: Шамалдын багыты

Шамалдын багыты
Шамалдын багыты
Шамалдын багыты
Шамалдын багыты
Шамалдын багыты
Шамалдын багыты

Бул жөнөкөй аба ырайы болчу. Мен Maplin системасынан электрониканы негиздедим:

www.philpot.me/weatherinsider.html

Негизги учурлар:

Бул аналогдук сенсор. Сегиз камыш өчүргүчтөр ар кандай резисторлор менен бирге чыгымды бөлүктөргө бөлүшөт, андыктан сенсор кайсы координаттын мааниси боюнча экенин аныктай алам. (Концепция бул көрсөтмөдө түшүндүрүлөт:

  • Аба ырайынын бөлүгүн бурап алгандан кийин, аны "бул багыт түндүктү көрсөтөт" деп калибрлөө керек.
  • Мен резисторлорду оңой эле алмаштырып, мен үчүн баалуулуктардын толук спектрин камтыган, жыгачтан жасалган сыноочу станок жасадым, бул абдан пайдалуу болду!
  • Мен подшипникти колдондум, ал жакшы эле, кадимки скейтборд же ролик тебүү эле жакшы болмок деп ишенем.

6 -кадам: Шамалдын ылдамдыгы

Шамалдын ылдамдыгы
Шамалдын ылдамдыгы
Шамалдын ылдамдыгы
Шамалдын ылдамдыгы
Шамалдын ылдамдыгы
Шамалдын ылдамдыгы

Бул мен дагы бир жолу Инструктивдүү коомчулукка кайрылып, бул көрсөтмөлүү нерсени таап, ээрчип алдым:

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

Негизги учурлар:

  • Сиз залдын сенсорун колдонсоңуз же камыш сенсоруна которсоңуз болот. Залдын сенсору аналогдук сенсорго көбүрөөк окшош, эгер сиз аны санарип түрдө колдонуп жатсаңыз, кнопканы басуу сыяктуу, окуу/чыңалуу жетишерлик эмес, чыныгы баскычты басуу сыяктуу иштээрине ынанууңуз керек..
  • Чынынын өлчөмү чечүүчү, таяктын узундугу да маанилүү! Башында мен теннис боюнча топторду колдондум, алар өтө кичинекей болчу. Мен аларды да иштебеген узун таяктарга кийгиздим. Мен абдан капа болдум, анан ошол үйрөткүчкө туш келдим, Пторелли түшүндүрүү иштерин мыкты аткарды жана бул менин баштапкы дизайным иштебей калганда мага жардам берди.

7 -кадам: Программалык камсыздоо

Программалык камсыздоо
Программалык камсыздоо
Программалык камсыздоо
Программалык камсыздоо

Программалар сенсорлордон маалыматтарды жазуу үчүн Python тилинде жазылган. Мен сенсорлордон жана GPSтен маалымат алуу үчүн Adafruit жана башка 3 -тараптуу Git китепканаларын колдондум. API маалыматынын бир бөлүгүн тарткан кээ бир cron жумуштары бар. Көбү Git документтеринде docs/install_notes.txt боюнча түшүндүрүлөт/баяндалат

Веб программасы PHPде, аны веб -баракчада көрсөтүү үчүн, ошондой эле конфигурация файлдары үчүн YAMLди жана, албетте, маалыматтарды сактоо жана графикке келтирүү үчүн RRD куралын колдонот.

Ал сенсорлор тарта албаган кызыктуу маалыматтарды алуу үчүн Weather Underground API колдонот: Hi's and Lows, Айдын фазасы, Күндүн батышы жана Күндүн чыгышын жазуу, ошондой эле APIлеринде Tides жеткиликтүү, мен чынында эле тыкан деп ойлогом, бирок мен Остин шаарында жашайм, ал суудан абдан алыс.

Мунун баары Githubда жеткиликтүү жана активдүү түрдө сакталып турат жана учурда колдонулуп жатат, анткени мен өзүмдүн системамды андан ары өркүндөтүп жана калибрлеп жатам, андыктан сиз ошондой эле функциялардын сурамдарын жана мүчүлүштүктөр тууралуу отчетторду тапшыра аласыз.

Программа күндүн убактысына жараша теманы өзгөртүп турат, 4 этап бар. Эгерде учурдун убактысы күндүн чыгышынан же күндүн батышынан + же - 2 сааттан кийин болсо, анда сиз күндүн чыгышы менен батышынын темаларын аласыз (азыр башка фон, мен келечекте ар кандай шрифт/чек түстөрдү жасайм). Ошол диапазондордон тышкары, күндүз же түнкү теманы берет.

Окуганыңыз үчүн рахмат, эгер сиз менин долбоорлорумдун сүрөттөрүн жана видеолорун көбүрөөк көргүңүз келсе, менин Инстаграммды жана YouTube каналымды карап көрүңүз.

Pi/e Day сынагы
Pi/e Day сынагы
Pi/e Day сынагы
Pi/e Day сынагы

Pi/e Day конкурсунда үчүнчү сыйлык

Сунушталууда: