Агуулгын хүснэгт:
- Алхам 1: Материал: танд юу хэрэгтэй байна
- Алхам 2: Цахилгааны утас
- Алхам 3: MySQL ашиглан мэдээллийн сан
- Алхам 4: Кодлох
- Алхам 5: Орон сууц
Видео: Home_X: 5 алхам
2025 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2025-01-10 13:48
Би 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 мэдээллийн сантай холбогдох явдал байв.
Мэдрэгч уншилт авах эсвэл гэрэл асах тоолонд эдгээр өөрчлөлтийг мэдээллийн санд харах болно.
Мэдээллийн сан нь энэ өгөгдлийг вэбсайт руу илгээдэг тул хэрэглэгч тэдгээрийг тэндээс харах боломжтой болно.
Доор та мэдээллийн сан хэрхэн ажилладаг талаар тоймтой миний.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 болон цонхны зай гаргах хэрэгтэй.
Эцэст нь та төслийг дуусгасан. Энэхүү гарын авлага нь хангалттай тодорхой болсон гэж найдаж байна, ингэснээр та ч бас над шиг гайхалтай байшин барьж чадна.
Сайн сайхныг хүсье.