Мазмуну:

Fanair: Сиздин бөлмөңүз үчүн аба ырайы бекети: 6 кадам (сүрөттөр менен)
Fanair: Сиздин бөлмөңүз үчүн аба ырайы бекети: 6 кадам (сүрөттөр менен)

Video: Fanair: Сиздин бөлмөңүз үчүн аба ырайы бекети: 6 кадам (сүрөттөр менен)

Video: Fanair: Сиздин бөлмөңүз үчүн аба ырайы бекети: 6 кадам (сүрөттөр менен)
Video: Kingmaker - The Change of Destiny Episode 12 | Arabic, English, Turkish, Spanish Subtitles 2024, Июль
Anonim
Fanair: Сиздин бөлмөңүз үчүн аба ырайы бекети
Fanair: Сиздин бөлмөңүз үчүн аба ырайы бекети

Учурдагы аба ырайын билүүнүн сансыз жолдору бар, бирок андан кийин сырттагы аба ырайын гана билесиз. Эгер сиз үйүңүздүн ичинде, белгилүү бир бөлмөдө аба ырайын билгиңиз келсе? Мен бул долбоор менен чечүүгө аракет кылып жатам.

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-зым:

  1. 'sudo raspi-config'
  2. 'Interfacing Options'
  3. '1 зым'
  4. Иштетүү
  5. 'sudo nano /boot/config.txt'
  6. Бул сапты файлга кошуңуз: 'dtoverlay = w1-gpio'
  7. "Sudo өчүрүп күйгүзүү"

SPI:

  1. 'sudo raspi-config'
  2. 'Interfacing Options'
  3. 'SPI'
  4. Иштетүү
  5. "Sudo өчүрүп күйгүзүү"
  6. 'sudo nano /boot/config.txt'
  7. 'Dtparam = spi = on' издеңиз жана хэштегти алып салуу менен ага комментарий бербеңиз.
  8. 'sudo apt-get install python3-dev

Smbus:

  1. 'sudo raspi-config' '
  2. 'Interfacing Options'
  3. 'I2C'
  4. Иштетүү
  5. "Sudo өчүрүп күйгүзүү"
  6. 'sudo apt-get install -y python-smbus'
  7. 'sudo apt-get install -y i2c-tools'
  8. 'sudo nano /boot/config.txt'
  9. 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" &'

Куттуктайм, азыр сиз сценарийиңиз башталгандан бери иштеши керек жана СИЗ БУТУҢУЗ! Эгерде сиз долбоорду улантууну пландап жатсаңыз жана азырынча жок болсо, мен баарын ордуна коюуну сунуштайм. Эгерде сиз аны жылдыруу үчүн ойнобосоңуз, анда нандын үстөлү, албетте, иштейт.

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