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

Raspberry Pi -ийн ухаалаг гэр: 5 алхам (зурагтай)
Raspberry Pi -ийн ухаалаг гэр: 5 алхам (зурагтай)

Видео: Raspberry Pi -ийн ухаалаг гэр: 5 алхам (зурагтай)

Видео: Raspberry Pi -ийн ухаалаг гэр: 5 алхам (зурагтай)
Видео: Замена отопления в новостройке. Подключение. Опрессовка. #17 2024, Арваннэгдүгээр
Anonim
Raspberry Pi -ийн ухаалаг гэр
Raspberry Pi -ийн ухаалаг гэр

Таны байрыг илүү ухаалаг болгодог хэд хэдэн бүтээгдэхүүн байдаг боловч ихэнх нь өмчийн шийдэл байдаг. Гэхдээ ухаалаг гар утсаа асаахын тулд яагаад интернет холболт хэрэгтэй байна вэ? Энэ нь миний ухаалаг гэрийн шийдлийг бий болгох нэг шалтгаан болсон юм.

Би Raspberry Pi дээр ажилладаг серверийн програмыг програмчилсан. Энэ бол java -д суурилсан нээлттэй эхийн төсөл бөгөөд та орон сууцаа тохируулж, хэд хэдэн үйлчлүүлэгч болон "хянах нэгж" -ийг холбох боломжийг олгодог. Би RC цахилгаан хангамжийн унтраалга, Raspberry Pi дээр хөгжим, видео тоглуулах, ухаалаг толин тусгал дээрх статусыг харуулах, андроид апп, хоёр хайргатай програмаар удирдах боломжтой шийдлийг харуулж байна. Эх сурвалжийг github дээр байрлуулсан байна

Алхам 1: Танд хэрэгтэй зүйл

Танд хэрэгтэй зүйлс
Танд хэрэгтэй зүйлс

Ухаалаг гэрийг тохируулахын тулд танд дараах "найрлага" хэрэгтэй болно.

  • Raspberry Pi хамгийн багадаа загвар 2 B
  • 433 МГц дамжуулагч, үүнтэй төстэй
  • Raspberry Pi болон илгээгчийг холбосон 3 холбогч кабель
  • 433 МГц давтамжтай зарим радио хяналтын сокетууд
  • Үйлчлүүлэгч програмыг ажиллуулах Android ухаалаг гар утас

Нэмж дурдахад та Smart Home -ийг үүнтэй адил нэмэлт үйлчлүүлэгчид болон нэгжүүдээр өргөтгөх боломжтой

  • Pebble ухаалаг цаг
  • Ухаалаг толь, энэ төслийг үзнэ үү
  • 433 МГц-ийн хяналттай LED зурвас, үүнийг үзнэ үү

Алхам 2: Raspberry Pi -ийг 433 МГц давтамжтайгаар бэлтгэ

Raspberry Pi -ийг 433 МГц давтамжтайгаар бэлтгэ
Raspberry Pi -ийг 433 МГц давтамжтайгаар бэлтгэ
Raspberry Pi -ийг 433 МГц давтамжтайгаар бэлтгэ
Raspberry Pi -ийг 433 МГц давтамжтайгаар бэлтгэ

Дараах алхамуудад та Raspberry Pi дээрх тушаалын мөрөнд хандах хэрэгтэй. Нэвтрэхийн тулд та энэ зааварчилгааг уншиж болно

Дээрх зурагт үзүүлсэн шиг 433 МГц дамжуулагчийг Raspberry Pi -тай холбоно уу

  • GND (илгээгч) 6 GND (raspi)
  • VCC (илгээгч) 2 +5V (raspi)
  • DATA (илгээгч) 11 GPIO 17 (raspi)

Мөн 17 см хэмжээтэй антенныг ANT (илгээгч) зүү рүү холбоно уу. Энэ нь дохиог мэдэгдэхүйц нэмэгдүүлдэг.

Бидэнд бусад git репозитороос зарим номын сан хэрэгтэй байгаа тул бид git суулгах ёстой

sudo apt-get суулгах git-core -y

Raspberry Pi -ийг 433 МГц -ийн холболтод тохируулахын тулд GPIO -ийг илүү сайн зохицуулахын тулд бидэнд утастай Pi номын сан хэрэгтэй.

git clone git: //git.drogon.net/wiringPi

cd wiringPi./build

Дараа нь бидэнд ихэвчлэн rc цахилгаан хангамжийн протоколыг хэрэгжүүлдэг номын сан хэрэгтэй болно.

git clone git: //github.com/dabastynator/rcswitch-pi.git

cd rcswitch-pi cp send/usr/bin/болгох

"Илгээх" гүйцэтгэгддэг програм нь танд байгаа ихэнх цахилгаан хангамжийг солих код илгээх боломжийг олгодог.

Миний Ухаалаг Гэрийн тохиргоонд надад энэ зааварчилгаагаар тайлбарласан rc LED зурвас байна. бүхэл тоон утгыг илгээх (Энэ нь өнгийг кодлодог).

Тиймээс sendInt.cpp-ийг rcswitch-pi репо дээр эмхэтгэн/usr/bin/sendInt рүү зөөнө үү.

sudo g ++ sendInt.cpp -o/usr/bin/sendInt /home/pi/rcswitch-pi/RCSwitch.o -I/home/pi/rcswitch -pi -lwiringPi

Одоо та rc командыг/usr/bin/send болон/usr/bin/sendInt гэсэн хоёр гүйцэтгэх файлаар илгээх боломжтой байх ёстой.

Алхам 3: Ухаалаг гэрийн серверийг тохируулах

Юуны өмнө та хэд хэдэн багц суулгах хэрэгтэй. Smart Home програм нь java дээр суурилсан бөгөөд openjdk-11-тэй сайн ажилладаг. Бусад java ажиллах цагийн орчны талаар сайн мэдэхгүй байна. Mplayer бол минималист командын шугамын хөгжим тоглуулагч юм. Omxplayer нь видео кодлохын тулд Raspberry Pi графикийг ашигладаг тул үүнийг видеонд ашиглах ёстой. Java програмыг бүтээхэд шоргоолжны програм хэрэгтэй болно.

sudo apt-get суулгах mplayer omxplayer openjdk-11-jdk ant -y

Jar файл болон бүртгэлийн лавлахыг тохируулах.

sudo mkdir /opt /neo

sudo chown pi: pi/opt/neo mkdir/home/pi/Logs

Програмыг ачаалах үед автоматаар эхлүүлэхийн тулд эхлэх скриптийг тохируулна уу. Тиймээс хавсаргасан ухаалаг гэрийн скриптийг /etc/init.d/ директор руу хуулж аваарай. Би бас/usr/bin/дотор скриптийг хавсаргасан скриптэд дамжуулдаг бөгөөд ингэснээр би тушаалуудыг гүйцэтгэхийн тулд ухаалаг гэр рүү консол руу ордог..

sudo cp smart-home /etc/init.d/smart-home

sudo chmod +x /etc/init.d/smart-home sudo sh -c "echo '#!/bin/bash'>/usr/bin/smart -home" sudo sh -c "echo '/etc/init. d/smart-home / $ 1 '>>/usr/bin/smart-home "sudo chmod +x/usr/bin/smart-home sudo update-rc.d smart-home defaults

Одоо репозиторыг шалгаж, програмыг бүтээх цаг болжээ. Хэрэв та өөрөө эмхэтгэхийг хүсэхгүй байгаа бол хавсаргасан smarthome.jar програмыг татаж аваад/opt/neo/руу зөөж болно.

git clone [email protected]: dabastynator/SmartHome.git

шоргоолж -F SmartHome/de.neo.smarthome.build/build.ant build_remote cp SmartHome/de.neo.smarthome.build/build/jar/*/opt/neo/

Ухаалаг гэрийг эхлүүлж, бүртгэлийн файлыг шалгаж үзээрэй. GPIO -д хандахын тулд програмыг sudo -ээр эхлүүлэх ёстой.

sudo ухаалаг гэрийн эхлэл

муур Бүртгэлүүд/smarthome.log

Дараагийн алхам руу чиглүүлэх тохиргооны файл байхгүй гэсэн алдааны мессежийг та харах ёстой. Репозитор нь тохиргооны файлыг тайлбарласан унших програмыг агуулдаг. Та үүнийг github дээрээс сайхан бүтээсэн болохыг харж болно:

Энэ xml -ийг /home/pi/controlcenter.xml руу хуулж, дараа нь медиа серверийнхээ байршлыг тохируулж, агуулгыг шаардлагатай хэмжээгээр өөрчилнө үү. Та тохиргоог хийж, ухаалаг гэрийг дахин эхлүүлсний дараа (sudo smart-home restart) smarthome.log дээрх дараах агуулгыг харах ёстой.

24.05-08: 26 ДЭЛХИЙН АЛСАН МЭДЭЭЛЭЛ by de.neo.smarthome.cronjob. CronJob@15aeb7ab: cron ажлын хуваарь гаргах

24.05-08: 26 REMOTE INFORMATION by by [trigger.light]: Гүйцэтгэх хүртэл 79391760 ms хүлээнэ үү 24.05-08: 26 RMI INFORMATION by Add web-handler (5061/ledstrip) 24.05-08: 26 RMI INFORMATION by Add web-handler (5061) /action) 24.05-08: 26 RMI INFORMATION by by web handler (5061/mediaserver) 24.05-08: 26 RMI INFORMATION by Add web-handler (5061/switch) 24.05-08: 26 RMI INFORMATION by Add web-handler (5061/controlcenter) 24.05-08: 26 RMI INFORMATION by Start webserver by 5 handler (localhost: 5061) 24.05-08: 26 Controlcenter by REMOTE INFORMATION: Add 1. control unit: MyUnit (xyz)…

Вэб сервер одоо ажиллаж байна:-)

Алхам 4: Үйлчлүүлэгчдийг тохируулах

Үйлчлүүлэгчдийг тохируулах
Үйлчлүүлэгчдийг тохируулах
Үйлчлүүлэгчдийг тохируулах
Үйлчлүүлэгчдийг тохируулах
Үйлчлүүлэгчдийг тохируулах
Үйлчлүүлэгчдийг тохируулах

Андройд ухаалаг гар утасны үйлчлүүлэгч

Ухаалаг гэрийн програмын git репозитор нь андройд үйлчлүүлэгчийн эх сурвалжийг агуулдаг тул та өөрөө эмхэтгэх боломжтой. Гэхдээ би энэ алхамыг APK -д хавсаргасан нь энэ ажлыг хөнгөвчлөх болно. Та програмыг анх эхлүүлэхэд дээрх зураг дээрх шиг сервер танаас хүсэх болно. Серверийн url болон аюулгүй байдлын жетоныг оруулна уу.

Ийм л байх ёстой. Та одоо сервер рүү нэвтрэх боломжтой бөгөөд Raspberry Pi дээрээ байраа хөгжим тоглуулж, видео үзэх боломжтой болно. Та виджетээ үндсэн дэлгэц дээрээ нэмж болно, ингэснээр унтраалга болон хөгжмийн хяналтыг илүү хүртээмжтэй болгодог гэдгийг анхаарна уу.

Smartwatch Pebble үйлчлүүлэгч

Хайргатай хоёр үйлчлүүлэгчийн эх сурвалжийг github дээр байрлуулсан болно. Нэг апп нь одоо тоглож буй хөгжмийн файлыг харуулдаг: https://github.com/dabastynator/PebbleRemoteMusic… Энэ нь танд түр зогсоох/тоглуулах, дууны түвшинг дээшлүүлэх/бууруулах боломжийг олгодог.

Хоёрдахь апп нь гурван үйлдлийг өдөөдөг: https://github.com/dabastynator/PebbleControl Гох-нэрс нь: mobile.come_home mobile.leaving болон mobile.go_to_bed. Хэрэв та энэ тохируулагч-xml-д энэ гох үйл явдлын дүрмийг тодорхойлсон бол та тэдгээрийг цагныхаа тусламжтайгаар идэвхжүүлнэ.

Энэ бүхэн нээлттэй эх сурвалжтай, гэхдээ та үүнийг өөрөө эмхэтгэх шаардлагагүй, би хайргатай програмуудыг хавсаргасан. PBW -ийг ухаалаг гар утсаараа татаж аваарай, таны утас үүнийг цаг дээрээ суулгах ёстой. Хайргатай програмууд сервертэй ярихын тулд тохиргоо хийх шаардлагатай байдаг. Миний тохиргоо хэрхэн харагдахыг дэлгэцийн агшинд хавсаргав.

Smartwatch Garmin үйлчлүүлэгч

Garmin Smartwatches -ийн үйлчлүүлэгч бас байдаг. Аппликейшнийг garmin connect апп дэлгүүрээс авах боломжтой бөгөөд энд суулгаж болно.

apps.garmin.com/en-US/apps/c745527d-f2af-4…

Ухаалаг толь үйлчлүүлэгч

Ухаалаг толь хэрхэн бүтээх талаар тайлбарласан зааварчилгааг би аль хэдийн үүсгэсэн бөгөөд үүнийг үзнэ үү https://www.instructables.com/id/Smart-Mirror-by-R…. Эх кодыг github дээр байрлуулсан болно: https:// github.com/dabastynator/SmartMirror. Ухаалаг толины програм хангамж нь git репозиторийн хэсэг биш smart_config.js файлаас тохиргоог уншдаг. Тохиргооны файлын агуулга дараах байдлаар харагдах ёстой.

var mOpenWeatherKey = 'таны-нээлттэй дугуйтай түлхүүр';

var mSecurity = 'таны-аюулгүй байдлын жетон';

Та мөн Smart_mirror.js файлын эхний хоёр мөрийг тохируулж, Smart Home серверийн IP хаяг болон байршлыг зааж өгөх хэрэгтэй.

Илүү олон үйлчлүүлэгчид

Сервер програм нь энгийн вэб сервер юм. Энэ нь энгийн вэб дуудлага хийх замаар хүссэн үйлчлүүлэгчийнхээ үйлдлийг идэвхжүүлэх боломжийг танд олгоно. Демо видео дээр би Android програмын даалгаврыг AutoVoice-тэй хослуулан харуулдаг. Энэ нь надад энгийн дуут командын тусламжтайгаар үйл явдлыг өдөөх боломжийг олгодог. Жишээлбэл "ok google, унтах цаг" нь mobile.go_to_bed -ийг өдөөж болно. Гэхдээ та жишээ нь IFTTT-с вэб дуудлага хийх боломжтой. Имэйлээр мэдэгдэх шар өнгийн анивчдаг LED зурвасыг яах вэ?

Та серверээс дараах холбоосууд гэх мэт боломжтой вэб дуудлага хийхийг хүсч болно (тохиргоогоороо ip, порт, токеныг орлуулах).

localhost: 5061/controlcenter/api? token = secu…

localhost: 5061/action/api? token = security-to…

localhost: 5061/mediaserver/api? token = securi…

localhost: 5061/switch/api? token = security-to…

localhost: 5061/ledstrip/api? token = аюулгүй байдал …

Алхам 5: Дүгнэлт

Хэрэгжүүлэх зарим онцлог шинж чанарууд байсаар байна: Сервер нь энгийн вэб-api үйлчлүүлэгчдийг санал болгодог тул маш олон санал асуулга хийдэг. Санал асуулгыг багасгахын тулд илүү сайн мэдэгдэхийн тулд MQTT -ийг нэгтгэхийг хүсч байна. Wifi цахилгаан хангамж нь rc цахилгаан хангамжаас илүү найдвартай ажиллах ёстой, учир нь rc бол нэг талын харилцаа холбоо юм.

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

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