Мазмуну:
- 1 -кадам: Сизге керектүү нерселер
- 2 -кадам: 433 MHz үчүн Raspberry Pi даярдаңыз
- 3 -кадам: Smart Home Serverди орнотуу
- 4 -кадам: Кардарларды орнотуу
- 5 -кадам: Жыйынтык
Video: Raspberry Pi тарабынан Smart Home: 5 кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Ал жерде сиздин квартираңызды акылдуураак кылган бир нече продукт бар, бирок алардын көбү менчик чечимдер. Бирок эмне үчүн смартфонуңуз менен жарыкты алмаштыруу үчүн интернет байланышы керек? Бул менин 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деги буйрук сабына кирүү керек. Мүмкүнчүлүк алуу үчүн, бул инструктивдүү 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 бир тараптуу байланыш.
Бул долбоорду иштеп чыгуу абдан кызыктуу кылат. Жана интернет байланышы бузулса дагы, батирди бир нече түзмөктөр менен башкаруу абдан сонун.
Сунушталууда:
Адам-компьютер интерфейси: EMG колдонуп, билек кыймылы тарабынан Gripper (Kirigami тарабынан жасалган) функциясы: 7 кадам
Адам-ЭЭМ Интерфейси: Function a Gripper (Kirigami тарабынан жасалган) Билек Кыймылы EMGди колдонуп: Ошентип, бул менин компьютер-интерфейсиндеги биринчи аракетим болду. python жана arduino аркылуу жана оригами негизделген кармагычты иштетти
Arduino - Кыймылдын жетеги менен - Кийилүүчү буюм (Chronal Accelerator Tracer Overwatch тарабынан шыктандырылган): 7 кадам (Сүрөттөр менен)
Arduino - Кыймылдын жетеги менен - Кийилүүчү нерсе (Chronal Accelerator Tracer Overwatch тарабынан шыктандырылган): Бул көрсөтмө сизге акселерометрди жана Neopixel Led -шакегин туташтырууга жардам берет. Бул долбоор үчүн мен Adafruit 24bit Neopixel шакегин колдондум жана депутат
Raspberry Pi тарабынан Smart Mirror: 5 кадам (Сүрөттөр менен)
Raspberry Pi тарабынан Smart Mirror: Ошентип, суурмада колдонулбаган малина pi 1B жана колдонулбаган монитор болгон. Бул акылдуу күзгүнү түзүүгө жетиштүү себеп. Күзгү убакытты, күндү жана аба ырайын, ошондой эле акылдуу үйдүн өчүргүчтөрү жана музыкасы жөнүндө статусун көрсөтүшү керек
Xbox Controller тарабынан жүздү көзөмөлдөө жана көзөмөлдөө менен кайыр суроочу робот - Arduino: 9 кадам (сүрөттөр менен)
Xbox Controller тарабынан жүздү көзөмөлдөө жана көзөмөлдөө менен кайыр суроочу робот - Arduino: Биз кайыр суроочу робот кылабыз. Бул робот кыжырдантууга же өтүп бара жаткан адамдардын көңүлүн бурууга аракет кылат. Бул алардын жүздөрүн аныктап, аларга лазер менен атууга аракет кылат. Эгер роботко тыйын берсеңиз, ал ыр ырдайт жана бийлейт. Роботко керек болот
ARDUINO YUN тарабынан башкарылган ROOMBA STEFANO DALL'OLIO тарабынан Wifi App аркылуу: 4 кадам (Сүрөттөр менен)
ROOMBA Driveed by ARDUINO YUN Via Wifi App by STEFANO DALL'OLIO: Бул колдонмодо Wifi аркылуу Roomba айдап чыгуу үчүн ARDUINO YUNду Roomba менен туташтыруу үчүн кодду бөлүшөм. Код жана колдонмо толугу менен өзүм түзүп, Стефано Далл тарабынан иштелип чыккан Olio.My Roomba бул Roomba 620, бирок ошол эле кодду башка Roomb үчүн колдонсоңуз болот