Taula de continguts:
- Pas 1: què necessiteu
- Pas 2: configureu els punts de venda
- Pas 3: configureu un compte de PubNub
- Pas 4: prepareu Raspberry Pi
- Pas 5: Creació del circuit
- Pas 6: Obteniu els codis RF
- Pas 7: Execució del programa
- Pas 8: executar-se a l'inici
- Pas 9: afegir més commutadors
- Pas 10: Prendre-ho més enllà
- Pas 11: Crèdits
Vídeo: Domòtica econòmica i eficaç amb Raspberry Pi: 11 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Sempre he volgut poder controlar els llums sense fils, però les opcions comercials solen ser costoses. Els llums Philips Hue costen uns 70 dòlars i els llums connectats a WiFi també són cars. Aquest tutorial us explicarà com controlar fins a cinc llums / làmpades / fils de llum de Nadal per uns 50 dòlars i es pot ampliar per incloure-hi també més llums.
Pas 1: què necessiteu
Materials:
Raspberry Pi Zero W (edició sense fils)
Targeta Micro SD (com a mínim 4 GB)
Cable / convertidor Mini HDMI a HDMI (hi ha una diferència entre mini i micro, assegureu-vos d’aconseguir el correcte!)
Cable / convertidor de micro USB a USB
Teclat USB
Nota: Vaig obtenir un kit d’inici Raspberry Pi Zero W d’Amazon que venia amb Raspberry Pi Zero W, targeta SD, estoig, cable d’alimentació, convertidor HDMI i convertidor USB. Per només 30 dòlars, és una bona opció (enllaç)
Podeu utilitzar un model diferent de Raspberry Pi, però el Raspberry Pi ha de tenir algun tipus de connexió a Internet i el Pi Zero W és l’opció més barata.
Preses remotes: les he fet servir
Transmissor i receptor de RF (Nota: la freqüència del transmissor / receptor ha de coincidir amb la freqüència de les preses remotes): he utilitzat aquests
Filferro per a antena (he utilitzat filferro de coure de nucli sòlid de calibre 22, pot funcionar un altre fil)
Taula de pa, cables de pont, capçalera home a home de 40 pins
Programari:
Sistema operatiu Raspberry Pi (descarregar Raspbian Desktop)
Imager de disc Etcher (per escriure el sistema operatiu Pi a la targeta SD)
Eines:
Soldador
Ordinador per descarregar Pi OS i Etcher
Pas 2: configureu els punts de venda
Comenceu endollant els endolls a una presa de corrent. Seguiu les instruccions incloses per configurar-les i connecteu els llums / electrodomèstics. Assegureu-vos que el comandament està correctament emparellat i que controla els endolls.
Pas 3: configureu un compte de PubNub
PubNub és un servidor d’internet gratuït que us permet comunicar-vos entre dispositius a qualsevol part del món. L'escriptura python rep missatges d'una pàgina web i utilitza la informació del missatge per encendre o apagar els llums. Podeu inscriure-us al vostre compte gratuït aquí. Un cop us hàgiu registrat, inicieu la sessió al vostre compte. Això us portarà a una pàgina de gestió d'aplicacions. Feu clic a "Crea una aplicació nova". Doneu-li un nom a l'aplicació i seleccioneu-lo a la llista d'aplicacions (si aquesta és la vostra primera aplicació, serà l'única). Això us portarà a la pàgina de claus de l'aplicació. Feu clic a "Conjunt de claus de demostració" i hauríeu de veure tres claus diferents. Mantingueu aquesta pàgina activada, necessitareu aquestes claus més endavant. Ara que ja teniu el vostre compte de PubNub, podeu configurar el vostre raspberry pi.
Pas 4: prepareu Raspberry Pi
Baixeu Etcher i el sistema operatiu Raspberry Pi al vostre ordinador (enllaços a la llista de parts)
Instal·leu Etcher a l'ordinador i descomprimiu (si cal) el sistema operatiu Raspberry Pi. Introduïu la targeta Micro SD a l'ordinador i obriu Etcher. Feu clic a "Selecciona imatge" i aneu al fitxer descomprimit Raspberry Pi OS. Seleccioneu-lo i feu clic a "Selecciona unitat" i seleccioneu la vostra targeta micro SD de la llista. Feu clic a "Flash" i espereu a completar Etcher. Un cop finalitzat Etcher, traieu la targeta SD de l'ordinador (Etcher l'expulsa automàticament) i inseriu-la al Raspberry Pi. En aquest moment, haureu de connectar el vostre Raspberry Pi a un monitor amb el convertidor HDMI. Connecteu un teclat (i un ratolí si teniu un concentrador multi-USB) i connecteu el cable d’alimentació. Hi ha dos ports micro USB. Un és per alimentar, l’altre és un port USB real. El més proper al final del Pi és el poder, mentre que el més proper al mig és el USB. El vostre raspberry pi ara començarà a arrencar. Pot reiniciar-se unes quantes vegades durant la primera arrencada, però això és normal. Un cop s'hagi iniciat el raspberry pi, connecteu-lo al vostre WiFi. Després de connectar-lo a WiFi, és possible que utilitzeu un servidor SSH, però ara em resulta més fàcil utilitzar la GUI. Obriu una finestra de terminal i introduïu aquestes ordres:
sudo pip3 instal·la 'pubnub == 3.9.0'
cd git clon git: //git.drogon.net/wiringPi clon git
clon sudo git https://github.com/timleland/rfoutlet.git / var / www / rfoutlet
sudo chown root.root / var / www / rfoutlet / codesend sudo chmod 4755 / var / www / rfoutlet / codesend
cablejat cdPi
./ construir
Ara, obriu el navegador de fitxers Raspberry Pi i hauríeu de veure la carpeta pi-home-automatització. Feu-hi doble clic i hauríeu de veure un fitxer anomenat RFControl.py. Copieu-lo (feu clic i seleccioneu "Copia") i torneu a la carpeta pi i enganxeu-lo allà.
Apagueu el raspberry pi (ja sigui al menú o executant sudo poweroff des de la línia d'ordres) i desconnecteu-lo un cop el llum verd deixi de parpellejar.
Pas 5: Creació del circuit
Ara és hora de crear el circuit. He utilitzat una taula de tall, però podeu fer-ho com vulgueu.
En primer lloc, hem de crear una antena per al transmissor de RF. Aquest tutorial instructable explica com fer una antena per a un transmissor de RF. Seguiu les instruccions i, a continuació, soldeu-lo al pin d'antena del transmissor (en el que he utilitzat tenia l'etiqueta ANT) amb el costat més curt més proper al transmissor
Connecteu el transmissor
El transmissor utilitza aquests pins:
DADES: GPIO 17, pin físic 11
VCC: Raspberry Pi 5v, pin físic 2
GND: Raspberry Pi GND, pin físic 6
Connecteu el receptor
El receptor utilitza aquests pins:
GND: Raspberry Pi GND, pin físic 9
VCC: Raspberry Pi 5v, pin físic 4
DADES: GPIO 27, pin físic 13 (Hi ha dos pins de dades al receptor que he utilitzat i he utilitzat el més proper a VCC)
Pas 6: Obteniu els codis RF
Un cop el circuit estigui connectat al vostre Raspberry Pi, comproveu-lo dues vegades per assegurar-vos que tot estigui al seu lloc i torneu a engegar-lo. Un cop encès, obriu un terminal i escriviu
sudo / var / www / rfoutlet / RFSniffer
A continuació, obriu el programa RFControl. Posar la finestra del terminal i la finestra del programa una al costat de l’altra pot ser útil en el següent pas.
Necessiteu el comandament a distància que s’inclou al kit de sortida ara. Mantingueu-lo a prop del receptor i premeu cada botó individual. En prémer un botó, veureu dos números impresos a la pantalla. Un d’ells serà un codi de sis o set dígits i l’altre un codi de 3 dígits. Haureu d’editar el diccionari de codis del programa. Introduïu el codi de 7 dígits al lloc del commutador corresponent al programa i, per a cada botó d’encès / apagat, introduïu el codi de 3 dígits (aquesta és la longitud) a la len del commutador corresponent al programa.
Per exemple, si l’interruptor 1 activat té un codi 1234567, un codi apagat 7654321 i una longitud de 890, el codi tindria aquest aspecte:
codis = {
'switch1': {'on': 1234567, # This is switch 1 on 'off': 7654321, #this is switch 1 off 'len': 890, #this is switch 1 code length}, 'switch2': {… }, …}
Repetiu-ho per a cada botó. Mentre editeu aquest fitxer, canvieu les cadenes que diuen "YOUR-SUB-KEY" a la vostra clau de subscripció de PubNub i "YOUR-PUB-KEY" a la vostra clau de publicació.
Un cop s'hagi gravat cada botó, podeu continuar amb la secció següent.
Pas 7: Execució del programa
Ara que teniu tots els codis, aneu a aquesta pàgina de GitHub (a l'ordinador, no raspberry pi) i feu clic al botó verd que diu "Clona o descarrega" i, a continuació, feu clic a "Descarrega ZIP". Un cop descarregat aquest fitxer, descomprimiu-lo i obriu la carpeta. Obriu el fitxer anomenat main.js. Haureu d'introduir les vostres claus de subscripció i publicació al programa substituint "YOUR-PUB-KEY" per la vostra clau de publicació i "YOUR-SUB-KEY" amb la vostra clau de subscripció.
A continuació, torneu al vostre Raspberry Pi i entreu
python3 RFControl.py
Quan imprimiu "A punt", torneu al vostre ordinador i obriu el fitxer index.html en un navegador web fent un clic oposat, seleccioneu "Obre amb" i seleccioneu el navegador preferit. Hauríeu de veure 2 columnes de 5 botons, amb els noms dels commutadors entre ells. Premeu qualsevol dels botons. Si controla correctament el sòcol, fantàstic! Si no, aquí teniu algunes coses a provar:
- Assegureu-vos que el Raspberry Pi rebi missatges. S’ha d’imprimir a la pantalla sempre que rep un missatge de la pàgina web. Si no, assegureu-vos que les vostres claus de subscripció / publicació són correctes.
- Si el Raspberry Pi rep missatges, assegureu-vos que els codis de RF són correctes. Assegureu-vos que els punts de venda estan emparellats amb el comandament a distància, que el control remot els pot controlar i que els codis que heu introduït al programa són correctes.
- Si els codis de RF són correctes, assegureu-vos que el vostre Raspberry Pi estigui a l’abast dels punts de venda. Si comencen a funcionar després d’apropar-la, potser haureu de tornar a fer l’antena.
- Si encara no funcionen, digueu-me el vostre problema als comentaris i intentaré ajudar-vos-hi.
Pas 8: executar-se a l'inici
Per fer que el vostre programa Python s'executi a l'inici, introduïu-lo al vostre terminal de raspberry pi:
crontab -e
A continuació, aneu a la part inferior del fitxer i introduïu això:
@reboot python3 /home/pi/RFControl.py &
Això farà que el vostre script Python s’executi cada cop a l’inici. Ara reinicieu el Raspberry Pi.
Pas 9: afegir més commutadors
Si voleu afegir més punts de venda, seguiu aquestes instruccions:
Obriu RFControl.py al vostre Raspberry Pi i afegiu un nou commutador al diccionari de commutadors.
Exemple:
commutadors = {
… altres commutadors … "NAME-OF-SWITCH": {'on': xxxxxxx, 'off': aaaaaaa, 'len': zzz,},}
A continuació, afegiu un botó nou a la vostra aplicació web editant la variable switches de main.js a l'ordinador.
Exemple:
var commutadors = [… antics commutadors … ['NOM-A-DISPLAY', 'NOM-DE-INTERRUPTOR'],];
Substituïu NAME-TO-DISPLAY pel nom que vulgueu que es mostri a la pàgina web i NAME-OF-SWITCH a tots dos fitxers per qualsevol cosa que vulgueu. Deu ser únic dels altres.
Pas 10: Prendre-ho més enllà
PubNub és compatible amb moltes plataformes diferents, cosa que significa que podeu enviar missatges des de gairebé qualsevol dispositiu. He utilitzat un kit de veu Raspberry Pi AIY i PubNub per enviar ordres amb la meva veu, però pot ser que aquest sigui el tema d’un instructable posterior. Gràcies per llegir el meu Instructable, espero que sigui útil.
Pas 11: Crèdits
Gràcies a Tim Leland pel tutorial sobre la configuració del transmissor de RF: tutorial
Gràcies a diy_bloke pel tutorial sobre la creació d’una antena: tutorial
Gràcies també a qualsevol altra persona que hagi publicat tutorials en línia que he vist per obtenir ajuda.
Recomanat:
Desenvolupament Java eficaç per al Raspberry Pi: 11 passos (amb imatges)
Desenvolupament Java eficient per a Raspberry Pi: aquest manual descriu un enfocament molt eficient per desenvolupar programes Java per a Raspberry Pi. He utilitzat aquest enfocament per desenvolupar capacitats Java que van des del suport de dispositius de baix nivell fins a programes basats en xarxes i multi-threads. L'apr
Llum de creixement led eficaç impresa en 3D de 30 dòlars: 4 passos
Llum LED de creixement eficaç imprès en 3D de 30 dòlars: es tracta d’una petita llum LED impresa en 3D que he fet per a la meva planta d’interior de verdures. Dissenyada per ser el més barata possible i deixar-vos cultivar el vostre propi menjar, però per donar la màxima eficiència i no implicar-ne cap soldar. És perfecte per aixecar poc llum
La forma més eficaç d'augmentar el rang de Bluetooth: 3 passos
La manera més eficaç d’incrementar el rang de Bluetooth: no odiem tots aquell límit de 30 peus per als transceptors Bluetooth de baixa potència? Sé que ho faig especialment pel meu mòdul Viper Bluetooth Smart Start instal·lat recentment al meu cotxe. Http://www.instructables.com/id/StartStop-LockUnlock-my-car-from-my-phone/I
Interfície multi-tàctil econòmica (realment econòmica): 3 passos
Interfície multi-tàctil econòmica (realment econòmica): aquesta és la meva primera instrucció, així que si us plau, estigueu bé. Així és com es crea una interfície multitàctil des del vostre escriptori per molt pocs diners. Finalment he penjat un vídeo, disculpeu la mala velocitat de fotogrames que el meu ordinador portàtil no és tan bo
Il·luminació LED per a habitacions ràpida, ràpida, econòmica i amb bon aspecte (per a qualsevol persona): 5 passos (amb imatges)
Il·luminació LED d’habitacions ràpida, ràpida, econòmica i de bon aspecte (per a qualsevol persona): Benvinguts a tots :-) Aquesta és la meva primera instrucció, així que els comentaris són benvinguts :-) El que espero mostrar-vos és com fer una il·luminació LED ràpida TINY buget.Què necessiteu: CableLEDsResistors (510Ohms per a 12V) GrapesSoldador de ferroTalladores i altres bases