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

Home_X: 5 алхам
Home_X: 5 алхам

Видео: Home_X: 5 алхам

Видео: Home_X: 5 алхам
Видео: Установка маяков под штукатурку. Углы 90 градусов. #12 2024, Оны зургадугаар сарын
Anonim
Гэр_X
Гэр_X

Би Howest Kortrijk -ийн оюутан бөгөөд Шинэ медиа, харилцаа холбооны технологи (NMCT) чиглэлээр суралцдаг.

Бид бүгд бөөрөлзгөнө ба/эсвэл Arduino дээр үндэслэсэн төсөл хийх ёстой байсан. Вэбсайт дахь өгөгдлийг харуулахын тулд бид мэдрэгч, мэдээллийн санг ашиглах ёстой байсан, тэгээд л би мини ухаалаг байшинг бүтээх санаа төрсөн.

Ухаалаг байшингийн тусламжтайгаар та вэбсайтын бүх мэдрэгчийн заалтыг харах боломжтой болно.

Энэхүү зааварчилгаанд би алхам бүрийг удирдан чиглүүлэх болно, ингэснээр та энэ төслийг өөртөө зориулж дахин бүтээж болно.

Алхам 1: Материал: танд юу хэрэгтэй байна

  • Raspberry Pi
  • DHT22
  • Grove - Агаарын чанарын мэдрэгч
  • Grove - Хийн мэдрэгч (MQ2)
  • Талхны самбар
  • Raspberry Pi T Cobbler
  • Эрэгтэй/эмэгтэй холбогч утас
  • 5 мм -ийн LED
  • Эсэргүүцэл
  • Мод, багаж хэрэгсэл
  • Servo мотор
  • GrovePi+

Та эдгээр зүйлсийг онлайнаар (Ali express, amazon, kiwi electronics …) эсвэл дотоодын дэлгүүрүүдээс худалдаж авах боломжтой.

Дэлгүүрүүдийн линктэй хэсгүүдийн дэлгэрэнгүй жагсаалтыг Монголбанкнаас доор харуулав.

Алхам 2: Цахилгааны утас

Цахилгаан утас
Цахилгаан утас
Цахилгаан утас
Цахилгаан утас

Би Fritzing -ийг ашиглан утсан холболтоо хэрхэн яаж хийх ёстой талаар сайн тоймтой болсон. Би өөрөө 2 мэдрэгчдээ GrovePi+ ашигласан. Хэрэв та үүнийг GrovePi +гүйгээр хийхээр төлөвлөж байгаа бол Fritzing схемийг дагаж мөрдөөрэй. Би мэдрэгч танд тохирохгүй байна, өөр өөр тээглүүр ашиглаж үзээрэй.

Та Fritzing файлыг доороос олж болно.

Алхам 3: MySQL ашиглан мэдээллийн сан

MySQL ашиглан мэдээллийн сан
MySQL ашиглан мэдээллийн сан

Бидний хэрэгжүүлэх ёстой хамгийн чухал ажлуудын нэг бол MySQL мэдээллийн сантай холбогдох явдал байв.

Мэдрэгч уншилт авах эсвэл гэрэл асах тоолонд эдгээр өөрчлөлтийг мэдээллийн санд харах болно.

Мэдээллийн сан нь энэ өгөгдлийг вэбсайт руу илгээдэг тул хэрэглэгч тэдгээрийг тэндээс харах боломжтой болно.

Доор та мэдээллийн сан хэрхэн ажилладаг талаар тоймтой миний.xml файлыг олж болно.

гэхдээ эхлээд та Raspberry Pi дээр MySQL болон колбыг суулгах хэрэгтэй.

Мэдрэгчийн кодчилол pycharm -ээр хийгдсэн тул үүнийг (таны компьютер дээр) суулгасан эсэхийг шалгаарай.

Эхлээд та шинэчлэлтийг шалгаж, иймэрхүү багцуудыг суулгах хэрэгтэй.

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 virtualenvme шинэчлэх@my-rpi: ~ $ mkdir project1 && cd project1 me@my-rpi: ~/project1 $ python3 -m venv --system- site-packages env me@my-rpi: ~/project1 $ source env/bin/activate (env) me@my-rpi: ~/project1 $ python -m pip mysql-connector-python argon2-cffi Flask Flask-HTTPAuth суулгах Flask-MySQL mysql-connector-python нэвтрэх

Энэ нь mariadb.service идэвхтэй байгааг танд хэлэх ёстой.

Одоо pycharm дээр VCS> Хувилбарын хяналтаас оруулах> GitHub en clone руу очно уу

Дараа нь саяхан хийсэн директорын байршуулалтын тохиргоог тохируулна уу, жишээлбэл. /гэр/би/төсөл1.

Үүнийг хийсний дараа орчуулагчийн тохиргоо руу ороод саяхан хийсэн виртуал орчноо тохируулаарай. /home/me/project/env/bin/python. Замын зураглалыг мөн бөглөх шаардлагатай.

Хэрэв та энэ бүгдийг хийсэн бол мэдээллийн сан аль хэдийн ажиллаж байх ёстой.

sudo systemctl status mysql

Одоо бид мэдээллийн санд хэрэглэгчид үүсгэх хэрэгтэй болно.

sudo mariadb

CREATE USER 'project-admin'@'localhost' IDENTIFIED by 'adminpassword'; CREATE USER 'project-web'@'localhost' IDENTIFIED by 'webpassword'; CREATE USER 'project-sensor'@'localhost' IDENTIFIED by 'sensorpassword'; DATABASE төсөл үүсгэх;

Төсөлд бүх давуу эрх олгох.* 'Project-admin'@'localhost' руу GRANT OPTION-тай; GRANT SELECT, INSERT, UPDATE, DELETE ON project.* TO 'project-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON project.* TO 'project-sensor'@'localhost'; FLUSH давуу эрх;

Одоо манай мэдээллийн санг pycharm дээр харахын тулд бид холболт хийх ёстой.

Үүнийг хийхийн тулд View> Tool Windows> Database руу очиж ногоон "нэмэх" товчийг дарна уу.

Өгөгдлийн эх сурвалж> MySQL ба гарч ирэх драйверийг татаж авах товчлуур дээр (хэрэв байгаа бол) дарна уу.

Дараа нь SSH/SSL руу ороод SSH -ийг шалгана уу. Pi -ийн хост/хэрэглэгч/нууц үгийг бөглөж, хараахан бөглөөгүй бол 22 -р портыг ашиглана уу.

Хэрэв та pycharm -аас нууц үгээ санаж байхыг хүсч байвал "Нууц үгээ санах" нүдийг чагтална уу.

"Ерөнхий" таб дээр localhost-ийг хост, мэдээллийн бааз дээр бөглөж, холболтыг шалгахын тулд нууц үгээ ашиглан project-admin ашиглана уу.

Мэдээллийн санг ашиглах боломжтой болгохын тулд миний доор байрлуулсан.sql програмыг ажиллуулах хэрэгтэй. Импорт хийх сонголтыг ашиглаж үзээрэй, хэрэв та dumpfile импортлох боломжгүй бол хүснэгтийг гараар нэмэх шаардлагатай болно.

Үүнийг хийсний дараа та хоёр.service файлтай conf директорыг олох хэрэгтэй. Тэнд та өөрийн пи дээр ашигладаг хэрэглэгчийн нэрээр олсон seb бүрийг өөрчилнө үү. Түүнчлэн, бүлэг нь www-дата байх шаардлагатай.

Дараагийн алхам бол эдгээр үйлчилгээг pi дээр эхлүүлэх явдал юм.

sudo cp conf/project-*. service/etc/systemd/system/

sudo systemctl демон дахин ачаална

sudo systemctl төслийг эхлүүлэх-*

sudo systemctl төлөв байдлын төсөл-*

Бүх зүйл төлөвлөгөөний дагуу явагдах үед та хоёр идэвхтэй үйлчилгээг харах ёстой.

Сүүлийн алхам бол nginx -ийг идэвхжүүлэх явдал юм.

Эхлээд pi дээрээ apache2 байгаа эсэхийг шалгаарай, хэрэв та үүнийг суулгасан бол устгах эсвэл идэвхгүй болго.

Nginx файлд та эхлээд uwsgi_pass -ийг өөрчлөх хэрэгтэй бөгөөд дараа нь эдгээр тушаалуудыг ажиллуулна уу.

sudo cp conf/nginx/etc/nginx/sites-available/project

sudo rm/etc/nginx/sites-идэвхжүүлсэн/анхдагч

sudo ln -s/etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project

sudo systemctl nginx.service -ийг дахин эхлүүлнэ үү

sudo systemctl status nginx.service

Nginx идэвхтэй, ажиллаж байх ёстой. Хэрэв бүх зүйл зөв хийгдсэн бол та одоо пи рүүгээ аялах боломжтой. Та эхлээд "Hello world" -г харах болно, гэхдээ та доорх кодоор тэр файлын агуулгыг өөрчлөх шаардлагатай хэвээр байна.

Та үйлчилгээг идэвхжүүлэх боломжтой бөгөөд ингэснээр пи эхлэх үед автоматаар ажиллах болно.

Үүнийг хийхдээ дор хаяж 1 байшинтай хаягийг мэдээллийн санд оруулсан эсэхээ шалгаарай. Та үүнийг энгийн оруулга ашиглан хийж болно.

Алхам 4: Кодлох

Кодлох
Кодлох
Кодлох
Кодлох

Та кодыг Github -ээр татаж авах боломжтой.

github.com/NMCT-S2-Project-I/project-i-Tib…

Мэдрэгчийн кодыг sensor.py файлд оруулсан болно.

Үйлчилгээний файлууд дээр миний нэрийг өөрийн нэрээр (эсвэл таны пи дээр ашигладаг хэрэглэгчээс өөрөөр) өөрчлөхийг бүү мартаарай, ингэснээр тэд зөв ажиллаж, миний кодыг таны Pycharm -д байгаа файлуудад байрлуулж чадна.

Алхам 5: Орон сууц

Орон сууц
Орон сууц
Орон сууц
Орон сууц
Орон сууц
Орон сууц
Орон сууц
Орон сууц

Би байшингаа хэрхэн хүсч байгаагаа хурдан зурсан боловч таных огт өөр харагдаж магадгүй юм. Серво нь цонхыг нээж, хааж чадахын тулд та бүхэл бүтэн байгаа эсэхийг шалгах хэрэгтэй.

Би голчлон жижиг өрөм, хөрөө ашиглан мод тайрсан. Би бас хана нь хангалттай зузаан байх ёстой бөгөөд ингэснээр би servo -ийг дотор нь байрлуулж болно.

Загвараа хийж дуусаад servo -ийг байрлуулсны дараа та зөвхөн мэдрэгчийг холбож, pi -г байшингийн дотор байрлуулахад л болно.

Танай байшин минийхтэй яг адилхан харагдах болно гэж би өмнө нь хэлсэнчлэн та зөвхөн servo болон цонхны зай гаргах хэрэгтэй.

Эцэст нь та төслийг дуусгасан. Энэхүү гарын авлага нь хангалттай тодорхой болсон гэж найдаж байна, ингэснээр та ч бас над шиг гайхалтай байшин барьж чадна.

Сайн сайхныг хүсье.

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