Съдържание:

Слънчева метеорологична станция Raspberry Pi: 7 стъпки (със снимки)
Слънчева метеорологична станция Raspberry Pi: 7 стъпки (със снимки)

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

Видео: Слънчева метеорологична станция Raspberry Pi: 7 стъпки (със снимки)
Видео: Part 5 - Walden Audiobook by Henry David Thoreau (Chs 12-15) 2024, Ноември
Anonim
Слънчева метеорологична станция Raspberry Pi
Слънчева метеорологична станция Raspberry Pi
Слънчева метеорологична станция Raspberry Pi
Слънчева метеорологична станция Raspberry Pi
Слънчева метеорологична станция Raspberry Pi
Слънчева метеорологична станция Raspberry Pi
Слънчева метеорологична станция Raspberry Pi
Слънчева метеорологична станция Raspberry Pi

Подтикнат от завършването на двата ми предишни проекта, компактната камера и преносимата конзола за игри, исках да намеря ново предизвикателство. Естествената прогресия беше външна дистанционна система …

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

Първоначалната ми мисъл беше да използвам фантастичния модул AirPi за отчитане. Това обаче имаше два основни недостатъка; тя изисква директна интернет връзка за качване на резултатите и тя трябва да бъде свързана директно към GPIO на Pi, което означава, че не може да бъде изложена на въздух, без да излага и Raspberry Pi (не е идеално, ако искаме тази метеорологична станция да издържат за определен период от време).

Решението … изградете свой собствен сензорен модул! Използвайки голяма част от AirPi за вдъхновение, успях да събера много прост прототип, използвайки няколко сензора, които вече имах; температура, влажност, нива на светлина и общи газове. И най -хубавото в това е, че е наистина лесно да добавите още сензори по всяко време.

Реших да използвам Raspberry Pi a+ главно поради ниската му консумация на енергия. За да ми изпратите резултатите, използвах EFCom Pro GPRS/GSM модул, който може да изпрати текст директно до мобилния ми телефон с резултатите! Доста спретнато нали?

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

Стъпка 1: Части

Части
Части

1 x PiJuice + слънчев панел (в комплект с нашата революционна технология PiAnywhere - най -добрият начин да извадите своя Pi от мрежата!)

1 x Raspberry Pi a+

1 x EFCom Pro GPRS/GSM модул

1 x SIM карта

1 х дъска за хляб

Protoboard

1 x MCP3008 ADC

1 x LDR

1 x LM35 (температурен сензор)

1 x DHT22 (сензор за влажност)

1 x TGS2600 Общ сензор за качеството на въздуха

1 x 2.2 KΩ резистор

1 x 22 KΩ резистор

1 x 10 KΩ резистор

10 x женски - женски джъмперни проводници

Асортимент от еднокалиберна тел

1 x Единична външна разпределителна кутия

1 x Двойна външна разпределителна кутия

1 x водоустойчив кабелен конектор

2 x 20 мм полуслепи кабелни скоби

Стъпка 2: Сензорна верига

Сензорна верига
Сензорна верига
Сензорна верига
Сензорна верига
Сензорна верига
Сензорна верига

В този проект има доста различни елементи, така че е най -добре да направите всичко на стъпки. Първо ще разгледам как да сглобявам сензорната верига.

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

  1. Първият компонент за свързване е този аналогово -цифров преобразувател MCP3008. Това може да отнеме до 8 аналогови входа и комуникира с Raspberry Pi чрез SPI. С чипа обърнат нагоре и полукръгът, отрязан в най-отдалечения от вас край, щифтовете вдясно се свързват с Raspberry Pi. Свържете ги, както е показано. Ако искате да научите малко повече за това как работи чипът, ето едно чудесно ръководство за MCP3008 и SPI протокола.
  2. Щифтовете вляво са 8-те аналогови входа, номерирани 0-7 отгоре надолу. Ще използваме само първите 3 (CH0, CH1, CH2), за LDR, общия сензор за газ (TGS2600) и температурния сензор (LM35). Първо свържете LDR, както е показано на диаграмата. Едната страна към земята, а другата към 3.3V чрез резистор 2.2KΩ и CH0.
  3. След това свържете "общия сензор за газ". Този сензор за газ се използва за откриване на замърсители на въздуха като водород и въглероден окис. Все още не съм разработил как да получа конкретни концентрации, така че засега резултатът от този сензор е основно процентно ниво, където 100% е напълно наситен. С сензора нагоре (щифтове от долната страна), щифтът директно вдясно от малкия издатин е щифт 1 и след това числата се увеличават по часовниковата стрелка около щифта. Така че щифтове 1 и 2 се свързват към 5V, щифт 3 се свързва към CH1 и заземява чрез 22KΩ резистор, а pin4 се свързва направо към земята.
  4. Последният аналогов сензор за свързване е температурният сензор LM35. Това има 3 пина. Вземете сензора така, че плоската страна да е най -близо до вас, най -левият щифт се свързва направо към 5V (не е отбелязано на диаграмата, лошо!), Централният щифт се свързва към CH2, а най -десният щифт се свързва право към земята. Лесно!
  5. Последният компонент за свързване е DHT22 сензор за влажност. Това е цифров сензор, така че може да се свърже направо с Raspberry Pi. Вземете сензора с решетката обърната към вас и четирите щифта от долната страна. Щифтовете са подредени от 1 вляво. Свържете 1 към 3.3V. Пин 2 преминава към GPIO4 и 3.3V чрез 10KΩ резистор. Оставете щифт 3 изключен и щифт 4 отива направо на земята.

Това е! Тестовата верига е изградена. Надявам се да добавя още компоненти, когато имам време. Наистина бих искал да добавя сензор за налягане, сензор за скорост на вятъра и бих искал да получа по -интелигентни данни за концентрациите на газ.

Стъпка 3: GSM модул

GSM модул
GSM модул
GSM модул
GSM модул

Сега, когато сензорните вериги са изградени, трябва да има начин за получаване на резултатите. Тук идва GSM модулът. Ще го използваме за изпращане на резултатите през клетъчната мрежа в SMS, веднъж на ден.

GSM модулът комуникира с Raspberry Pi чрез сериен интерфейс, използвайки UART. Ето страхотна информация за серийната комуникация с Raspberry Pi. За да поемем контрола над серийния порт на Pi, първо трябва да направим някаква конфигурация.

Стартирайте вашия Raspberry Pi със стандартен Raspbian образ. Сега променете файла "/boot/cmdline.txt" от:

"dwc_otg.lpm_enable = 0 console = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200 console = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 асансьор = краен rootwait"

да се:

"dwc_otg.lpm_enable = 0 console = tty1 root =/dev/mmcblk0p2 rootfstype = ext4 асансьор = краен срок rootwait"

като премахнете подчертания участък от текста.

Второ, трябва да редактирате файла „/etc/inittab“, като коментирате втория ред в следния раздел:

#Изградете гети на серийната линия на Raspberry PiT0: 23: respawn:/sbin/getty -L ttyAMA0 115200 vt100"

Така че да пише:

#Spawn a getty на серийната линия на Raspberry Pi#T0: 23: respawn:/sbin/getty -L ttyAMA0 115200 vt100

и рестартирайте Pi. Сега серийният порт трябва да бъде свободен за комуникация, както желаете. Време е да свържете GSM модула. Разгледайте електрическата схема в предишната стъпка и снимките по -горе, за да видите как се прави това. По принцип TX е свързан към RX и RX е свързан към TX. На Raspberry Pi TX и RX са съответно GPIO 14 и 15.

Вероятно искате да проверите дали модулът работи, така че нека се опитаме да изпратим текст! За целта трябва да изтеглите Minicom. Това е програма, която ви позволява да пишете на серийния порт. Използвайте:

"sudo apt-get install minicom"

След като бъде инсталиран, minicom може да се отвори със следната команда:

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

9600 е скоростта на предаване и /dev /ttyAMA0 е името на серийния порт на Pi. Това ще отвори терминален емулатор, в който каквото и да напишете, ще се появи на серийния порт, тоест ще бъде изпратено до GSM модула.

Поставете заредената си SIM карта в GSM модула и натиснете бутона за захранване. След това трябва да светне син светодиод. GSM модулът използва набора от команди AT, ето документацията, ако наистина се интересувате. Сега проверяваме дали Raspberry Pi е открил модула със следната команда:

"AT"

след това модулът трябва да отговори с:

"ДОБРЕ"

Страхотен! След това трябва да конфигурираме модула да изпраща SMS като текст, а не като двоичен:

"AT+CMGF = 1"

отново отговорът трябва да бъде "ОК". Сега пишем командата за изпращане на SMS:

"AT+CMGS =" 44 ************* "", заменете звездите с вашия номер.

Модемът с отговор с ">", след което можете да напишете съобщение. За да изпратите съобщението, натиснете. Това е всичко и с малко късмет току -що сте получили текст направо от вашия Raspberry Pi.

Е, сега, когато знаем, че GSM модулът работи, можете да затворите minicom; няма да имаме нужда от него за останалата част от проекта.

Стъпка 4: Изтеглете софтуера и стартирайте на сухо

Изтеглете софтуера и стартирайте на сухо
Изтеглете софтуера и стартирайте на сухо
Изтеглете софтуера и стартирайте на сухо
Изтеглете софтуера и стартирайте на сухо

До този етап всичко трябва да бъде свързано и готово да се тества за работа на сухо. Написах доста проста програма за python, която ще отчита показанията от всеки сензор и след това ще изпраща резултатите на вашия мобилен телефон. Можете да изтеглите цялата програма от страницата на PiJuice Github. Сега също може да е подходящ момент за тестване с модула PiJuice. Той просто се включва в GPIO на Raspberry Pi, всички кабели, свързани към Pi, просто се включват директно в съответните изводи на PiJuice. Лесно като Пи. За да изтеглите кода, използвайте командата:

git clone

Той е настроен да изпраща данни веднъж дневно. За целите на тестването това не е чудесно, така че може да искате да редактирате програмата. Това става лесно; просто отворете файла; "sudo nano weatherstation.py". В горната част има секция „зададено забавяне“. Коментирайте реда "забавяне = 86400" и премахнете коментара "забавяне = 5". Сега резултатите ще се изпращат веднъж на всеки 5 секунди. Също така ще искате да промените програмата, така че да съдържа вашия собствен мобилен номер. Намерете къде пише „+44 **********“и заменете звездите със свой собствен номер.

Преди да стартирате програмата, просто трябва да изтеглите библиотека за четене на датчика за влажност на DHT22:

git clone

И библиотеката трябва да бъде инсталирана:

"cd Adafruit_Python_DHT"

"sudo apt-get update"

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

"sudo python setup.py install"

Готино, сега можете да тествате програмата.

"sudo python weatherstation.py"

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

Стъпка 5: Изградете веригата

Изградете веригата
Изградете веригата
Изградете веригата
Изградете веригата
Изградете веригата
Изградете веригата

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

Ще трябва да счупите протоборда, за да се побере в по -малката от двете съединителни кутии. Тук се помещава сензорната верига. Сега сензорната верига се прехвърля от основната платка към протоборда. Сега ще трябва да направите малко запояване. Уверете се, че използвате безопасно поялник безопасно. Ако не сте сигурни, помолете за помощ някой, който е компетентен заварчик.

Много благодаря на Патрик в лабораторията тук, който ме спаси да направя истински хеш на тази схема. Той успя да го събори за няколко минути! Ако, като мен, не сте най -добрите строителни схеми и нямате гений като Патрик, готов да ви помогне, тогава винаги можете да оставите веригата на макет, стига да се побере в електрическата ви кутия.

Стъпка 6: Подготовка на жилищните единици

Подготовка на жилищните единици
Подготовка на жилищните единици
Подготовка на жилищните единици
Подготовка на жилищните единици
Подготовка на жилищните единици
Подготовка на жилищните единици

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

Първо избийте една дупка на всяка кутия за връзка между двете, както се вижда на снимките. Избиването на дупките може да бъде трудно да се направи спретнато, но грапавият ръб няма значение. Открих, че най -добрият метод е да използвам отвертка, за да пробия първо вдлъбнатия пръстен около всяка дупка и след това да го издърпам като капак за боядисана боя. След това водоустойчивият кабелен конектор се използва за свързване на двете кутии.

След това ще трябва да направите още една дупка в изчислителния корпус за проводника на слънчевия панел. След това този отвор се запушва с една от вашите полуслепи кабелни втулки. Преди да поставите втулката, пробийте дупка в нея, за да може кабелът да премине. Това трябва да бъде възможно най -малко, за да се запази водонепроницаемостта, след което натиснете края на micro usb през отвора (това е краят, който се свързва с PiJuice).

Най -накрая трябва да се направи допълнителен отвор в сензорния блок, за да може въздухът да влиза и излиза. Реших да отида за whol точно срещу кръстовището между двете кутии. Може да се наложи да добавите втора дупка. Предполагам, че след известно време ще използваме метеорологичната станция.

Стъпка 7: Окабеляване и завършване на метеорологичната станция

Окабеляване и завършване на метеорологичната станция
Окабеляване и завършване на метеорологичната станция
Окабеляване и завършване на метеорологичната станция
Окабеляване и завършване на метеорологичната станция
Окабеляване и завършване на метеорологичната станция
Окабеляване и завършване на метеорологичната станция

Да, почти там. Последният етап е да свържете всичко.

Започвайки с изчислителната единица. В това поле имаме Raspberry Pi, PiJuice, който се свързва към Raspberry Pi GPIO и GSM модула, който се свързва към GPIO пробив на PiJuice чрез проводници от женски към женски. Приятно и плътно! на този етап вероятно бих посъветвал да поставите някакъв уплътнител около входната точка за USB кабела за слънчевия панел. Вероятно ще работи някаква смола или суперлепило.

След това преминете към сензорния блок. На снимката отгоре надолу проводниците са; сиво, бяло, лилаво и синьо са линиите за данни SPI, черното е смляно, оранжевото е 3.3V, червеното е 5V и зеленото е GPIO 4. Ще трябва да намерите джъмперни проводници, за да се свържете с тях и след това да ги подадете през водоустойчивия кабел конектор, както се вижда на снимките. След това всеки проводник може да бъде свързан към съответния GPIO и конекторът може да бъде затегнат. На този етап е лесно да се види как дизайнът може да бъде подобрен; LDR няма да бъде изложен на много светлина (въпреки че все още може да бъде полезно да се знаят относителните стойности, а избиването на допълнителна дупка може да помогне), мисля, че би било по -добре да използвате същия размер като изчислителната единица кутия за сензорния модул, тогава би било по -лесно да поставите платката в кутията и би имало място за игра с различни подредби.

Изложих го в градината, както можете да видите на снимките. Надявам се през следващите дни да успея да публикувам и някои резултати! И както казах по -рано, ако имате идеи за някои готини проекти, кажете ми!

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