Мазмуну:
- 1 -кадам: Бардык керектүү нерселерди алыңыз
- 2 -кадам: Raspberry Piңизди даярдаңыз
- 3 -кадам: Бардыгын бирге туташтырыңыз
- 4 -кадам: Маалыматтар базаңызды түзүңүз
- 5 -кадам: Коддун убактысы
- 6 -кадам: Аны сынап көрүңүз
Video: Fanair: Сиздин бөлмөңүз үчүн аба ырайы бекети: 6 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Учурдагы аба ырайын билүүнүн сансыз жолдору бар, бирок андан кийин сырттагы аба ырайын гана билесиз. Эгер сиз үйүңүздүн ичинде, белгилүү бир бөлмөдө аба ырайын билгиңиз келсе? Мен бул долбоор менен чечүүгө аракет кылып жатам.
Fanair сезүү үчүн бир нече сенсорлорду колдонот:
- температура
- нымдуулук
- жарык
- кээ бир газдар
- аба басымы
Бул абдан кыска жана Raspberry Pi 3 Bди колдонот, баалуулуктарды алуу үчүн, аларды MySQL маалымат базасына сактап, анан веб -сайтта оңой жеткиликтүү кылуу үчүн. Код жана веб -сайтта сиздин жайгашкан жериңиз боюнча аба ырайы тууралуу так маалымат алуу мүмкүнчүлүгү камтылган, андыктан веб -сайт аба ырайын сырттан текшерүү үчүн да колдонулушу мүмкүн.
1 -кадам: Бардык керектүү нерселерди алыңыз
Биринчиден, сизге зымдар / секирүүчү кабелдер сыяктуу негизги электроника керек болот. Эгер сиз бардыгын туруктуу проект катары ширетүүнү пландап жатсаңыз, анда сизге ширетүүчү темир, ширетүүчү жана өзүңүздүн ыңгайлуулугуңуз үчүн баарын ширетүү үчүн ПХБ керек болот.
Дагы конкреттүү нерселер үчүн мен бул материалдык эсепти жасадым.
- Raspberry Pi 3 B.
- MPC3008-8-канал 10-бит ADC
- AM2301 Термометр Температура жана нымдуулук сенсору
- WR Rademacher WR-tyoe 930-1 PCB
- Прототип үчүн ABS Case (кара)
- LDR
- MQ135 газ сенсору
- 2x BC517 Дарлингтон транзистору
- RGB LED
- Resistor Pack
- Коңгуроо
- Зымдар
- BMP280 барометр
- Тынч USB күйөрманы (5V)
Баары чогуу бул болжол менен € 110 турат. Жалпы баа болжолдуу экенин унутпаңыз. Ошондой эле, менин проектимде ЖК экраны бар, бирок ал менин ишимде жетиштүү орун болбогондуктан туташкан эмес, андыктан ал көрсөтмөгө киргизилген эмес.
2 -кадам: Raspberry Piңизди даярдаңыз
Raspberry Jessie'ди Pixel операциялык тутуму менен Raspberry Pi расмий сайтынан алыңыз жана аны жүктөп алгандан кийин ачыңыз. Сиз сүрөт файлын аласыз. Аны Piге алуу үчүн аны Win32 Disk Imager аркылуу SD-картага жазышыңыз керек болот. Орнотулгандан кийин, сүрөт файлын жана SD-карта жайгашкан дискти тандаңыз. Андан кийин жазууну басыңыз жана ал бүткөнчө күтө туруңуз.
Аяктагандан кийин File Explorerдеги SD-картаңызды чыкылдатыңыз жана "cmdline.txt" деп аталган файлды ачыңыз, текст файлынын аягына чейин rootwait алдында жана "ip = 254.169.10.2" деп жазыңыз. Сакталгандан кийин, терезенин ичиндеги бир жерди оң баскыч менен чыкылдатып, "ssh" деп аталган жаңы файл түзүү керек. Бул файлдын файл кеңейтүүсү жок экенин байкаңыз. Кеңейтүү жок экенине ынануу үчүн, файл изилдөөчүсүндөгү "көрүү" баскычын чыкылдатып, "жашыруун файлдарды" текшериңиз. Эгерде ал атын өзгөртүп, кеңейтүүнү жок кылса, анда ал жөн гана 'ssh' деп окуйт.
Бул бүткөндөн кийин, сиз акыры SD-картаңызды Raspberry Piге сала аласыз. Ssh кардарын жүктөп алыңыз (MobaXterm сунуштайм). Жана ssh аркылуу туташкан IP менен туташыңыз '254.169.10.2'. Колдонуучунун аты 'pi', сырсөз 'малина'. Кааласаңыз, терминалга "sudo passwd" буйругун терип жана көрсөтмөлөрдү аткаруу менен сырсөздү өзгөртө аласыз. Биз Fanair үчүн SD-картанын жакшы бөлүгүн колдоно тургандыктан, "Advanced Options" жана "File System кеңейтүү" дегенди тандап, 'sudo rapi-config' терүү менен жеткиликтүү сактагычты кеңейтүү керек. Эгерде кайра иштетүү суралса.
Биз 1-зым, SPI жана I2C интерфейсин колдонобуз. Аларды колдоно билүү үчүн, адегенде аларды орнотуу керек!
3 -кадам: Бардыгын бирге туташтырыңыз
Район жасоого убакыт келди! Биринчи жолу, балким, аны нан тактасында сынап көрүшүңүз керек, бирок буга убактыңыз жок болсо, аны чогуу ширетүүгө аракет кылсаңыз болот.
Сизге керектүү схема жогорудагыдай көрүнөт, ыңгайлуулук үчүн панелдин версиясы да камтылган.
4 -кадам: Маалыматтар базаңызды түзүңүз
Сиз ала турган бардык маалыматтарды натыйжалуу сактоо үчүн, биз TSQL MySQL маалымат базасын колдонобуз. MySQLти орнотуудан мурун, терминалда бир нече буйруктарды терүү менен баары жаңырганына ынаналы.
- 'sudo apt-get update'
- 'sudo apt-get жогорулатуу'
- 'sudo apt-get dist-upgrade'
"Y" терүү менен ар бир чакырууну кабыл алып, киргизиңиз.
MySQL түрүн орнотуу үчүн:
- 'sudo apt-get mysql-server орнотуу'
- 'sudo apt-get mysql-client орнотуу'
Качан сиз тандаган тамыры сырсөзүн түзүү.
Кирүүнү орнотуу аяктагандан кийин:
'mysql -uroot -p'
Жана сырсөзүңүздү терүү.
My Githubдан Fanair кодун алыңыз! "Клондоо же жүктөө" баскычын чыкылдатыңыз, андан кийин "ZIP жүктөө". Сиз тандаган папкадагы кодду ачыңыз. Толук иштей турган маалымат базасын түзүү суранычы маалымат базасынын папкасында. Файлды ачыңыз, кодду көчүрүп, терминалга MySQL ачуу менен чаптаңыз. Андан кийин Enter баскычын чыкылдатыңыз жана маалымат базасы бүттү!
5 -кадам: Коддун убактысы
Бардык сенсорлорду колдонуу үчүн, албетте, программаны иштетүү керек. Бактыга жараша, код мурунтан эле аткарылган (көбүнчө) жана биз аны SQL маалымат базасын алууда жүктөп алдык.
Мен айткандай, программанын туура иштеши үчүн дагы бир нече нерселерди өзгөртүү / кошуу керек. Биринчиден, программа узундукка жана кеңдикке негизделген аба ырайы маалыматын алуу үчүн Darksky API колдонот. Аны колдонуу үчүн катталуу керек. Алгачкы 1000 чалуу акысыз, андан кийин бир чалуу үчүн $ 0,0001 турат. Сиз төлөбөсөңүз, сиздин эсебиңиз бөгөлүп калат деп уктум. Адилеттүүлүк үчүн, бир чалуу үчүн $ 0.0001 абдан арзан. Fanair акыркы маалыматты ар бир саат сайын чакырат, бул бир жылдын ичинде толук убакыт иштесе, сизге болгону $ 0.876 турат. Fanair толук убакыт иштесе, 41 күн акысыз аласыз.
Катталгандан кийин API ачкычыңызды издеңиз. Google карталарынан жайгашкан жериңиздин узунун жана кеңдигин издеңиз же гуглга аракет кылыңыз. Жаңы текст файлын Fanairдин түп каталогун түзүңүз (класстар менен, main.py…). Файлга 'key_location.txt' деген ат коюңуз. Текст файлын ачыңыз жана биринчи сапка Darksky API ачкычыңызды чаптаңыз. Экинчи сапка узунуңузду, үчүнчү сапка кеңдигиңизди чаптаңыз (экөө тең ондук форматта). Бүткөндөн кийин файлды сактаңыз.
Ошол эле каталогдо 'database_dsn.txt' деп аталган башка текст файлын түзүңүз. Биринчи сапта "localhost" деп жазылышы керек. Экинчи сап "тамыр". Үчүнчү сапта мурда маалымат базасы үчүн түзгөн сырсөзүңүздү теришиңиз керек, ал эми төртүнчү жана акыркы сапка "fanair" деп териңиз.
Main.py файлын оң баскыч менен чыкылдатып, түзөтүүнү тандаңыз. 'Fanair = Fanair (5, 26, 17, 27, 22, 4, "AM2301", 1, 0, 0, 0, "key_location.txt", "database_dsn.txt")' өзгөртүлүшү керек. Эгерде сиз сүрөттү ээрчисеңиз, анда биринчи 5 маанини '5, 26, 17, 27, 22, 4' ден '20, 21, 26, 19, 13 'га өзгөртүү керек. '/home/muhsin/Applications/Fanair' да Fanair тамыр жолуна (main.py жайгашкан) өзгөртүлүшү керек. "Fanairден" кийин эмес, "үйдүн" алдына сызык койгула.
Эми мунун баары сонун, бирок код Piге кириши керек. Бактыга жараша, бизде sftp протоколу бар. Файлдарды Pi'ге коюу үчүн FileZilla сыяктуу sftp кардарын колдонуңуз же MobaXtermди колдонууну чечсеңиз, файлдарды терминалдын сол тарабындагы sftp интерфейсине оңой жүктөй аласыз.
Менин тажрыйбамда мен Raspberry Piде дайыма туура күндү жана убакытты ала бербейм. Туура убакытты алаарыңызга ишенүү үчүн, мен бул көрсөтмөнү аткарууну сунуштайм: Raspberry Pi синхрондоштуруу күнү жана убактысы.
Акырында, бир нече китепканаларды орнотуу жана бир нече интерфейстерди иштетүү керек:
'sudo apt-get install build-essential python-dev'
Adafruit DHT:
'pip3 орнотуу adafruit_python_dht'
1-зым:
- 'sudo raspi-config'
- 'Interfacing Options'
- '1 зым'
- Иштетүү
- 'sudo nano /boot/config.txt'
- Бул сапты файлга кошуңуз: 'dtoverlay = w1-gpio'
- "Sudo өчүрүп күйгүзүү"
SPI:
- 'sudo raspi-config'
- 'Interfacing Options'
- 'SPI'
- Иштетүү
- "Sudo өчүрүп күйгүзүү"
- 'sudo nano /boot/config.txt'
- 'Dtparam = spi = on' издеңиз жана хэштегти алып салуу менен ага комментарий бербеңиз.
- 'sudo apt-get install python3-dev
Smbus:
- 'sudo raspi-config' '
- 'Interfacing Options'
- 'I2C'
- Иштетүү
- "Sudo өчүрүп күйгүзүү"
- 'sudo apt-get install -y python-smbus'
- 'sudo apt-get install -y i2c-tools'
- 'sudo nano /boot/config.txt'
- Dtparam = i2c_arm = on деп издеңиз жана хэштегти алып салуу менен комментарий жазыңыз.
колба
pip3 Flask орнотуу
mysql туташтыргычы
'pip3 install -v mysql -connector == 2.1.4'
spidev
'pip3 py-spidev орнотуу'
караңгы асман
'pip3 darkskylib орнотуу'
6 -кадам: Аны сынап көрүңүз
Эгерде сиз буга чейин жетише алсаңыз, өзүңүздүн аркаңызга тийип коюңуз. Эми баары Fanairдин туура иштеши үчүн жасалды. Андыктан аны текшерүү үчүн 'cd ""' териңиз. Файлдын жайгашкан жери "/home/pi", мисалы, эгер сиз жаңы эле үй каталогуна чаптасаңыз. Андан кийин 'python3 main.py' деп териңиз жана 15 мүнөт тыныктырыңыз, андыктан ал бүткөндө маалымат базасында маалыматтар болот. Андан кийин 'ctrl + c' баскычын басып, программаны токтотуп, 'python3 Flask.py' териңиз. Вебсайтыңыздын иштээрин билүү үчүн сиз андан кийин ": 5000" менен жасаган Пиңиздин IP дарегине киришиңиз керек (бул сыяктуу: 169.254.10.1:5000 ').
Жүктөөдөн кийин аны автоматтык түрдө иштетүү үчүн:
'sudo nano /etc/rc.local'
Файлдын аягында БИРОК 0 чыгуудан мурун:
'sudo python3 "/main.py" &'
'sudo python3 "/Flask.py" &'
Куттуктайм, азыр сиз сценарийиңиз башталгандан бери иштеши керек жана СИЗ БУТУҢУЗ! Эгерде сиз долбоорду улантууну пландап жатсаңыз жана азырынча жок болсо, мен баарын ордуна коюуну сунуштайм. Эгерде сиз аны жылдыруу үчүн ойнобосоңуз, анда нандын үстөлү, албетте, иштейт.
Сунушталууда:
ESP32 Weathercloud Аба ырайы бекети: 16 кадам (Сүрөттөр менен)
ESP32 Weathercloud Weather Station: Өткөн жылы мен Arduino Weathercloud Weather Station деп аталган эң чоң көрсөтмөмдү жарыяладым. Мен айтат элем абдан популярдуу болгон. Ал Instructables башкы бетинде, Arduino блогунда, Wiznet музейинде, Instructables Instagram, Arduino Instagr
WiFi Сааты, Таймер жана Аба ырайы бекети, Блинк көзөмөлдөнөт: 5 кадам (Сүрөттөр менен)
WiFi Сааты, Таймер жана Аба ырайы бекети, Блинк көзөмөлдөнөт: Бул Morphing санариптик сааты (концепциясы жана морфинг коду үчүн Хари Вигунанын аркасы менен), бул дагы аналогдук саат, аба ырайы жөнүндө маалымат берүүчү станция жана ашкана таймери. WiFi аркылуу смартфонуңуздагы Blynk колдонмосу
Дагы бир акылдуу аба ырайы бекети, бирок : 6 кадам (сүрөттөр менен)
Дагы бир акылдуу аба ырайы бекети, бирок …: Ооба, мен билем, мындай аба ырайы станциялары бардык жерде бар, бирок айырманы көрүү үчүн бир нече мүнөт кетиңиз … Электр кубаты аз 2 дисплей … бирок 10 башка экрандар! ESP32 негизделген акселерометр жана температура / нымдуулук сенсорлору Wifi жаңыртуусу
Акустикалык DISDRO Метр: Raspebbery Pi Аба ырайы бекети (2 -бөлүк): 4 кадам (Сүрөттөр менен)
Акустикалык DISDRO эсептегич: Raspebbery Pi Open Weather Station (2 -бөлүк): DISDRO тамчылардын таралышын билдирет. Түзмөк убакыт тамгасы менен ар бир тамчынын өлчөмүн жазат. Маалыматтар метеорологиялык (аба ырайы) изилдөө жана дыйканчылыкты камтыган ар кандай колдонмолор үчүн пайдалуу. Эгерде дисдро абдан так болсо, анда мен
Аба ырайы бекети: 8 кадам (Сүрөттөр менен)
Аба ырайы бекети: Кичине сүйлөшүү учурунда өзүңүздү ыңгайсыз сезесизби? Сүйлөшүү үчүн жакшы нерселер керекпи (макул, мактануу)? Ооба, бизде сизге керектүү нерсе бар! Бул окуу куралы сизге өзүңүздүн аба ырайы станцияңызды курууга жана колдонууга мүмкүнчүлүк берет. Эми сиз ар кандай ыңгайсыз жымжырттыкты ишенимдүү түрдө толтура аласыз