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

AirPi - Агаарын чанарын мэдрэгч: 8 алхам
AirPi - Агаарын чанарын мэдрэгч: 8 алхам

Видео: AirPi - Агаарын чанарын мэдрэгч: 8 алхам

Видео: AirPi - Агаарын чанарын мэдрэгч: 8 алхам
Видео: Два посола рыбы. Форель. Быстрый маринад. Сухой посол. Сельдь. 2024, Арваннэгдүгээр
Anonim
AirPi - Агаарын чанарын мэдрэгч
AirPi - Агаарын чанарын мэдрэгч

Та яагаад толгой өвдөж байна гэж бодож байсан уу? Хэрэв энэ нь агаарын чанар муу байгаатай холбоотой бол? Ийм төхөөрөмж байгаа эсэхийг та шалгах боломжтой. Энэ төхөөрөмж нь CO2-ийн утга, TVOC-ийн утга, температур, чийгшлийг хэмждэг. Та агаарын чанарыг LCD дэлгэц дээр шууд үзэх боломжтой бөгөөд хэрэв энэ нь аюултай болж байгаа бол тодорхой заалтыг харж болно. Ингэснээр та цонхнуудаа цаг тухайд нь нээх боломжтой болно.

Хэрэв та хөтөч дээрээ төхөөрөмжийг асаахад харуулсан IP хаягийг оруулбал вэбсайт нээгдэнэ. Та доторх орчны талаархи олон мэдээллийг өнгөрсөн минут / цагийн графиктай хамт үзэх боломжтой. Мөн хяналтын самбар дээр шууд заалт, зарим мэдээлэл, зөвлөмжүүд байдаг.

Энэхүү төслийг NMCT (New Media and Communication Technology) Howest Kortrijk -ийн оюутан хийсэн.

Алхам 1: Материал

Материал
Материал

Энэ бол энэ төслийг бүтээхийн тулд худалдаж авсан бүх зүйл юм. Энэ нь 3D хэвлэлийн үнээс хамаарч харьцангуй хямд төсөл юм. Хэрэв та үүнийг сургуульд хэвлэх боломжтой бол энэ нь маш хямд байж магадгүй юм. Үгүй бол энэ нь таны хэвлэж буй газар, материалаас хамаарна. Намайг бөөнөөр худалдаж авсныг анзаарах болно, учир нь тус тусад нь резистор эсвэл лед олоход хэцүү байдаг бөгөөд энэ нь илүү хямд болгодог. Хэрэв танд цаг байгаа бол та ихэнх бараагаа aliexpress.com дээрээс захиалж болно, хүргэлт хэсэг хугацаа шаардагдах боловч та зардлаа хязгаарлаж чадна.

Хэвлэх зүйлгүй бол миний энэ төсөлд зарцуулсан мөнгө бол 81, 80 евро.

Эдгээр нь танд хэрэгтэй материалууд юм.

Хэлхээ:

  • Raspberry Pi 3
  • SD карт 8GB (хамгийн багадаа)
  • CCS811 агаарын чанарын мэдрэгч
  • DHT22 температур ба чийгшлийн мэдрэгч
  • Потенциометр (тодосгогч LCD)
  • LCD 16x2 хэмжээтэй
  • Эмэгтэй, эмэгтэй холбогч утас
  • Ногоон, улаан LED
  • Резистор (2x470ohm ба 1 4700ohm)

Кейс:

  • 3D хэвлэх
  • Шураг
  • 2 бүрэлдэхүүн хэсгийн цавуу (эсвэл бусад халуун цавуу)
  • утас хайчлах хэрэгсэл

Зөвхөн та ПХБ ашиглаж байна:

  • Гагнуурын төмөр
  • Флюс (үүнийг илүү хялбар болгодог)
  • Цагаан тугалга
  • Pxb 2x4 см хэмжээтэй туршилт хийх

Алхам 2: Холболтууд

Холболтууд
Холболтууд

Дээрх утсыг холбоно уу. Цахилгаан хэлхээг fritzing файл дээр харж болно. Энэ бол тийм ч төвөгтэй хэлхээ биш, гэхдээ хэрэв та үүнийг аль болох жижиг болгохыг хүсч байвал туршилтын ПХБ -ийн самбар авахыг хүсч байгаа нь гарцаагүй. GND ба Vin -ийг ПХБ -ийн самбар дээр холбохоос бусад тохиолдолд утас нь ижил байх болно. Мэдрэгчийг эмэгтэй холбогч утас эсвэл гагнууртай эрэгтэй холбоно. DHT22 мэдрэгч дээр резисторыг гагнахаа бүү мартаарай.

Би бас 10 см хэмжээтэй байх ёстой богино кабель ашиглахыг зөвлөж байна. Үгүй бол хайрцгийг кабелиар дүүргэх болно. Хэвлэлийн хэмжээг аль болох жижиг болгосон тул танд маш урт цаас хэрэггүй.

Алхам 3: 3D хэвлэх

3D хэвлэх
3D хэвлэх
3D хэвлэх
3D хэвлэх

Хэргийн талаар бодож байх үед миний толгойд орж ирсэн анхны хичээл бол 3D хэвлэх явдал байв. Аав маань серверийн бусад зүйлийг хэвлээд өөрөө зохиосон. Бид хамтдаа энэ загварыг бүтээж, бүх талаар нь сурсан. Энэ нь хангалттай сайн хөргөсөн байх ёстой, бүх зүйлийг боолтоор нь шургуулж, хэрэв үгүй бол түлхэж болно.

Бид бүр бүх зүйл тохирсон эсэхийг шалгахын тулд бүрэлдэхүүн хэсэг бүрийг зурсан. Файлыг хүн бүрт ашиглах боломжтой бөгөөд бид санал хүсэлтийг сонсохдоо баяртай байх болно. Үр дүнд нь бид маш их баяртай байсан.

Алхам 4: Код

Энэ төслийн кодыг Github дээрээс олж болно. Хэрэв та өөр зүү (жишээ нь LED-ийн өөр GPIO-зүү) ашигласан бол эдгээр хувьсагчийг тохируулах шаардлагатай болно. Вэбсайтад web.py болон sensor.py гэсэн хоёр python скрипт ажиллаж, мэдрэгчийг уншиж шинэчлэх болно. мэдээллийн сан. Бид LCD ангиллын ангиллыг lcd.py -с импортлох болно.

Тохируулсан бөөрөлзгөнө pi -ийн тусламжтайгаар та эхлүүлж болно. Юуны өмнө та бүх багцыг шинэчлэх, шинэчлэх шаардлагатай болно.

sudo apt-get update && sudo apt-get upgrade

Үүний дараа та дараах багцуудыг суулгах хэрэгтэй болно.

sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

Одоо виртуал орчин үүсгээрэй:

me@my -rpi: ~ $ python3 -m pip install -pip setuptools wheel virtualenv -ийг сайжруулах

me@my-rpi: ~ $ mkdir project1 && cd project1 me@my-rpi: ~/project1 $ python3 -m venv-system-site-packages env me@my-rpi: ~/project1 $ source env/bin/ идэвхжүүлэх (env) me@my-rpi: ~/project1 $ python -m pip mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib суулгах

Үүнийг хийсний дараа та миний GitHub -аас кодоо виртуал орчинд хуулбарлах боломжтой. Үүнийг олон янзаар хийж болно.

Conf лавлах санд шаардлагатай бол тохируулах шаардлагатай дөрвөн файлыг олж болно. Файл бүрийн хэрэглэгч болон гэрийн чиглүүлэгчийг өөрчлөх шаардлагатай болно. Хэрэв та миний кодыг өөрчилөөгүй л бол uWSGI ini зүгээр байх ёстой, хэрэв шаардлагатай бол хэрэглэгч болон virtualenv -ийг өөрчилнө үү.

CCS811 мэдрэгчийг arduino -д санаатайгаар ашигласан тул энэ нь бөөрөлзгөнө pi -ийн хурдтай i2c автобусаар холбогдох боломжгүй юм. Та тохиргооны файл дахь хурдыг 10000 (би 9600 ашигласан) хурд хүртэл бууруулах шаардлагатай болно.

Та мөн adafruit мэдрэгчийн номын санг авах хэрэгтэй болно. Би энд үүнийг тайлбарлаж чадна, гэхдээ энэ бүхнийг маш сайн тайлбарласан төгс adafruit гарын авлага байна.

Бөөрөлзгөнө холбогдсон үед бид python скриптүүдийг автоматаар ажиллуулахыг хүсч байгаа тул та үйлчилгээг ашиглах хэрэгтэй болно. Хэрэв та миний кодыг хадгалсан бол тэд зүгээр байх ёстой. Тэднийг ажиллуулахын тулд тэдгээрийг идэвхжүүлэхэд л хангалттай. Үүнийг хийхээс өмнө хамгийн сүүлчийн зүйл байна.

Бид nginx вэб сервер ашиглаж байгаа тул анхдагчийг идэвхгүй болгож, үүнийг өөрийн тохиргоогоор солих шаардлагатай болно. Үүнийг хийхийн тулд эдгээр алхамуудыг дагаж мөрдөх ёстой.

  • conf/nginx-ийг *sites-available *руу хуулах
  • Анхдагч тохиргооны линкийг устгана уу
  • Шинэ тохиргоонд холбоос нэмнэ үү
  • Өөрчлөлтийг хадгалахын тулд nginx -ийг дахин эхлүүлнэ үү

me@my-rpi: ~/project1 $ sudo cp conf/project1-*. service/etc/systemd/system/

me@my-rpi: ~/project1 $ sudo systemctl daemon-reload me@my-rpi: ~/project1 $ sudo systemctl start project1-* me@my-rpi: ~/project1 $ sudo systemctl status project1-*

Nginx болон mysql үргэлж ажиллаж байх ёстой. Тэд бөөрөлзгөнө пи -ийн хамт эхэлдэг. Вэб скрипт ба мэдрэгчийн скрипт хараахан болоогүй байна.

Үүнийг хийхийн тулд та эдгээр хоёр үйлчилгээг эдгээр тушаалаар идэвхжүүлэх шаардлагатай хэвээр байна.

sudo systemctl нь project1-flask.service-ийг идэвхжүүлнэ

sudo systemctl нь project1-sensor.service-ийг идэвхжүүлнэ

Алхам 5: Мэдээллийн сан

Мэдээллийн сан
Мэдээллийн сан

Миний мэдээллийн сан гурван хүснэгтээс бүрдэнэ. Хэрэглэгч бусад хүснэгтүүдтэй ямар ч холбоогүй болно. Энэ нь зөвхөн нэвтэрч, вэбсайтад нэвтрэх эрхийг өгөхөд ашиглагддаг. Төхөөрөмжийг асаахад CO2 ба TVOC-ийн утгыг 50 секунд тутамд мэдээллийн санд бичих болно. Температур ба чийгшил 5 минут тутамд. Ингэснээр бид өнгөрсөн үеийн тодорхой тоймыг олж авах болно.

SQL файлыг эндээс олж болно, гэхдээ бөөрөлзгөнө pi дээрх мэдээллийн санг авахын тулд та дараах алхмуудыг дагана уу.

Өмнөх алхамд багцуудыг суулгасны дараа mariadb/mysql нэн даруй ажиллаж байх ёстой. Та үүнийг дараах мөрөөр шалгаж болно.

me@my-rpi: ~ $ sudo systemctl status mysql

Өгөгдлийн сан болон хэрэглэгчдийг бий болгохын тулд та GitHub-аас кодонд байгаа sql скриптүүдийг ажиллуулж болно. Хэрэв та үүнийг зөв хийсэн бол дараах тушаалыг ашиглан хүснэгтүүдээ харах ёстой.

me@my-rpi: ~ $ echo 'хүснэгтүүдийг үзүүлэх;' | mysql project1 -t -u project1 -admin -p

Одоо бүх зүйл бэлэн боллоо, та бүх зүйлийг ажиллуулахын тулд үүнийг ямар ч тохиолдолгүйгээр туршиж үзэх боломжтой. Хэрэв та Wi -Fi сүлжээнд холбогдоогүй бол та үүнийг Ethernet кабелиар холбож, гараар ажиллуулах хэрэгтэй болно.

Алхам 6: Wi-Fi сүлжээнд холбогдоно уу

Wpa-supplicant тохиргооны файлыг нано дээр нээнэ үү (энэ нь хамаагүй, текст засварлагчтай ажиллах боломжтой эсэхийг шалгаарай).

sudo нано /etc/wpa_supplicant/wpa_supplicant.conf

Файлын доод хэсэгт очоод дараах зүйлийг нэмнэ үү (ssid нэр, нууц үгийн нэрийг өөрийн нэрээр солино уу):

сүлжээ = {

ssid = "ssid-name" psk = "password-name"}

Шифрлэгдсэн нууц үг үүсгэхийн тулд та wpa_passphrase -ийг ашиглан илүү аюулгүй байдлыг хангах үүднээс үүнийг wpa_supplicant.conf psk руу хуулж болно.

wpa_passphrase "ssid-name" "password-name"

Хэрэв та үүнийг энэ Wi-Fi сүлжээнд автоматаар холбогдохыг хүсч байгаа бөгөөд тохиргооны файлд өөр хүмүүс байгаа бол тохиргооны файл дахь сүлжээнд энэ мөрийг нэмж оруулснаар нэн тэргүүний түвшинг өөрчилсөн эсэхээ шалгаарай.

тэргүүлэх чиглэл = 2

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

wpa_cli -i wlan0 дахин тохируулна уу

Одоо та бүх зүйлийг тохируулж, wifi сүлжээнд холбогдсон байна.

Алхам 7: Бүх зүйлийг нэгтгэх

Бүх зүйлийг хамтад нь хийх
Бүх зүйлийг хамтад нь хийх
Бүх зүйлийг хамтад нь хийх
Бүх зүйлийг хамтад нь хийх
Бүх зүйлийг хамтад нь хийх
Бүх зүйлийг хамтад нь хийх

Бүх зүйл утастай, гагнагдсан тул бид хэргийг авч үзэх боломжтой. Энэ нь ямар ч сул утасгүйгээр хэргийг нээх боломжтой байхаар хийгдсэн юм. Энэ нь бүх зүйл доод хэсэгт бэхлэгдсэн гэсэн үг юм. Хамгийн эхний хийх зүйл бол бөөрөлзгөнө дээр бага зэрэг тохируулга хийх явдал юм. Энэ нь булан бүрт нүхтэй боловч эдгээр нь байх ёстой хэмжээтэй биш юм. Диаметр нь 3 мм -ийн шураг шургуулахад хангалттай байх ёстой.

Хоёрдахь зүйл бол нүх тус бүрт шураг утас огтлох явдал юм. Энэ нь хэцүү сонсогдож магадгүй ч зөв багаж хэрэгслээр үүнийг хялбархан хийж болно. Үүнийг орон нутгийн тоног төхөөрөмжийн дэлгүүрт хийхийг зөвлөж байна, зүгээр л утас хайчлах хэрэгсэл аваарай. Аав маань дархан хүн тул ажил дээрээ үүнийг хийх багаж хэрэгсэлтэй байсан. Би шинэ stl файл байршуулж болох бөгөөд ингэснээр үүнийг дараа нь хэвлэх болно, гэхдээ энэ нь маш нарийвчлалтай хэвлэгч хэрэгтэй болно.

Гурав дахь алхам бол pi -ийг доод хэсэгт шургуулах явдал юм. Танд 3 мм диаметртэй 4 7 мм урт эрэг хэрэгтэй болно. Үүний дараа та PCD хавтанг доод хэсгийн дээд хэсэгт байрлуулсан газар руу түлхэж болно. CCS811 мэдрэгчийг зүүн талд байрлуулж, DHT11 -ийг баруун хавтан дээр бэхлэх боломжтой. Аль аль нь тусгаарлагдсан, агааржуулалт сайтай боловч дараа нь дотор халуун хэвээр байгааг анзаарсан. Энэ тухай дараа дэлгэрэнгүй ярих болно.

Дараа нь та LED -ийг хоолойд холбох хэрэгтэй. Бид үүнийг 2 бүрэлдэхүүн хэсгийн цавуугаар хийсэн боловч та хүссэнээрээ хийж болно. Тэд тэнд наалддаг эсэхийг шалгаарай.

Одоо та LCD дэлгэцийг холбож болно, танд өмнөх диаметртэй эрэг хэрэгтэй болно, гэхдээ арай урт. Минийх 1 см байсан. Дөрвөн боолтыг шургуулсан бол хийх ганц л зүйл үлдлээ. Дээд хэсгийг хавсаргана уу. Танд хэрэгтэй зүйл бол ижил диаметртэй дөрвөн боолт бөгөөд эдгээр нь 2 см юм. Одоо бүх зүйл байрандаа байх ёстой бөгөөд та үүнийг эхлүүлж болно.

Алхам 8: Үүнийг эхлүүлэх

Энэ төслийг эхлүүлэх үйл явц нь маш энгийн:

  1. Цахилгааны кабелийг хайрцгийн зүүн талд залгаарай. Энэ нь тийм ч тод харагддаггүй, гэхдээ та агааржуулалтын нүхээр харж болно. Хэрэв та үүнийг нэг удаа авсан бол энэ нь дахиж асуудал үүсгэхгүй.
  2. Эхлэхийн тулд хэсэг хугацаа өг.
  3. IP хаяг дэлгэц дээр арван секундын турш гарч ирнэ. Таны хийх ёстой цорын ганц зүйл бол та нэг сүлжээнд холбогдсон эсэхээ шалгаад хөтчийнхөө хаягийн мөрөнд IP хаягаа оруулна уу.
  4. Та одоо вэбсайтад байна. Танд одоогоор данс байхгүй байгаа тул данс үүсгээрэй.
  5. Хэрэв та бүртгүүлсэн бол нэвтэрнэ үү.
  6. Дууссан! Та вэб хуудсан дээрх бүх өгөгдлийг харах боломжтой бөгөөд LCD дэлгэц нь одоогийн агаарын чанарыг харуулж байна.

Дулаан дээшлэх тул бид мэдрэгчийг хайрцгийн доод хэсэгт байрлуулсан болно. Ийм байдлаар температур нь бүртгэгдсэн үнэ цэнэд нөлөөлөхгүй. Хамгийн оновчтой хэмжилт хийхийн тулд төхөөрөмжийг босоо байрлуул, эсвэл хананд өлгөх боломжтой.

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