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

Сэтгэлийн чанга яригч- Орчны температураас хамааран сэтгэл санааны хөгжим тоглуулах хүчтэй чанга яригч: 9 алхам
Сэтгэлийн чанга яригч- Орчны температураас хамааран сэтгэл санааны хөгжим тоглуулах хүчтэй чанга яригч: 9 алхам

Видео: Сэтгэлийн чанга яригч- Орчны температураас хамааран сэтгэл санааны хөгжим тоглуулах хүчтэй чанга яригч: 9 алхам

Видео: Сэтгэлийн чанга яригч- Орчны температураас хамааран сэтгэл санааны хөгжим тоглуулах хүчтэй чанга яригч: 9 алхам
Видео: Хадмал орчуулга) 2020 Мини хоршоо CLUBMAN JCW! Худалдан авахаасаа өмнө үзэх хэрэгтэй !! 2024, Долдугаар сарын
Anonim
Сэтгэлийн чанга яригч- Орчны температураас хамаарч сэтгэлийн хөгжим тоглох хүчтэй чанга яригч
Сэтгэлийн чанга яригч- Орчны температураас хамаарч сэтгэлийн хөгжим тоглох хүчтэй чанга яригч

Хөөе!

MCT Howest Kortrijk дахь сургуулийнхаа төслийн хувьд би Mood Speaker хийсэн бөгөөд энэ нь өөр өөр мэдрэгчтэй, LCD, WS2812b LED зурвас бүхий ухаалаг Bluetooth чанга яригч төхөөрөмж юм чанга яригч. Бүх зүйл Raspberry Pi дээр ажилладаг (мэдээллийн сан, вэбсервер, арын хэсэг).

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

Энэхүү зааварчилгаа нь миний бичсэн анхны ном юм, хэрэв ямар нэгэн дэмий зүйл байвал би тэдэнд аль болох хурдан хариулахыг хичээх болно!

Миний GitHub:

Алхам 1: хангамж

Raspberry Pi 3B ба 16GB хэмжээтэй SD карт

Миний бүх төсөл Raspberry Pi 3B дээр тохируулсан зурагтай ажилладаг бөгөөд үүнийг дараа нь тайлбарлах болно (Алхам 4: Raspberry Pi -ийг тохируулах)

LCD дэлгэц 16x2

Би температур, гэрэл, IP хаягаа хэвлэхийн тулд үндсэн LCD дэлгэц ашигласан.

Мэдээллийн хуудас:

DS18B20 температур мэдрэгч

DS18B20 бол Maxim Integrated-ийн үйлдвэрлэсэн температурыг хэмждэг нэг утастай мэдрэгч юм. 2 төрлийн DS18B20 мэдрэгч байдаг, зөвхөн бүрэлдэхүүн хэсэг (миний ашигладаг байсан), ус үл нэвтрэх хувилбар нь хамаагүй том, гэхдээ энэ нь миний төсөлд хэрэгтэй зүйл биш байсан тул би зөвхөн бүрэлдэхүүн хэсгийг ашигласан. Мэдрэгч нь -55 ° C -аас +125 ° C (-67 ° F -аас +257 ° F) хүртэл температурыг хэмжих боломжтой бөгөөд -10 ° C -аас +85 ° C хүртэл 0.5 ° C нарийвчлалтай байдаг. Түүнчлэн 9 битээс 12 бит хүртэл програмчлагдах нарийвчлалтай.

Мэдээллийн хуудас:

MCP3008

Миний LDR болон PIR мэдрэгчийн өгөгдлийг уншихын тулд би MCP3008-ийг ашигласан бөгөөд энэ нь SPI интерфэйстэй дижитал хөрвүүлэгчтэй 8 битийн 10 битийн аналог бөгөөд програмчлахад маш хялбар юм.

Мэдээллийн хуудас:

PIR хөдөлгөөн мэдрэгч

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

Мэдээллийн хуудас:

LDR

Би фоторезистор эсвэл LDR (Гэрэл буурах эсэргүүцэл эсвэл гэрлээс хамааралтай эсэргүүцэл) ашиглан өрөөний гэрэлтүүлгийн түвшинг илрүүлж, харанхуй болоход Ledstrip-ээ асаах боломжтой болсон.

Чанга яригч - 3 инч диаметртэй - 4 Ом 3 Ватт

Энэ бол хүчдэл ба амперыг тооцоолсны дараа миний сонгосон чанга яригч конус бөгөөд энэ нь Adafruit -ийн үйлдвэрлэсэн миний Raspberry Pi төсөлд төгс тохирсон байв.

Тойм:

MAX98357 I2S ангилал-D моно өсгөгч

Энэ бол чанга яригчтай хамт ирдэг өсгөгч бөгөөд энэ нь өсгөгч төдийгүй I2S дижиталаас аналог хөрвүүлэгч тул миний чанга яригч болон аудио системд төгс тохирно.

Тойм:

Мэдээллийн хуудас:

Ардуино Уно

Arduino Uno бол Arduino.cc-ийн үйлдвэрлэсэн Microchip ATmega328P микроконтроллер дээр суурилсан нээлттэй эх үүсвэр бүхий микроконтроллер самбар юм. Uno самбар нь 14 дижитал тээглүүр, 6 аналог пинтэй бөгөөд Arduino IDE програм хангамжаар бүрэн програмчлах боломжтой.

Тойм:

Түвшин шилжүүлэгч

Энэ бол Arduino Uno ба Raspberry Pi хоёрын хоорондох холбоо, өөр өөр хүчдэл болох Arduino: 5V & Raspberry Pi: 3.3V -ийг хариуцдаг жижиг самбар юм. LED зурвас нь Arduino -той холбогдсон бөгөөд тэнд ажилладаг бол бусад бүх зүйл Raspberry Pi дээр ажилладаг тул үүнийг хийх шаардлагатай байна.

WS2812B - Ledstrip

Энэ бол 60 RGB гэрэлтэй LED зурвас юм (хэрэв та хүсвэл илүү олон RGB гэрэлтэй урт тууз худалдаж авах боломжтой). Энэ нь миний хувьд Arduino Uno -тэй холбогдсон боловч бусад олон төхөөрөмжтэй холбогдож болох бөгөөд ашиглахад үнэхээр хялбар юм.

Мэдээллийн хуудас:

GPIO T-Part, 1 Breadboard болон олон тооны холбогч утас

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

Алхам 2: Схем ба утас

Схем ба утас
Схем ба утас
Схем ба утас
Схем ба утас

Миний схемийг гаргахын тулд би Fritzing -ийг ашигласан бөгөөд энэ нь таны суулгаж болох програм бөгөөд энэ нь танд янз бүрийн хэлбэрээр маш хялбархан схем үүсгэх боломжийг олгодог.

Fritzing татаж авах:

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

Алхам 3: Өгөгдлийн сангийн дизайн

Өгөгдлийн сангийн дизайн
Өгөгдлийн сангийн дизайн

Бид 3 мэдрэгчээс маш их мэдээлэл цуглуулж байна (DS18B20-ийн температур, LDR-ийн тод байдал, PIR мэдрэгчийн статус). Тиймээс энэ бүх өгөгдлийг мэдээллийн санд хадгалах нь дээр. Өгөгдлийн санг хэрхэн яаж тохируулах талаар би дараагийн алхамд тайлбарлах болно (Алхам 5: Манай мэдээллийн баазыг RPi руу шилжүүлэх!) Гэхдээ эхлээд дизайн эсвэл ERD (Entity Relationship Diagram) хийх ёстой. 3NF -ийн тусламжтайгаар уурхайг хэвийн болгосон тул бид бүрэлдэхүүн хэсгүүд болон бүрэлдэхүүн хэсгүүдийн түүхийг өөр хүснэгтэд хуваасан. Бид Хөгжмийн мэдээллийн санг ашиглан сонссон дуунуудаа хөтөлдөг.

Ерөнхийдөө энэ бол цаашид ажиллахын тулд үнэхээр үндсэн бөгөөд хялбар мэдээллийн сангийн загвар юм.

Алхам 4: Raspberry Pi -ийг тохируулна уу

Одоо бид төслийн зарим үндсийг хийж дууслаа. Raspberry Pi -ийг тохируулж эхэлье!

1 -р хэсэг: SD картыг тохируулах

1) Шаардлагатай програм хангамж, файлыг татаж авах

Та энэ програмыг бүрэн гүйцэд ашиглахын тулд 2 програм хангамж болон 1 OS, өөрөөр хэлбэл Raspbian татаж авах хэрэгтэй. Эхний програм хангамж: Эхний програм хангамж нь Win32 Disk Imager юм.

sourceforge.net/projects/win32diskimager/

2 -р програм хангамж: Хоёр дахь програм хангамж нь SD карт форматлагч юм.

www.sdcard.org/downloads/formatter_4/

Raspbian OS: Энэ бол Pi -ийн үндсэн үйлдлийн систем юм.

www.raspberrypi.org/downloads/raspberry-pi-os/

Бүх файлыг ширээний компьютер дээр задлах.

2) SD карт болон карт уншигч аваарай

Карт уншигчтай хамгийн багадаа 8GB ангийн 10 SD карт аваарай. Энэ картыг карт уншигч руу оруулаад USB порт руу залгаарай.

3) SD картыг форматлах

SD карт форматлагчийг нээгээд дискийг сонгоно уу.

Формат дээр дарж бусад сонголтыг өөрчлөхгүй.

Форматлаж дууссаны дараа OK дарна уу.

4) OS картыг SD карт дээр бичнэ үү

Win32diskimager -ийг нээнэ үү.

Татаж авсан файлаас гаргаж авсан Raspbian OS -ийн.img файлыг үзэх.

Нээлттэй, дараа нь бичих дээр дарна уу.

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

n

5) Үүнийг хийсний дараа бид зургийг RPi -д оруулахаасаа өмнө эцсийн тохируулга хийхэд бэлэн байна.

SD картынхаа лавлах руу очиж 'cmdline.txt' файлыг хайж олоод нээнэ үү.

Одоо нэг мөрөнд 'ip = 169.254.10.1' нэмнэ үү.

Файлыг хадгална уу.

Өргөтгөл, контентгүйгээр 'ssh' нэртэй файл үүсгээрэй. (Хамгийн хялбар арга бол txt файл үүсгэж, дараа нь.txt -ийг устгах)

SD карт дээр бүх зүйл суулгагдсан байгаа тул та үүнийг компьютерээсээ аюулгүйгээр гаргаж аваад Raspberry Pi -д оруулах боломжтой. SD карт RPI -д орсны дараа компьютерээсээ LAN кабелийг RPi LAN порт руу холбоно уу.

2 -р хэсэг: RPi -ийг тохируулах

Шаваас

Одоо бид Raspberry Pi -ээ тохируулахыг хүсч байна, үүнийг Putty -ээр дамжуулан хийдэг.

Шаваасны програм хангамж:

Татаж авсны дараа Putty програмыг нээж, '169.254.10.1' IP ба '22' порт, SSH холболтын төрлийг оруулна уу.

Одоо бид эцэст нь командын шугамын интерфэйсийг нээж, гарааны хэрэглэгчийн мэдээлэл -> Хэрэглэгч: pi & Нууц үг: бөөрөлзгөнө ашиглан нэвтрэх боломжтой боллоо. (Үүнийг аль болох хурдан өөрчлөхийг зөвлөж байна. Хэрхэн хийх заавар энд байна:

Raspi-тохиргоо

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

sudo raspi-config

Бидний идэвхжүүлэх ёстой зүйлүүд нь интерфэйс хэсэгт байна. Бид дараах интерфэйсийг идэвхжүүлэх ёстой.

  • Нэг утас
  • Цуврал
  • I2C
  • ТХН

Энэ бол raspi-config-ийн хувьд бидэнд хэрэгтэй бүх зүйл байсан

WIFI -ээ нэмж байна

Нэгдүгээрт, та дараах тушаалыг root болгохын тулд root байх ёстой

sudo -i

Та root болсны дараа дараах тушаалыг ашиглана уу: (SSID -г сүлжээний нэрээр, нууц үгээ сүлжээний нууц үгээр солино уу)

wpa_passphrase "ssid" "password" >> /etc/wpa_supplicant/wpa_supplicant.conf

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

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

Тиймээс бид сүлжээнд нэвтэрсний дараа WPA клиент интерфэйсийг оруулъя

wpa_cli

Өөрийн интерфэйсийг сонгоно уу

wlan0 интерфэйс

Файлыг дахин ачаална уу

дахин тохируулах

Эцэст нь та сайн холбогдсон эсэхийг харж болно:

ip a

3 -р хэсэг: RPi + суулгах програм хангамжийг шинэчлэх

Одоо бид интернетэд холбогдсон байгаа тул аль хэдийн суулгасан багцуудыг шинэчлэх нь ухаалаг алхам байх тул бусад багцыг суулгахаасаа өмнө үүнийг хийцгээе.

sudo apt-get update

sudo apt-get шинэчлэлт

RPi -ийг шинэчилсний дараа бид дараах програм хангамжийг суулгах шаардлагатай болно.

MariaDB мэдээллийн сан

sudo apt-get суулгах mariadb-сервер

Apache2 вэб сервер

sudo apt install apache2

Python

update-alternatives-install/usr/bin/python python /usr/bin/python3.7 1 update-alternatives --install/usr/bin/python python/usr/bin/python3 2

Python багц

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

  • Колбо
  • Колбо-Корс
  • Колбо-MySql
  • Колбо-залгуур
  • PyMySQL хүсэлт
  • Питон сокет
  • RPi. GPIO
  • Гевент
  • Gevent-вэбсокет

Илтгэгчийн номын сан

Чанга яригчийг өсгөгчтэй ашиглахын тулд бид түүнд зориулж номын сан суулгах шаардлагатай болно

curl -sS > | bash

Step 4: Reboot

After everything has been installed we will have to reboot the pi to make sure everything works correctly

sudo reboot

Step 5: Setting Up the Database to the RPi

Өгөгдлийн санг RPi дээр тохируулж байна!
Өгөгдлийн санг RPi дээр тохируулж байна!

Бидэнд хэрэгтэй бүх зүйлээ суулгасны дараа Raspberry Pi дээрээ зохион бүтээсэн мэдээллийн баазаа оруулцгаая!

Өгөгдлийн санг тохируулахын тулд бид MySql болон RPi -ийг холбох шаардлагатай болно. Үүний тулд бид MySQLWorkbench -ийг нээж, шинэ холболт хийх болно. Зургийг харахдаа мэдээллийг өөрийн болгож өөрчлөхийн тулд өөрчлөх хэрэгтэй болно.

Хэрэв та хараахан юу ч өөрчлөгдөөгүй бол SSH pi болон бөөрөлзгөнө, MySQL mysql болон mysql -ийг ашиглаж болно.

Хэрэв ямар нэгэн зүйл тодорхойгүй байвал та энэ зааврыг дагаж болно:

Мэдээллийн баазаа экспортлохын тулд PHPmyAdmin -ийг ашиглах нь илүү хялбар байх ёстой, учир нь та MySql ашиглан олон алдаа гаргаж болно.

Алхам 6: Манай RPi дээр Bluetooth -ийг тохируулах

Бид Mood чанга яригчийг бүтээж байгаа бөгөөд үүнийг бид өөрсдийн дуу хөгжим дээр ашиглах боломжтой бөгөөд ингэснээр RPi байх үед энэ нь илүү хялбар болно

bluetooth -тэй холбогдсон зааварчилгааны дагуу та эндээс олж болно.

scribles.net/streaming-bluetooth-audio-fr…

Үүнийг дахин бүтээхийг хүссэн бүх хүмүүст зориулж би энд бичсэн

Аль хэдийн ажиллаж байсан bluealsa -г устгаж байна

sudo rm/var/run/bluealsa/*

A2DP профайлыг угаалтуурын дүрд нэмнэ үү

sudo bluealsa -p a2dp -sink &

Bluetooth интерфэйсийг нээгээд bluetooth -ээ асаана уу

bluetoothctl асаалттай байна

Хослуулах агент тохируулах

анхдагч-агент дээрх агент

Таны RPi -ийг илрүүлэх боломжтой болго

дээр илрүүлэх боломжтой

  • Одоо bluetooth төхөөрөмжөөсөө RPi -г хайж, түүнтэй холбогдоно уу.
  • Хоёр төхөөрөмж дээрх хослолыг баталгаажуулж, шаваасандаа 'тийм' гэж бичнэ үү.
  • A2DP үйлчилгээнд зөвшөөрөл өгөөд дахин "тийм" гэж бичнэ үү.
  • Үүнийг хийсний дараа бид төхөөрөмждөө итгэж болох тул бид холбогдохыг хүсэх болгондоо энэ бүхнийг давах шаардлагагүй болно

XX: XX: XX: XX: XX: XX -д итгээрэй (Таны bluetooth mac хаяг манай эх төхөөрөмжөөс)

Хэрэв та өөрийн RPi -ийг үргэлжлүүлэн олж илрүүлэхийг хүсч байвал энэ бол таны өөрийн сонголт, гэхдээ хүмүүс таны хайрцагтай холбогдохыг оролдохгүй байхын тулд би үүнийг дахин унтраахыг илүүд үзэж байна

илрүүлэх боломжтой

Дараа нь бид Bluetooth интерфэйсээсээ гарах боломжтой

гарах

Эцэст нь бидний аудио чиглүүлэлт: манай эх төхөөрөмжийг манай RPi руу дамжуулж байна

bluealsa-aplay 00: 00: 00: 00: 00: 00

Одоо манай төхөөрөмж бөөрөлзгөнөтэй бөөрөлзгөнөтэй холбогдсон бөгөөд та үүнийг Spotify гэх мэт дурын медиа тоглуулах замаар туршиж үзэх боломжтой байх ёстой.

Алхам 7: Бүрэн арын хэсгийг бичих

Тиймээс одоо тохиргоо дуусч, бид эцэст нь арын програмаа бичиж эхлэх боломжтой боллоо!

Би Visual Studio кодыг бүхэлд нь ашигладаг байсан тул та өөрийн Visual Studio төслийг Raspberry Pi -тэй холбосон эсэхийг шалгах хэрэгтэй, энэ нь таны LAN кабелийг таны RPi -тэй холбож, SSH холболт хийх ёстой гэсэн үг юм. (алсын холболтыг хэрхэн үүсгэх тухай мэдээллийг эндээс авах боломжтой:

Би өөрийн ангиудыг ашигладаг байсан бөгөөд эдгээр нь бүгд GitHub -д багтсан болно.

Миний арын файлд би өөр өөр ангиудыг ашигладаг байсан тул бүх зүйлийг тусад нь ашиглах боломжтой бөгөөд ингэснээр миний үндсэн код нь өөр өөр урсгалтай холбоотой байх ёсгүй. Би threading ашиглан бүх өөр ангиудыг нэгэн зэрэг ажиллуулж байсан. Доод талд нь та бүх чиглэлийг авсан тул бид урд талынхаа өгөгдлийг хялбархан авах боломжтой болно.

Алхам 8: Frontend бичих (HTML, CSS & JavaScript)

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

HTML болон CSS нь надад маш хэцүү байсан тул би үүнийг гар утсаараа ашиглахын тулд чадах бүхнээ хийсэн. Тиймээс хөдөлгөөнт хяналтын самбараас удирдах нь илүү хялбар байх болно

Та хяналтын самбараа хүссэнээрээ зохион бүтээж болно, би кодоо, загвараа энд үлдээе, та дуртай зүйлээ хийж болно!

Javascript нь надад илүү хялбар байсангүй, миний мэдрэгчээс өгөгдөл авахын тулд миний арын чиглэл, цөөн хэдэн үйл явдлыг сонсогчид болон зарим сокетио бүтэцтэй хэдэн GET -тэй хамтран ажилласан.

Алхам 9: Миний хэргийг үүсгэж, бүгдийг нэгтгэх

Миний хэргийг үүсгэж, бүгдийг нь нэгтгэж байна
Миний хэргийг үүсгэж, бүгдийг нь нэгтгэж байна
Миний хэргийг үүсгэж, бүгдийг нь нэгтгэж байна
Миний хэргийг үүсгэж, бүгдийг нь нэгтгэж байна
Миний хэргийг үүсгэж, бүгдийг нь нэгтгэж байна
Миний хэргийг үүсгэж, бүгдийг нь нэгтгэж байна
Миний хэргийг үүсгэж, бүгдийг нь нэгтгэж байна
Миний хэргийг үүсгэж, бүгдийг нь нэгтгэж байна

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

Би хэргийг модон материалаар хийсэн, хэрэв та байшин барихад тийм ч их туршлагагүй, бас хийж болох олон зүйл байгаа бол ажиллахад хамгийн хялбар гэж бодож байна.

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

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

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