Мазмуну:

Raspberry Pi тарабынан Smart Home: 5 кадам (Сүрөттөр менен)
Raspberry Pi тарабынан Smart Home: 5 кадам (Сүрөттөр менен)

Video: Raspberry Pi тарабынан Smart Home: 5 кадам (Сүрөттөр менен)

Video: Raspberry Pi тарабынан Smart Home: 5 кадам (Сүрөттөр менен)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Ноябрь
Anonim
Raspberry Pi тарабынан Smart Home
Raspberry Pi тарабынан Smart Home

Ал жерде сиздин квартираңызды акылдуураак кылган бир нече продукт бар, бирок алардын көбү менчик чечимдер. Бирок эмне үчүн смартфонуңуз менен жарыкты алмаштыруу үчүн интернет байланышы керек? Бул менин Smart Home чечимимди түзүүгө бир себеп болду.

Мен Raspberry Piде иштеген сервердик тиркемени программаладым. Бул java негизделген ачык булак долбоору, бул сиздин батириңизди конфигурациялоого жана бир нече кардарларды жана "башкарылуучу бирдиктерди" туташтырууга мүмкүндүк берет. Мен rc электр менен камсыздоо өчүргүчтөрүн иштетүүчү, Raspberry Piде музыка жана видеону ойнотуучу, акылдуу күзгүнүн статусун көрсөтүүчү жана андроид тиркемеси жана эки шагыл колдонмосу аркылуу башкарыла турган чечимди көрсөтөм. Булак githubда жайгашкан

1 -кадам: Сизге керектүү нерселер

Сиз керек
Сиз керек

Акылдуу үйдү орнотуу үчүн сизге төмөнкү "ингредиенттер" керек

  • Raspberry Pi жок дегенде модели 2 Б.
  • 433 МГц жөнөтүүчү, ушул сыяктуу
  • Raspberry Pi менен жөнөтүүчүнү туташтыруучу 3 кабель
  • Кээ бир радио башкаруу розеткалары 433 МГц
  • Android смартфону кардар тиркемесин иштетет

Мындан тышкары, сиз Smart Home'ду ушул сыяктуу кошумча кардарлар жана бирдиктер менен кеңейте аласыз

  • Pebble акылдуу сааты
  • Smart Mirror, бул долбоорду караңыз
  • 433 МГц көзөмөлдөгөн LED тилкеси, бул https://www.instructables.com/id/RC-controlled-LE… караңыз

2 -кадам: 433 MHz үчүн Raspberry Pi даярдаңыз

Raspberry Pi'ни 433 МГцке даярдаңыз
Raspberry Pi'ни 433 МГцке даярдаңыз
Raspberry Pi'ни 433 МГцке даярдаңыз
Raspberry Pi'ни 433 МГцке даярдаңыз

Кийинки кадамдарда Raspberry Piдеги буйрук сабына кирүү керек. Мүмкүнчүлүк алуу үчүн, бул инструктивдүү https://www.instructables.com/id/Remote-SSH-access… окуй аласыз.

Жогорудагы сүрөттө көрсөтүлгөндөй 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/түзөт

"Жөнөтүү" аткарылуучу программасы көпчүлүк колдо болгон электр булактарын алмаштыруу үчүн коддорду жөнөтүүгө мүмкүндүк берет.

Менин Smart Home орнотуумда менде бул көрсөтмө менен сүрөттөлгөн rc LED тилкеси бар: https://www.instructables.com/id/RC-controlled-LED… Бул 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 Serverди орнотуу

Биринчиден, сиз бир нече пакеттерди орнотушуңуз керек. 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/акылдуу үй / $ 1 '>>/usr/bin/smart-home "sudo chmod +x/usr/bin/smart-home sudo update-rc.d акылдуу үйдүн демейки жөндөөлөрү

Эми репозиторийди текшерип, тиркемени курууга убакыт келди. Эгерде сиз аны өзүңүз түзгүңүз келбесе, анда тиркелген 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 акылдуу үй баштоо

cat Logs/smarthome.log

Кийинки кадамга багытталган конфигурация файлы жок деген ката кабарын көрүшүңүз керек. Репозиторийде конфигурация файлын түшүндүргөн readme бар. Сиз муну githubдан жакшы көрө аласыз:

Бул xml'ди /home/pi/controlcenter.xmlге көчүрүп, медиа сервериңиздин жайгашкан жерин белгилеңиз жана мазмунун сизге керектүү түрдө өзгөртүңүз. Конфигурацияны бүтүрүп, акылдуу үйдү (sudo smart-home restart) кайра баштагандан кийин, smarthome.logдо төмөнкү мазмунду көрүшүңүз керек

24.05-08: 26 REMOTE INFORMATION by de.neo.smarthome.cronjob. CronJob@15aeb7ab: Cron job cron job

24.05-08: 26 REMOTE INFORMATION 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 add 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 Start веб-сервери тарабынан 5 иштетүүчү менен (localhost: 5061) 24.05-08: 26 Controlcenter тарабынан REMOTE INFORMATION: Add 1. башкаруу блогу: MyUnit (xyz)…

Веб-сервер азыр иштеп жатат:-)

4 -кадам: Кардарларды орнотуу

Кардарларды орнотуу
Кардарларды орнотуу
Кардарларды орнотуу
Кардарларды орнотуу
Кардарларды орнотуу
Кардарларды орнотуу

Смартфон Android кардары

Акылдуу үй тиркемеси үчүн гиттин репозиторийинде андроид кардарынын булагы да бар, андыктан аны өзүңүз түзө аласыз. Бирок мен бул кадамга 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/ky-US/apps/c745527d-f2af-4…

Smart Mirror кардары

Мен буга чейин Smart Mirror түзүүнү түшүндүргөн көрсөтмө бердим, муну караңыз https://www.instructables.com/id/Smart-Mirror-by-R…. Бул булак коду дагы githubда жайгаштырылган: https:// github.com/dabastynator/SmartMirror. Акылды күзгүнүн программалык камсыздоосу гиттин репозиторийине кирбеген smart_config.js файлынан конфигурацияны окуйт. Конфигурация файлынын мазмуну бул тизмеге окшош болушу керек:

var mOpenWeatherKey = 'ачкычыңыздын ачкычы';

var mSecurity = 'your-security-token';

Ошондой эле Smart_mirror.js файлынын биринчи эки сабын Smart Home серверинин IP дарегин жана туура аба ырайын алуу үчүн жайгашкан жерин көрсөтүү үчүн тууралашыңыз керек.

Дагы кардарлар

Сервер тиркемеси жөнөкөй веб -сервер. Бул сиз каалаган веб-чалуулар аркылуу каалаган кардарыңыздан аракеттерди баштоого мүмкүндүк берет. Демо-видеодо мен Android колдонмосунун тапшырмасын AutoVoice менен бирге көрсөтөм. Бул мага жөнөкөй үн буйруктары менен окуяларды баштоого мүмкүнчүлүк берет. Мисалы, "ок 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? токен = коопсуздук-…

5 -кадам: Жыйынтык

Ишке ашыруу үчүн дагы деле кээ бир өзгөчөлүктөр бар: Сервер жөнөкөй веб-api кардарлары менен камсыз кылгандыктан, көп сурамжылоолорду жасашат. Сурамжылоону кыскартуу үчүн, мен жакшы кабарлоо үчүн MQTT интеграциясын каалайм. Ошондой эле wifi энергия булактары rc электр энергиясына караганда ишенимдүү иштеши керек, анткени rc бир тараптуу байланыш.

Бул долбоорду иштеп чыгуу абдан кызыктуу кылат. Жана интернет байланышы бузулса дагы, батирди бир нече түзмөктөр менен башкаруу абдан сонун.

Сунушталууда: