Агуулгын хүснэгт:

Fanair: Танай өрөөний цаг уурын станц: 6 алхам (зурагтай)
Fanair: Танай өрөөний цаг уурын станц: 6 алхам (зурагтай)

Видео: Fanair: Танай өрөөний цаг уурын станц: 6 алхам (зурагтай)

Видео: Fanair: Танай өрөөний цаг уурын станц: 6 алхам (зурагтай)
Видео: What If the Sith Empire Returned During the Clone Wars (FULL Season 1) 2024, Долдугаар сарын
Anonim
Fanair: Таны өрөөнд зориулсан цаг уурын станц
Fanair: Таны өрөөнд зориулсан цаг уурын станц

Одоогийн цаг агаарыг мэдэх олон арга бий, гэхдээ та зөвхөн гадаа цаг агаарыг мэддэг. Хэрэв та байшин дотор, тодорхой өрөөнд байгаа цаг агаарыг мэдэхийг хүсч байвал яах вэ? Үүнийг би энэ төслийн хүрээнд шийдэхийг оролдож байна.

Fanair нь олон мэдрэгч ашиглан дараахь зүйлийг мэдэрдэг.

  • температур
  • чийгшил
  • гэрэл
  • тодорхой хий
  • агаарын даралт

Энэ нь маш авсаархан бөгөөд Raspberry Pi 3 B -ийг ашигладаг бөгөөд утгыг олж авах, MySQL мэдээллийн санд хадгалах, дараа нь вэбсайтад ашиглахад хялбар болгодог. Код болон вэбсайтад таны байршлын цаг агаарын бодит мэдээллийг авах боломжтой бөгөөд ингэснээр вэбсайтыг гаднах цаг агаарыг шалгахад ашиглаж болно.

Алхам 1: Шаардлагатай бүх зүйлийг авах

Шаардлагатай бүх зүйлийг авах
Шаардлагатай бүх зүйлийг авах

Юуны өмнө танд утас / холбогч кабель гэх мэт үндсэн цахилгаан хэрэгсэл хэрэгтэй болно. Хэрэв та бүх зүйлийг байнгын төсөл болгон гагнахаар төлөвлөж байгаа бол танд гагнуурын төмөр, гагнуур, бүх зүйлийг гагнах ПХБ хэрэгтэй болно.

Илүү тодорхой зүйлүүдийн хувьд би энэ материалын хуудсыг хийсэн.

  • Бөөрөлзгөнө Pi 3 B.
  • MPC3008-8 сувгийн 10 битийн ADC
  • AM2301 термометрийн температур ба чийгшил мэдрэгч
  • WR Rademacher WR-tyoe 930-1 ПХБ
  • Прототип хийх зориулалттай ABS хайрцаг (хар)
  • LDR
  • MQ135 хийн мэдрэгч
  • 2x BC517 Darlington Transistor
  • RGB LED
  • Эсэргүүцлийн багц
  • Дуу чимээ
  • Утас
  • BMP280 барометр
  • Чимээгүй USB сэнс (5V)

Энэ бүхэн нь ойролцоогоор 110 еврогийн үнэтэй байх ёстой. Нийт үнэ ойролцоо байна гэдгийг санаарай. Мөн миний төсөл зураг дээр LCD дэлгэцтэй боловч миний хувьд хангалттай зай байхгүй тул холбогдоогүй байгаа тул зааварт ороогүй болно.

Алхам 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 ашиглан өмнө нь тавьсан '254.169.10.2' IP хаягаар холбогдоно уу. Хэрэглэгчийн нэр нь 'pi', нууц үг 'бөөрөлзгөнө' юм. Хэрэв та хүсвэл терминал дээр 'sudo passwd' командыг оруулаад зааврыг дагаж нууц үгээ өөрчилж болно. Бид Fanair-д зориулсан SD картын сайн хэсгийг ашиглах гэж байгаа тул та "Advanced сонголтууд" -ийг сонгоод 'sudo rapi-config' гэж бичээд дараа нь 'Файлын системийг өргөжүүлэх' боломжтой хадгалах санг өргөтгөх хэрэгтэй. Хэрэв дахин асаахыг хүсвэл.

Бид 1 утастай, SPI, I2C интерфэйсийг ашиглах болно. Тэдгээрийг ашиглахын тулд та эхлээд тохируулах хэрэгтэй!

Алхам 3: Бүх зүйлийг хооронд нь холбоно уу

Бүгдийг хамтад нь холбоно уу
Бүгдийг хамтад нь холбоно уу
Бүгдийг хамтад нь холбоно уу
Бүгдийг хамтад нь холбоно уу

Хэлхээ хийх цаг боллоо! Эхний удаа та үүнийг талхны тавцан дээр туршиж үзэх хэрэгтэй, гэхдээ танд цаг байхгүй бол та үүнийг хамтдаа гагнахыг оролдож болно.

Танд хэрэгтэй хэлхээ нь дээр дурдсантай төстэй бөгөөд тав тухтай байхын тулд талхны хавтангийн хувилбарыг оруулсан болно.

Алхам 4: Өгөгдлийн сангаа үүсгэнэ үү

Таны хүлээн авсан бүх өгөгдлийг үр дүнтэй хадгалахын тулд бид TSQL MySQL мэдээллийн санг ашиглах болно. MySQL -ийг суулгахаасаа өмнө терминал дээр хэдэн командыг оруулаад бүх зүйл шинэчлэгдсэн эсэхийг шалгаарай.

  • 'sudo apt-get update'
  • 'sudo apt-get upgrade'
  • 'sudo apt-get dist-upgrade'

'Y' гэж бичээд хүлээх мөр бүрийг хүлээж аваад оруулна уу.

MySQL -ийг суулгахын тулд:

  • 'sudo apt-get mysql-server суулгах'
  • 'sudo apt-get mysql-client суулгах'

Хүссэн тохиолдолд өөрийн хүссэн нууц үгийг үүсгээрэй.

Нэвтрэлтийг суулгасны дараа дараахь зүйлийг ашиглана уу.

'mysql -uroot -p'

Тэгээд нууц үгээ бичиж байна.

My Github -аас Fanair кодыг аваарай! 'Clone or download' дээр дараад 'ZIP татаж авах' дээр дарна уу. Өөрийн сонгосон фолдер дахь кодыг задлаарай. Бүрэн ажиллагаатай мэдээллийн бааз үүсгэх хүсэлт нь мэдээллийн сангийн хавтсанд байна. Файлыг нээж кодыг хуулаад MySQL нээлттэй байхад терминал дээр буулгана уу. Дараа нь enter дээр дарахад мэдээллийн сан дуусна!

Алхам 5: Код авах цаг боллоо

Бүх мэдрэгчийг ашиглахын тулд та програм ажиллуулах нь гарцаагүй. Аз болоход кодыг аль хэдийн хийсэн (ихэнх хэсэг нь), бид өгөгдлийн сангийн SQL хүсэлтийг авахдаа аль хэдийн татаж авсан.

Миний хэлсэнчлэн програм зөв ажиллахын тулд хэд хэдэн зүйлийг өөрчлөх / нэмэх шаардлагатай хэвээр байна. Юуны өмнө програм нь уртраг ба өргөрөгт суурилсан цаг агаарын мэдээллийг авахын тулд Darksky API -ийг ашигладаг. Үүнийг ашиглахын тулд та бүртгүүлэх хэрэгтэй. Эхний 1000 дуудлага үнэгүй бөгөөд дараа нь нэг дуудлага 0.0001 доллар болно. Хэрэв та дансаа төлөхгүй бол хаагдах болно гэж би сонссон. Шударгаар хэлэхэд дуудлага тутамд 0.0001 доллар авах нь маш хямд юм. Fanair нь хамгийн сүүлийн үеийн мэдээллийг цаг тутамд дууддаг бөгөөд энэ нь бүтэн цагаар ажиллавал нэг жилийн дотор танд ердөө 0.876 долларын үнэтэй болно гэсэн үг юм. Fanair бүтэн цагаар ажиллавал 41 хоногийн үнэгүй авах боломжтой.

Бүртгүүлсний дараа API түлхүүрээ хайж олоорой. Google газрын зураг дээр байршлынхаа уртраг, өргөргийг хайж олох эсвэл google -ээр оролдоорой. Fanair -ийн үндсэн лавлахыг шинэ текст файл үүсгээрэй (ангиудтай, main.py …). Файлыг 'key_location.txt' гэж нэрлэнэ үү. Текст файлыг нээгээд эхний мөрөнд Darksky API түлхүүрээ оруулна уу. Хоёрдахь мөрөнд уртраг, гурав дахь мөрөнд өргөргөө оруулна уу (хоёулаа аравтын бутархай хэлбэрээр). Дууссаны дараа файлыг хадгална уу.

Ижил лавлах санд 'database_dsn.txt' нэртэй өөр текст файл үүсгэнэ үү. Эхний мөрөнд 'localhost' гэж хэлэх ёстой. Хоёрдахь мөр нь "root" юм. Гурав дахь мөрөнд та өмнө нь мэдээллийн санд зориулж хийсэн нууц үгээ, дөрөв ба сүүлийн мөрөнд '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 -ийн root зам болгон өөрчлөх ёстой (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. 'Интерфэйсийн сонголтууд'
  3. '1 утас'
  4. Идэвхжүүлэх
  5. 'sudo нано /boot/config.txt'
  6. Энэ мөрийг файлд нэмнэ үү: 'dtoverlay = w1-gpio'
  7. 'sudo дахин ачаалах'

ТХН:

  1. 'sudo raspi-config'
  2. 'Интерфэйсийн сонголтууд'
  3. 'SPI'
  4. Идэвхжүүлэх
  5. 'sudo дахин ачаалах'
  6. 'sudo нано /boot/config.txt'
  7. 'Dtparam = spi = on' гэж хайгаад hashtag -ийг арилгаж комментээс хасна уу.
  8. sudo apt-get install python3-dev

Smbus:

  1. 'sudo raspi-config' '
  2. 'Интерфэйсийн сонголтууд'
  3. 'I2C'
  4. Идэвхжүүлэх
  5. 'sudo дахин ачаалах'
  6. 'sudo apt-get install -y python-smbus'
  7. 'sudo apt-get install -y i2c-tools'
  8. 'sudo нано /boot/config.txt'
  9. Dtparam = i2c_arm = on гэж хайгаад hashtag -ийг арилгаад комментоос нь хасаарай.

колбо

pip3 колбыг суулгана уу

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" ашиглан оруулсан Pi хаягаа үзэх хэрэгтэй (үүнд: 169.254.10.1:5000 ').

Үүнийг ачаалсны дараа автоматаар ажиллуулахын тулд:

'sudo нано /etc/rc.local'

Файлын төгсгөлд 0 -ээс гарахын өмнө:

'sudo python3 "/main.py" &'

'sudo python3 "/Flask.py" &'

Баяр хүргэе, та скриптийг эхнээс нь ажиллуулах ёстой, тэгвэл та үүнийг хийлээ! Хэрэв та төслийг үргэлжлүүлэн явуулахаар төлөвлөж байгаа боловч хараахан амжаагүй байгаа бол бүх зүйл хэвэндээ байгаа эсэхийг баталгаажуулахын тулд бүх зүйлийг хамтад нь гагнахыг санал болгож байна. Хэдийгээр та үүнийг зөөж тоглохгүй бол талхны самбар нь мэдээжийн хэрэг ажилладаг.

Зөвлөмж болгож буй: