Taula de continguts:
- Pas 1: coses que necessiteu
- Pas 2: prepareu Raspberry Pi per a 433 MHz
- Pas 3: configureu el servidor Smart Home
- Pas 4: configureu els clients
- Pas 5: Conclusió
Vídeo: Smart Home de Raspberry Pi: 5 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:10
Ja hi ha diversos productes que fan que el vostre pis sigui més intel·ligent, però la majoria són solucions propietàries. Però, per què necessiteu una connexió a Internet per canviar una llum amb el vostre telèfon intel·ligent? Aquesta va ser una de les raons per la qual vaig crear la meva pròpia solució Smart Home.
He programat una aplicació de servidor que s’executa en un Raspberry Pi. Es tracta d'un projecte de codi obert basat en Java que us permet configurar el vostre pis i connectar diversos clients i "unitats controlables". Mostro una solució que gestiona els commutadors d’alimentació rc, reprodueix música i vídeo al Raspberry Pi, mostra l’estat del mirall intel·ligent i es pot controlar mitjançant una aplicació per a Android i dues aplicacions de còdols. La font està allotjada a github
Pas 1: coses que necessiteu
Per configurar Smart Home, necessiteu els següents "ingredients"
- Raspberry Pi com a mínim model 2 B.
- Remitent de 433 MHz, una cosa així
- 3 cables de pont que connecten el Raspberry Pi i el remitent
- Algunes preses de radiocontrol a 433 MHz
- Smartphone Android per executar l'aplicació client
A més, podeu ampliar Smart Home amb més clients i unitats opcionals com aquesta
- Rellotge intel·ligent Pebble
- Smart Mirror, vegeu aquest projecte
- Tira LED controlada a 433 MHz, consulteu aquest
Pas 2: prepareu Raspberry Pi per a 433 MHz
En els passos següents, heu d’accedir a la línia d’ordres del Raspberry Pi. Per obtenir l'accés, podeu llegir aquest instructiu
Connecteu el remitent de 433 MHz amb el Raspberry Pi tal com es mostra a la imatge superior
- GND (remitent) 6 GND (raspi)
- VCC (remitent) 2 + 5V (raspi)
- DADES (remitent) 11 GPIO 17 (raspi)
Connecteu també una antena de 17 cm al pin ANT (remitent). Això augmenta significativament el senyal.
Com que necessitem algunes biblioteques d'altres repositoris git, hem d'instal·lar git
sudo apt-get install git-core -y
Per configurar el Raspberry Pi per a la comunicació de 433 MHz, necessitem la biblioteca de cablejat Pi per a un millor maneig dels GPIO.
git clonar git: //git.drogon.net/wiringPi
cablejat cdPi./build
Llavors necessitem una biblioteca que implementi protocols de subministrament d'energia típicament rc.
git clonar git: //github.com/dabastynator/rcswitch-pi.git
cd rcswitch-pi fa cp enviar / usr / bin /
L'executable "enviar" us permet enviar codis per canviar la majoria de les fonts d'alimentació disponibles.
A la configuració de la meva casa intel·ligent, també tinc una tira de LED rc descrita en aquesta instrucció: https://www.instructables.com/id/RC-controlled-LED… Per configurar els colors d’aquesta tira de LED, necessiteu un altre executable d’enviament que us permeti per enviar qualsevol valor enter (que codifiqui el color).
Per tant, compileu sendInt.cpp al repositori rcswitch-pi i moveu-lo a / usr / bin / sendInt.
sudo g ++ sendInt.cpp -o / usr / bin / sendInt /home/pi/rcswitch-pi/RCSwitch.o -I / home / pi / rcswitch-pi -lwiringPi
Ara hauríeu de poder enviar ordres rc amb els dos executables / usr / bin / send i / usr / bin / sendInt
Pas 3: configureu el servidor Smart Home
Primer de tot, heu d’instal·lar diversos paquets. L’aplicació Smart Home es basa en Java i funciona bé amb openjdk-11. No estic segur d'altres entorns d'execució de Java. El mplayer és un reproductor de música de línia d'ordres minimalista. L'omxplayer utilitza els gràfics de Raspberry Pi per a la codificació de vídeo, de manera que s'hauria d'utilitzar per als vídeos. Es necessita la formiga del programa per crear l'aplicació Java.
sudo apt-get install mplayer omxplayer openjdk-11-jdk ant -y
Configureu els directoris per al fitxer jar i per als registres.
sudo mkdir / opt / neo
sudo chown pi: pi / opt / neo mkdir / home / pi / Logs
Configureu el script d’inici per iniciar l’aplicació automàticament en arrencar. Per tant, copieu l’escriptori smart-home adjunt al directori /etc/init.d/ També he creat un script a / usr / bin / que envia les ordres a l’escript adjunt, de manera que només entro a smart-home a la consola per executar ordres..
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
Ara és hora de comprovar el dipòsit i crear l'aplicació. Si no voleu compilar-lo vosaltres mateixos, només podeu descarregar el smarthome.jar adjunt i moure-lo a / opt / neo /
git clon [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 /
Proveu d'iniciar el smart-home i comproveu el fitxer de registre. Per obtenir accés als GPIO, haureu d'iniciar l'aplicació amb sudo.
sudo smart-home start
cat Logs / smarthome.log
Hauríeu de veure el missatge d'error No existeix el fitxer de configuració que ens indica el pas següent. El dipòsit conté un fitxer readme que explica el fitxer de configuració. Podeu veure-ho molt bé a github:
Copieu aquest xml a /home/pi/controlcenter.xml i, a continuació, configureu la ubicació del servidor de suports i canvieu el contingut segons el necessiteu. Un cop hàgiu acabat la configuració i reiniciat el smart-home (sudo smart-home restart), hauríeu de veure el següent contingut a smarthome.log
24.05-08: 26 INFORMACIÓ REMOTA per de.neo.smarthome.cronjob. CronJob@15aeb7ab: Programació del treball cron
24.05-08: 26 INFORMACIÓ REMOTA per [trigger.light]: Espereu 79391760 ms per a l'execució 24.05-08: 26 RMI INFORMATION mitjançant Add web-handler (5061 / ledstrip) 24.05-08: 26 RMI INFORMATION per 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 INFORMACIÓ RMI del servidor web Start amb 5 gestors (localhost: 5061) 24.05-08: 26 INFORMACIÓ REMOTA de Controlcenter: Afegiu 1. unitat de control: MyUnit (xyz) …
El servidor web s'executa ara:-)
Pas 4: configureu els clients
Client Android per a telèfons intel·ligents
El dipòsit git de l’aplicació smart-home també conté l’origen del client Android, de manera que podeu compilar-lo vosaltres mateixos. Però he adjuntat l’APK d’aquest pas, cosa que ho fa més fàcil. La primera vegada que inicieu l'aplicació, us demana un servidor, com a la primera imatge superior. Introduïu l'URL del servidor i el testimoni de seguretat.
Això hauria de ser. Ara teniu accés al servidor i controleu el pis, reproduïu música i mireu vídeos de forma remota al vostre Raspberry Pi. Tingueu en compte que podeu afegir ginys a la pantalla d'inici, cosa que fa que els commutadors i el control de la música siguin més accessibles.
Client Smartwatch Pebble
La font dels dos clients de còdols està allotjada a github. Una aplicació mostra el fitxer de reproducció de música actual: https://github.com/dabastynator/PebbleRemoteMusic … Això també us permet posar en pausa / reproducció i pujar / baixar de volum.
La segona aplicació activa tres accions: https://github.com/dabastynator/PebbleControl Els noms dels activadors són: mobile.come_home mobile.leaving i mobile.go_to_bed. Si definiu les regles d'esdeveniments per a aquest activador a la configuració-xml, les activeu al vostre rellotge.
Tot és de codi obert, però no cal que el compileu vosaltres mateixos, també he adjuntat les aplicacions de còdols. Descarregueu els PBW amb el vostre telèfon intel·ligent; el telèfon els hauria d’instal·lar al rellotge. Les aplicacions de còdols necessiten configuracions per parlar amb el servidor. He adjuntat una captura de pantalla de l'aspecte de la meva configuració.
Client Garmin de rellotge intel·ligent
També hi ha un client disponible per als rellotges intel·ligents Garmin. L’aplicació està disponible a la botiga d’aplicacions de Garmin Connect i es pot instal·lar aquí:
apps.garmin.com/en-US/apps/c745527d-f2af-4…
Client Smart Mirror
Ja he creat una instrucció que explica com crear l’Smart Mirror; vegeu aquest https://www.instructables.com/id/Smart-Mirror-by-R …. El codi font també s’allotja a github: https:// github.com/dabastynator/SmartMirror. El programari de l’Smart Mirror llegeix la configuració del fitxer smart_config.js que no forma part del dipòsit de git. El contingut del fitxer de configuració hauria de ser el següent:
var mOpenWeatherKey = 'clau-oberta-del-temps';
var mSecurity = 'el vostre token de seguretat';
També heu d’ajustar les dues primeres línies del fitxer smart_mirror.js per especificar l’adreça IP del servidor Smart Home i la ubicació per obtenir el temps adequat.
Més clients
L’aplicació de servidor és un servidor web senzill. Això us permet activar accions de qualsevol client que vulgueu mitjançant simples trucades web. Al vídeo de demostració mostro el tasker d'aplicacions per a Android en combinació amb AutoVoice. Això em permet activar esdeveniments amb ordres de veu senzilles. Per exemple, "ok google, temps per dormir" pot activar mobile.go_to_bed. Però també podeu fer trucades web, per exemple des de IFTTT. Què tal una tira LED parpellejant de color groc per a la notificació per correu electrònic?
Podeu sol·licitar al servidor possibles trucades web, com ara els següents enllaços (substituïu IP, port i testimoni per la vostra configuració)
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 = security- …
Pas 5: Conclusió
Encara hi ha algunes funcions per implementar: atès que el servidor proporciona només una senzilla web-api, els clients fan moltes consultes. Per reduir el vot, vull una integració MQTT per a una millor notificació. També les fonts d’alimentació wifi haurien de ser més fiables que les fonts d’alimentació rc, ja que rc és només una comunicació de sentit únic.
Es fa molt divertit desenvolupar aquest projecte. I és bastant interessant controlar el pis mitjançant diversos dispositius, fins i tot si la connexió a Internet es falla.
Recomanat:
Smart Home With Arduino: 11 passos (amb imatges)
Casa intel·ligent amb Arduino: Hola. Us mostraré com construir la vostra pròpia casa intel·ligent. Mostra la temperatura tant a l'interior com a l'exterior, si la finestra està oberta o tancada, mostra quan plou i fa alarma quan el sensor PIR detecta el moviment. He fet l'aplicació a l'android per
Tutorial Do Projeto Final Do Curso IoT Aplicada a Smart Home Inatel / Novembre 2017: 4 Passos (amb imatges)
Tutorial Do Projeto Final Do Curso IoT Aplicada a Smart Home Inatel / Novembre 2017: No development desse projecteto was used uma plataforma hibrida, sem a necessity of access os plataformas nativas do Android ou do IOS. S'ha utilitzat un ordinador portàtil amb Windows 10. Essa plataforma chama-se Ionic, q
Com desmuntar un ordinador amb passos i imatges senzills: 13 passos (amb imatges)
Com desmuntar un ordinador amb passos i imatges senzills: és una instrucció sobre com desmuntar un ordinador. La majoria dels components bàsics són modulars i fàcilment eliminables. Tanmateix, és important que us organitzeu al respecte. Això us ajudarà a evitar la pèrdua de peces i també a fer el muntatge
GO-4 Smart Home Arduino Bot: 7 passos (amb imatges)
GO-4 Smart Home Arduino Bot: en aquest projecte us mostraré com construir un Smart Home Bot mitjançant la tecnologia IOT per controlar els electrodomèstics remotament a través d’Internet. Però abans de començar parlem d’aquesta tècnica tal com l’utilitzàvem fer … Què és el IOT? Th
Google Home de bricolatge amb altaveu Bluetooth al hub d'acoblament zero Raspberry Pi: 7 passos (amb imatges)
Google Home de bricolatge amb altaveu Bluetooth al hub d’acoblament zero Raspberry Pi: tenim un instructiu a Amazon Amazon Echo Alexa - Alexa Voice Assistant al hub d’acoblament zero Raspberry Pi. Aquesta vegada us volem mostrar com podeu construir un Google Home DIY. En aquesta instrucció, us mostrarem com instal·lar i configurar l'Assistent de Google