Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Raspberry Pi -ийн тохиргоо
- Алхам 2: Холболт хийж, Rpi утасгүй холболтыг дотоод сүлжээндээ холбоно уу
- Алхам 3: DS18B20 мэдрэгч (температур)-1 утастай
- Алхам 4: MCP3008 - Аналог мэдрэгч
- Алхам 5: Техник хангамж
- Алхам 6: Mariadb мэдээллийн бааз үүсгэх
- Алхам 7: Github код ба тест
- Алхам 8: Boot Up дээр кодыг ажиллуулна уу
- Алхам 9: Вэбсайтыг тохируулах
- Алхам 10: Нэмэлт - Бяцхан прототип
Видео: TheAir - Хийн мэдрэгч төсөл: 10 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
Нүүрстөрөгчийн дутуу исэл ба нүүрстөрөгчийн давхар исэл, үүнийг CO ба CO2 гэж нэрлэдэг. Хаалттай өрөөнд өндөр концентрацитай байх үед өнгөгүй, үнэргүй, амтгүй, илэн далангүй аюултай хий. Жишээлбэл, хэрэв та оюутны өрөөнд муу тусгаарлагдсан, агаарын урсгал муу, ямар нэг шалтгаанаар талх шарах талх шарах талхнаас хачин чимээ гаргадаг гэж хэлээрэй. Дараа нь та эдгээр хийтэй холбоо барьж магадгүй бөгөөд ийм зүйл тохиолдвол энэ нь зөвхөн бага зэргийн толгой өвдөхөд л хүрнэ гэж найдаж байна.
Тиймээс би энэ төслийг гаргахаар шийдсэн. Миний санаа бол энгийн, фенүүдээ ашиглан агаарын урсгалыг хий. Агаар сайн орж, муу агаар гарч байна. Нэмэлт хэрэгцээг хангахын тулд би нэмэлт температур мэдрэгч, гараар идэвхжүүлэх фенүүдийн товчлуур, статистик мэдээллийг үзэх,/эсвэл фенүүдээ компьютерээс идэвхжүүлэх дуртай хүмүүст зориулсан вэбсайтыг нэмж оруулав.
Оюутан, эцэг эх, ганц бие хүн эсвэл амьд амьтан. Энэ бол өөрийн байшингийн тав тухтай орчинд амьдрахаас зайлсхийхийг хүсдэг зүйл юм. Энэ нь амьдралаа жаахан хөнгөвчлөх дуртай хүмүүст тусалдаг.
Хангамж
- Raspberry Pi 3+
- Мини-USB цэнэглэгч 5V/2.5A
- Micro-sd карт
-
Мэдрэгч
- MQ-7 (CO)
- MQ-135 (CO2)
- DS18B20 (температур)
- 2 x 12V тогтмол гүйдлийн сэнс
- 2 x 2n2222 транзистор
- LCD 16*2 дэлгэцтэй
- Дарах товчлуур
- MCP3008
- Логигийн түвшний хөрвүүлэгч
- Ethernet кабель (тохируулгын шалтгаанаар)
Алхам 1: Raspberry Pi -ийн тохиргоо
Rpi -тэй ажиллахаас өмнө бидэнд зарим програм хангамж хэрэгтэй болно.
- WinSCP эсвэл FilleZilla (хэрэв та компьютерээсээ файлыг Rpi руу шилжүүлэхийг хүсвэл заавал биш)
- Win32 диск эсвэл Etcher (танд илүү их таалагддаг)
- Шаваас эсвэл MobaXterm (танд илүү их таалагддаг)
- Ширээний компьютер бүхий Raspbian зураг
Эхлэхээсээ өмнө би энэ хичээлийг хийхдээ програмыг нөгөөгөөсөө илүү сонгохдоо үүнийг санал болгож байна гэсэн үг биш гэдгийг дурдахыг хүсч байна. Жишээлбэл, би etcher ашиглах дуртай, учир нь хэрэглэгчдэд илүү ээлтэй боловч Win32 дээр нөөцлөлт хийх сонголт байдаг. Одоо энэ миний системд байхгүй байна, эхэлцгээе.
Хэрэв танд wifi сүлжээнд холбогдсон Rpi байгаа бол 3 -р алхам руу орно уу.
Эхлээд бид Etcher -ийг ашиглан Raspbian зургийг таны sd карт дээр байрлуулах болно. Одоо бид sd картыг сугалж авахаасаа өмнө cmdline.txt файл дотор байгаа зарим зүйлийг "зураг" дээрээс өөрчлөх болно.. Txt файлыг нээнэ үү -> Энэ мөрийг "ip = 169.254.10.1" (ишлэлгүй) мөрийн төгсгөлд нэмнэ үү (бүгд 1 мөрөнд байна) -> Файлыг хадгалах
Хоёрдугаарт, ачаалах хэсэгт "ssh" нэртэй хоосон фолдер хий (ишлэлгүйгээр).
Үүний дараа та Microsd -ийг аюулгүйгээр гаргаж аваад Rpi -д оруулж болно.
Хатуу кодлогдсон статик IP -ийн шалтгаан нь Rpi -тэй холбогдоход хялбар болгох явдал юм. Хэрэв ямар нэг шалтгааны улмаас Rpi -д DHCP -тэй ip байхгүй бол та статик ip -ийг хялбархан ашиглаж болно.
Алхам 2: Холболт хийж, Rpi утасгүй холболтыг дотоод сүлжээндээ холбоно уу
Бид Rpi -> Ethernet кабелийг компьютер болон Rpi хооронд холбоно.
-
Putty -ийг эхлүүлж үүнийг бөглөнө үү.
- Хостын нэр (эсвэл IP хаяг): 169.254.10.1
- Боомт: 22
-
Терминал гарч ирэх бөгөөд та анхдагч хэрэглэгчийн нэр, нууц үгээ оруулна уу.
- Хэрэглэгчийн нэр: pi
- Нууц үг: бөөрөлзгөнө
Одоо бид орон нутгийн хэмжээнд rpi -тэй холбогдсон тул Rpi -ийг таны wifi -тай холбохыг хүсч байна.
- Нэмэлт: "sudo raspi-config" гэж бичнэ үү.
- Энд та pi хэрэглэгчийн нууц үгийг өөрчлөх шаардлагатай болно (аюулгүй байдлын үүднээс)
- Үүний дараа Локалчлалын сонголтууд -> Цаг өөрчлөх (зөвийг нь сонгох) -> Дараа нь Wifi Улс руу очно уу -> улсыг сонгоно уу.
- Raspi-config-ийг хааж, дахин ачаална уу.
- Нэвтэрсэн үедээ өөрийгөө root хэрэглэгч болгох -> sudo -i
-
Сүлжээгээ Rpi -д нэмэхийн тулд энэ тушаалыг бичнэ үү (жагсаалтын доорх код)
- нууц үг = "нууц үг" (ишлэл бүхий)
- Нэрийн сүлжээ = "SSID"
- Давхар >> ашиглахаа мартуузай! Чухал!
echo "нууц үг" | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant.conf
Одоо дахин дахин ачаална уу
Дахин холбогдохдоо ip -ээ шалгаад дараах зүйлийг бичнэ үү.
ifconfig
inet -ийн хажууд байгаа wlan0 -г шалгана уу.
Одоо бид интернет холболттой болсон тул "хурдан" шинэчлэлт хийцгээе.
sudo apt update
sudo apt dist -upgrade -y
Үүнд хэсэг хугацаа шаардагдаж магадгүй.
Алхам 3: DS18B20 мэдрэгч (температур)-1 утастай
Төсөл болгонд хийх ёстой онцгой зүйл байх болно, эс бөгөөс энэ нь ажиллахгүй болно.
Энэ удаад бид DS18B20 температур мэдрэгчтэй бөгөөд 1 утастай бөгөөд яагаад гэдгийг нь би тайлбарлахгүй, гэхдээ яаж үүнийг хэрхэн яаж хийхийг тайлбарлах болно.
Үүний тулд бид сайхан цэнхэр дэлгэц болох Rpi дээрх raspi-тохиргоо руу буцах ёстой.
- Интерфэйсийн сонголтууд руу очно уу
- 1-утсыг сонгоод идэвхжүүлэхийг сонгоно уу.
Дууссан…
Тоголсон юм.
Одоо бид /boot/config.txt -ийг тохируулах хэрэгтэй болно
sudo нано /boot/config.txt
Энэ мөрийг доод хэсэгт нэмнэ үү.
# Нэг утсыг идэвхжүүлэх
dtoverlay = w1-gpio
Одоо sudo энэ зүйлийг дахин ачаалж, одоо бид дууслаа.
Ажиллаж байгаа эсэхийг шалгахын тулд мэдрэгчийг Rpi руу холбоод терминал руу буцаж очоод энэ кодыг бичнэ үү (Температур мэдрэгчийг хэрхэн холбох талаар дараагийн алхамыг үзнэ үү).
cd/sys/bus/w1/devices/w1_bus_master1
ls
Та зүүн дээд талд хар хөх өнгийн тоо, үсэг бүхий зүйлийг харах ёстой бөгөөд github кодтой ажиллахдаа дараа нь энэ мэдээллийг бичихээ мартуузай.
Хэрэв ямар нэг шалтгаанаар энэ нь ажиллахгүй бол илүү гүнзгийрсэн холбоосыг шалгана уу.
Алхам 4: MCP3008 - Аналог мэдрэгч
Бид температур мэдрэгчийн хувьд өөрчлөлт хийснийхээ дараа бусад мэдрэгчүүдэд аналог өгөгдлийг унших шаардлагатай байдаг тул зарим өөрчлөлтийг хийх шаардлагатай болдог. Энд MCP3008 хэрэг болоход бид SPI интерфэйсийг өөрчлөх хэрэгтэй болно.
sudo raspi-config
Interfacing Options -> SPI сонгох -> идэвхжүүлэх хэсэгт очно уу.
Дараа нь дуусгах.
Алхам 5: Техник хангамж
Бид Rpi -ийг бүрэн гүйцэд хийгээгүй байгаа боловч тоног төхөөрөмжийг барьж, нийлүүлж эхлэхэд хангалттай юм.
Rpi -ийг дэлбэлэхгүй байхын тулд барилга барихдаа холболтоо сайтар шалгаж үзээрэй.
Түүнчлэн, схемд бид нэг бүрэлдэхүүн хэсгээс 1 -ээс илүүтэй ажиллах боловч зарим бүрэлдэхүүн хэсгүүд зөвхөн нэг удаа байгааг анзаарах болно. Энэ нь 1 бүрэлдэхүүн хэсгийг бүтээх үйл явцыг давтах ёстой гэсэн үг юм. 1 жижиг үл хамаарах зүйл байдаг, mq-x мэдрэгч нь нэмэлт түвшний хөрвүүлэгч эсвэл MCP3008 шаардлагагүй. Түвшин хөрвүүлэгч болон MCP3008 дээр нэмэлт ногоон кабель (pdf форматаар) нэмээрэй.
Нэмэлт засвар: Фенүүд транзисторыг шилжүүлэгч болгон ашиглах шаардлагатай. Би 1 сэнсний хувьд 2n2222A транзистор ашигладаг, учир нь 2 сэнс нь хүнд ачаатай байж магадгүй юм.
Хэрэв танд илүү том гүйдэл дамжуулах чадвартай транзистор байгаа бол энэ алхмын сүүлийн хэсгийг алгасаарай.
Хэрэв танд над шиг хүн байхгүй бол та үүнийг 1 сэнс = 1 транзистор, 2 сэнс = 2 транзистор гэх мэтээр хийх хэрэгтэй болно (фен бүр pdf дээрх шиг өөрийн транзистор + диод).
Та мөн дараа нь 7 -р алхам: Git код дээр backend_project дахь app.py -д зарим код оруулах шаардлагатай болно.
Алхам 6: Mariadb мэдээллийн бааз үүсгэх
Гарчигнаас харахад бид мэдрэгчийнхээ өгөгдлийг хадгалах газартай болохын тулд мэдээллийн бааз бий болгох гэж байна.
Юуны өмнө Mariadb -ийг Rpi дээр татаж аваарай.
sudo apt-get суулгах mariadb-сервер
Суулгасны дараа үүнийг ашиглацгаая.
mysql -u root
Нууц үг хоосон тул бичих зүйл алга. Enter дарна уу.
Одоо хэрэглэгч үүсгэе.
USER 'user'@'%' IDENTIFIED BY 'userdb' үүсгэ;
БҮХ НЭР ХУВИЙГ АВАХ *. * GRANT OPTION -тай 'user'@'%' - д өгөх;
FLUSH давуу эрх;
Ctrl + C дарж гараад үйлчилгээг хурдан дахин эхлүүлнэ үү.
sudo үйлчилгээ mysql -ийг дахин эхлүүлнэ үү
Хэрэглэгчийн нэрээр нэвтэрнэ үү: хэрэглэгч & нууц үг: userdb:
mysql -u хэрэглэгч -p
Одоо мэдээллийн бааз үүсгэх цаг болжээ.
Өгөгдлийн бааз үүсгэх project_db DEFAULT CHARACTER SET utf8;
Project_db ашиглах
"Historiek" (түүхийг хэлнэ) хүснэгт үүсгээрэй.
Хэрэв байхгүй бол ХҮСНЭГТ үүсгэх
`sensorID` VARCHAR (5) NOT NULL,` datum` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `waarde` FLOAT (4) NULL DEFAULT 0, PRIMARY KEY (` id`)) ENGINE = InnoDB;
Мөн voila, мэдээллийн санг хийдэг.
Алхам 7: Github код ба тест
Бид төслийнхөө төгсгөлд ойртож байна.
Кодыг авахаасаа өмнө бид зарим модулийг Rpi руу оруулах шаардлагатай болно.
pip3 Flask_MySQL -ийг суулгана уу
pip3 колбо-сокетийг суулгана уу
pip3 суулгах -U колбо -корс
pip3 spidev суулгана уу
Үүнийг ажиллуулахын тулд бидэнд код хэрэгтэй байна, терминалыг бичнэ үү:
git clone
Фолдер байгаа эсэхийг шалгана уу:
ls
Одоо танд 2 терминал хэрэгтэй болно, тиймээс терминал дээр хулганы баруун товчийг дараад "Давхардсан сессия" дээр дарна уу.
Cd командыг ашиглан backend_project ба температур руу очно уу.
Туршилтын зорилгоор програмыг эхлүүлэхийн өмнө. Зарим тоонуудыг бичих шаардлагатай 1 утастай мэдрэгчтэй 3-р алхамыг та одоо хүртэл санаж байна уу? Хэрэв танд санаа зовох зүйл байхгүй бол 3 -р алхамыг дахин үзээрэй.
Бид эдгээр тоонуудыг кодонд оруулах болно, учир нь үүнийг ашиглахдаа зөв мэдрэгчийг мэдэх шаардлагатай болно.
Температур хавтас бүхий терминал, та app.py. Бид үүнийг нээх гэж байна.
sudo нано апп.py
"Def temperatuur ():" гэж нэрлэгддэг функцийг хайж олоорой, та "**" -ийг бичсэн тоонуудаар солих шаардлагатай болно. Миний хувьд энэ кодын мөрийг авах болно (тоо бүр өвөрмөц).
sensor_file_name = '/sys/devices/w1_bus_master1/28-0316a4be59ff/w1_slave
Туршилтын хугацаа. Backend_project болон температурын хавтсанд хоёулаа терминал бичнэ үү:
python3 апп.py
5 -р алхамыг санаарай: хэрэв та олон сэнс, транзистор ашиглаж байгаа бол код нэмэх шаардлагатай тоног төхөөрөмж үү?
Сайн байна, хэрэв 5 -р алхам руу буцахгүй бол.
Одоо бид backend_project дээр app.py дээр дурдсанчлан кодыг нэмэх хэрэгтэй. Үүнийг хөнгөвчлөхийн тулд би кодын жишээг үзүүлэв. "Fan1" гэсэн комментийн кодын мөр бүр дээр эдгээр мөр болон voila -г тайлбарлаагүй бол одоо та 2 фен ашиглаж болно.
Хэрэв та илүү их 2 фен ашиглахыг хүсвэл ижил кодыг доор нь хуулаад өөр дугаараар буулгаарай. Үүний сул тал бол таны хувийн ажил бөгөөд gpio.pins бага байдаг. Үүнд миний мэдэх давуу тал байхгүй.
Алхам 8: Boot Up дээр кодыг ажиллуулна уу
Бид эдгээр 2 питон скриптийг манай Rpi ачаалах үед ажиллуулахыг хүсч байна, хэрэв скрипт сүйрэх юм бол өөрөө дахин эхлүүлэх ёстой. Үүнийг хийхийн тулд бид 2 үйлчилгээ хийх гэж байна.
Үүнийг хийхийн тулд бичнэ үү:
sudo нано /etc/systemd/system/temperature.service
Үүнийг температурт хуулж буулгах.үйлчилгээ:
[Нэгж] Тодорхойлолт = Температурын үйлчилгээ дараа = олон хэрэглэгчийн.зорилт
Зөрчилдөөн [email protected]
[Үйлчилгээ] Төрөл = энгийн
ExecStart =/usr/bin/python3 /home/pi/Documents/nmct-s2-project-1-TheryBrian/temperature/app.py
StandardInput = tty-force
Дахин эхлүүлэх = амжилтгүй болох
RestartSec = 60 -аад он
[Суулгах]
WantedBy = multi-user.target
Хааж, дахин хий, гэхдээ дараа нь backend_project.service:
Эхний нээлттэй текст:
sudo нано /etc/systemd/system/backend_project.service
Дараа нь дахин хуулж буулгана уу:
[Нэгж] Тодорхойлолт = backend_project үйлчилгээ
Дараа = олон хэрэглэгчийн зорилт
Зөрчилдөөн [email protected]
[Үйлчилгээ]
Төрөл = энгийн
ExecStart =/usr/bin/python3 /home/pi/Documents/nmct-s2-project-1-TheryBrian/backend_project/app.py
StandardInput = tty-force
Дахин эхлүүлэх = амжилтгүй болох
RestartSec = 60 -аад он
[Суулгах]
WantedBy = multi-user.target
Хадгалаад хаах.
Сүүлийн хэсэг нь үүнийг бичиж байна:
sudo systemctl демон дахин ачаална
sudo systemctl температурыг идэвхжүүлнэ. үйлчилгээ sudo дахин ачаална
Одоо манай 2 питон скрипт ачаалах үед автоматаар ажиллах ёстой.
Алхам 9: Вэбсайтыг тохируулах
Та репозиторыг татаж авахдаа бас урд нэртэй хавтас авах ёстой байсан. Энэ бол вэбсайтын агуулга юм.
Фолдерыг ашиглахаас өмнө бидэнд apache хэрэгтэй болно. Apache -ийг авахын тулд энэ линк дээрх гарын авлагыг дагана уу.
Та бэлэн болмогц. Урд талын фолдер байрладаг газар руу очно уу:
cd /Documents /nmct-s2-project-1-TheryBrian
Дараа нь бичнэ үү:
sudo mv front/var/www/html
Үүнийг хийсний дараа html хавтас руу орж, уйтгартай ажилд бэлдээрэй (миний буруу).
cd/var/www/html/
Дараа нь урд хавтас руу ороод бүх зүйлийг html хавтас руу зөөж эхлээрэй.
жишээ:
sudo mv css/var/www/html
Дараа нь урд талын фолдерыг устга.
Тэгээд бид бүх зүйлээ дуусгасан.
Амжилт хүсье:).
Алхам 10: Нэмэлт - Бяцхан прототип
Туршилтын шалтгаанаар би бүх тоног төхөөрөмж бүхий хайрцгийн загварыг хийсэн тул бүх зүйл захиалгаар ажилладаг эсэхийг харж болно.
Дүрмээр бол энэ төслийг илүү өргөн хүрээнд хийх болно. Жишээлбэл: өрөө, байшин, үйлдвэр, дэлгүүр гэх мэт …
Гэхдээ бид ханан дээр нүх гаргаж эхлэхээс өмнө (сайхан шүлэг). Энэ нь зүгээр л ажилладаг эсэхийг бид эхлээд харахыг хүсч байна. Туршилтанд зориулж хайрцаг хийх шаардлагагүй боловч гар урлал хийх нь үргэлж хөгжилтэй байдаг.
Энд миний жишээ байна.
Зөвлөмж болгож буй:
Arduino DHT22 мэдрэгч ба хөрсний чийгшил төсөл: 4 алхам
Arduino DHT22 мэдрэгч ба хөрсний чийгшил төсөл Цэсээр . Энэхүү төсөл нь
Соронзон унтраалга хаалганы дохиоллын мэдрэгч, ихэвчлэн нээлттэй, энгийн төсөл, 100% ажилладаг, эх код өгсөн: 3 алхам
Соронзон унтраалгатай хаалганы дохиоллын мэдрэгч, ихэвчлэн нээлттэй, энгийн төсөл, 100% ажилладаг, эх кодыг өгсөн: Тодорхойлолт: Сайн байна уу залуусаа, би ердийн нээлттэй горимд ажилладаг MC-18 соронзон унтраалга мэдрэгчийн дохиоллын талаар заавар өгөх болно. Шилжүүлэгчийн төрөл: ҮГҮЙ (ердийн хаалтын төрөл), хэлхээ нь ихэвчлэн нээлттэй, соронз ойрхон байвал хэлхээ холбогддог. Зэгс
RFID + Өнгөний мэдрэгч IoT төсөл: 7 алхам
RFID + Өнгөний мэдрэгч IoT төсөл: Энэхүү төслийн санаа нь кофены аяганаас уусан хүмүүсийг шагнах, зохих ёсоор хаях явдал юм. Жишээлбэл, Тим Хортонс шиг компанийг авч үзье. 2014 онд тэд жилд 2 тэрбум аяга кофе ууж байжээ. Хэдийгээр тэдний аягыг дахин боловсруулж болно
Эхлэгчдэд зориулсан Arduino -ийн 10 үндсэн төсөл! Нэг самбараар хамгийн багадаа 15 төсөл хий !: 6 алхам
Эхлэгчдэд зориулсан Arduino -ийн 10 үндсэн төсөл! Хамгийн багадаа 15 төслийг нэг самбараар хий !: Arduino Project & Хичээлийн зөвлөл; Arduino -ийн үндсэн 10 төслийг багтаасан болно. Бүх эх код, Gerber файл болон бусад. SMD байхгүй байна! Хүн бүрт хялбар гагнах. Зөөврийн болон сольж болох хялбар бүрэлдэхүүн хэсгүүд. Та хамгийн багадаа 15 төсөл хийх боломжтой
USB -ээр ажилладаг шарагч! Энэхүү төсөл нь хуванцар / мод / цаасаар шатаж болно (хөгжилтэй төсөл нь маш нарийн мод байх ёстой): 3 алхам
USB -ээр ажилладаг шарагч! Энэ төсөл нь хуванцар / мод / цаасаар шатаж болно (хөгжилтэй төсөл нь маш нарийн мод байх ёстой): ЭНЭ USB ашиглан бүү хий !!!! Энэ нь бүх сэтгэгдлээс таны компьютерийг гэмтээж болохыг олж мэдсэн. миний компьютер сайн байна 600ma 5V утасны цэнэглэгч ашиглана уу. Би үүнийг ашигласан бөгөөд энэ нь сайн ажилладаг бөгөөд хэрэв та цахилгаан тэжээлийг зогсоохын тулд хамгаалалтын залгуур ашиглавал юу ч гэмтээхгүй