Мазмұны:

Ақылды үй Raspberry Pi: 5 қадам (суреттермен)
Ақылды үй Raspberry Pi: 5 қадам (суреттермен)

Бейне: Ақылды үй Raspberry Pi: 5 қадам (суреттермен)

Бейне: Ақылды үй Raspberry Pi: 5 қадам (суреттермен)
Бейне: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Қараша
Anonim
Raspberry Pi ақылды үйі
Raspberry Pi ақылды үйі

Сіздің пәтеріңізді ақылды ететін бірнеше өнімдер бар, бірақ олардың көпшілігі жеке шешімдер болып табылады. Бірақ смартфонмен жарықты ауыстыру үшін неге интернет байланысы қажет? Бұл менің жеке Smart Home шешімімді құрудың бір себебі болды.

Мен Raspberry Pi -де жұмыс істейтін серверлік бағдарламаны бағдарламаладым. Бұл сіздің пәтеріңізді конфигурациялауға және бірнеше клиенттер мен «басқарылатын қондырғыларды» қосуға мүмкіндік беретін java негізіндегі ашық бастапқы жоба. Мен RC қуат көзінің қосқыштарын басқаратын, Raspberry Pi -де музыка мен бейнені ойнататын, смарт -айнадағы күйді көрсететін және оны андроид қосымшасы мен екі қиыршық тасты қолданба басқаратын шешімді көрсетемін. Дерек көзі github -да орналасқан

1 -қадам: Сізге қажет заттар

Сізге қажет заттар
Сізге қажет заттар

Ақылды үйді орнату үшін сізге келесі «ингредиенттер» қажет

  • Raspberry Pi кем дегенде 2 B үлгісі
  • 433 МГц жіберуші, осындай нәрсе
  • Raspberry Pi мен жіберушіні қосатын 3 өтпелі кабель
  • Кейбір радио бақылау розеткалары 433 МГц
  • Android смартфоны клиенттік қосымшаны іске қосады

Сонымен қатар, сіз Smart Home мүмкіндігін қосымша клиенттермен және осындай қондырғылармен кеңейте аласыз

  • Pebble ақылды сағаты
  • Smart Mirror, бұл жобаны қараңыз
  • 433 МГц басқарылатын жарықдиодты жолақ, мына https://www.instructables.com/id/RC-controlled-LE… қараңыз

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 install-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 жарық диоды бар: кез келген бүтін мәнді жіберу үшін (бұл түсті кодтайды).

Сондықтан 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 серверін орнату

Ең алдымен бірнеше пакеттерді орнату қажет. Smart Home қосымшасы java-ға негізделген және openjdk-11 көмегімен жақсы жұмыс істейді. Мен басқа java жұмыс уақыты орталарына сенімді емеспін. Mplayer-бұл командалық жолдың минималистік ойнатқышы. Omxplayer бейне кодтау үшін Raspberry Pi графикасын пайдаланады, сондықтан оны бейнелер үшін қолдану керек. Java қосымшасын құру үшін құмырсқа бағдарламасы қажет.

sudo apt-get install mplayer omxplayer openjdk-11-jdk ant -y

Jar файлына және журналдарға каталогтарды орнатыңыз.

sudo mkdir /opt /neo

sudo chown pi: pi/opt/neo mkdir/home/pi/журналдар

Бағдарламаны жүктеу кезінде автоматты түрде іске қосу үшін сценарийді конфигурациялаңыз. Сондықтан /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

ant -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 ҚАШЫҚТАН АҚПАРАТ: de.neo.smarthome.cronjob. CronJob@15aeb7ab: cron жұмысын жоспарлаңыз

24.05-08: 26 Қашықтан ақпарат [trigger.light] бойынша: 79391760 мс орындалуын күтіңіз 24.05-08: 26 RMI INFORMATION арқылы веб-өңдегіш қосу (5061/жолақ) 24.05-08: 26 RMI INFORMATION қосу арқылы веб-өңдегіш (5061) /әрекет) 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 қосу арқылы веб-өңдегіш (5061/controlcenter) 24.05-08: 26 5 өңдегішпен Start веб-сервері арқылы RMI INFORMATION (localhost: 5061) 24.05-08: 26 Controlcenter арқылы ҚАШЫҚТЫ АҚПАРАТ: Қосу 1. басқару блогы: MyUnit (xyz)…

Веб-сервер қазір жұмыс істейді:-)

4 -қадам: Клиенттерді орнату

Клиенттерді орнату
Клиенттерді орнату
Клиенттерді орнату
Клиенттерді орнату
Клиенттерді орнату
Клиенттерді орнату

Android смартфонының клиенті

Ақылды үйге арналған 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 смартфонын жүктеп алыңыз, телефон оларды сағаттарға орнатуы керек. Қиыршықтай қосымшалар сервермен сөйлесу үшін конфигурацияны қажет етеді. Мен скриншотты менің параметрлерімнің қалай көрінетінін қостым.

Garmin Smartwatch клиенті

Garmin Smartwatches үшін де клиент бар. Қолданба garmin connect қосымшалар дүкенінде қол жетімді және оны мына жерден орнатуға болады:

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

Smart Mirror клиенті

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

var mOpenWeatherKey = 'ашық-кілт-сіздің-ашық';

var mSecurity = 'your-security-token';

Сонымен қатар, Smart_mirror.js файлының алғашқы екі жолын Smart Home серверінің IP мекенжайын және ауа райын алу үшін орынды көрсету үшін реттеу керек.

Басқа клиенттер

Сервер қосымшасы - қарапайым веб -сервер. Бұл қарапайым веб-қоңыраулар арқылы кез келген клиенттен әрекеттерді бастауға мүмкіндік береді. Демо-видеода мен AutoVoice-пен бірге андроид қосымшасының тапсырмасын көрсетемін. Бұл оқиғаларды қарапайым дауыстық командалармен іске қосуға мүмкіндік береді. Мысалы, «жақсы google, ұйықтау уақыты» mobile.go_to_bed қызметін іске қосуы мүмкін. Сіз сонымен қатар, мысалы, IFTTT веб-қоңырауларын жасай аласыз. Электрондық пошта хабарламасы үшін жыпылықтайтын сары жарық диодты жолақ туралы не деуге болады?

Сіз серверден келесі сілтемелер сияқты мүмкін болатын веб-қоңырауларды сұрай аласыз (конфигурация бойынша 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 -қадам: Қорытынды

Әлі де іске асырылатын кейбір мүмкіндіктер бар: Сервер қарапайым web-api клиенттерімен қамтамасыз етілгендіктен, көп сауалнама жүргізеді. Сауалнаманы азайту үшін жақсы хабарландыру үшін MQTT интеграциясын қалаймын. Сондай -ақ, WiFi қуат көздері rc қуат көздеріне қарағанда сенімді болуы керек, себебі rc - бұл бір жақты байланыс.

Бұл жобаның дамуы өте қызықты. Пәтерді бірнеше құрылғылармен басқару өте жақсы, тіпті Интернет байланысы үзілген болса да.

Ұсынылған: