Come hackerare un telecomando RF Rolling code con Raspberry o NodeMCU
L'angolo dei lettori
Scritto da Vincenzo Caputo
Benvenuti nella rubrica "l'angolo dei lettori". Questo spazio è una sezione del blog che permette a chiunque di scrivere un articolo o realizzare un video, effettuare prove e test che riguardano il mondo della tecnologia e proporne la pubblicazione su queste pagine.
Oggi Nicola Bertelli, che ringraziamo per questa splendida guida, ci spiegherà come poter creare, in pochi semplici passaggi, un dispositivo per aprire tutti, ma proprio tutti, i vostri cancelli, cancellini, basculanti, tapparelle e tutto ciò che già gestite con dei telecomandi sia condominiali che unifamiliari, indipendentemente dal fatto che siano rolling-code o meno. Inoltre Nicola ci spegherà come interfacciare il tutto con Home Assistant.
Nello specifico andremo a modificare un vostro telecomando preesistente, per poter essere gestito con un Raspberry o se preferite con un Nodemcu.Attenzione I: la guida in questione si riferisce ad un radiocontrollo con alimentazione a 12v, quindi verificate che la batteria inserita lavori appunto con tale tensione; nonostante ciò, con qualche piccola modifica, è possibile gestire anche alimentazioni diverse.Attenzione II: con la procedura seguente non sarete più in grado di riutilizzare il vostro comando a distanza come fate abitualmente e soprattutto, in caso di disattenzione, rischierete di distruggerlo per sempre e di doverlo cestinare.
LISTA DELLA SPESA:
Raspberry pi, consiglio il modello zero W sia per il prezzo che per il consumohttps://amzn.to/2RpiM3a
in alternativa un Nodemcu se preferite...https://amzn.to/2zoYKyY
relè, solitamente quelli che vanno bene per il Raspberry vanno anche con Nodemcuhttps://amzn.to/2BCxb6R
ogni relè corrisponderà ad un pulsante del nostro telecomando, quindi in base a quanti comandi volete rappresentare acquistate il modulo che più vi interessa
connettorihttps://amzn.to/2zsnVkk
Cavetti jumper:https://amzn.to/2PVNC70
Alimentatore 12v 450-500 mAhttps://amzn.to/2ztbBQA
oppure https://amzn.to/2DNMdIk
regolatore di tensione da 12 a 5 vhttps://amzn.to/2DL8aYF
saldatore a stagnohttps://amzn.to/2DOpj3v
come prima cosa andiamo a preparare il nostro telecomando in modo da poterlo inserire nel nostro dispositivo: smontiamolo e andiamo ad individuare i due poli di alimentazione del comando a distanza, per far questo è sufficiente osservare la batteria che state togliendo, + della batteria rappresenta il positivo il - il negativo (ovvio….)
Ora andremo ad eseguire una prima saldatura di un filo al polo positivo ed uno al polo negativo, per poi inserirli in un connettore maschio
Come secondo step andremo ad individuare i pin di saldatura del pulsante che vogliamo controllare, nel mio caso è quello in basso a destra,in quel punto andremo a saldare altri due fili
Il risultato finale è una cosa simile a questa (non è lo stesso tipo di telecomando)
i due fili saldati alla base del pulsante dovranno essere inseriti nel relè, nel normalmente aperto
Ora entra in gioco il nostro regolatore di tensione: nelle due entrate avremo collegati l’alimentatore 220v - 12v e il jack che porta tensione al telecomando, nell’uscita troveremo due jumper che alimentano il Raspberry o il NodeMCU
il positivo all’uscita del regolatore andrà quindi collegato ad uno dei due 5v del Raspberry, il negativo ad un GND.
Se state usando un NodeMCU andrete a scegliere il pin a 5v ed un GND
Infine dovremo portare alla scheda relè un 5v, un GND ed un’uscita di controllo dalla scheda da noi scelta. Per il codice di esempio che troverete più avanti, io ho scelto il pin 20 per il Raspberry, il pin 2 per il Nodemcu
Ora possiamo portare corrente al nostro alimentatore da 12v e, se tutto è andato per il verso giusto, vedremo accendersi la nostra scheda.
PROGRAMMAZIONE DEL RASPBERRY
Per dubbi sulla gestione dei pin, sull’installazione di Rasbian e sulle varie configurazioni per accedere al Raspberry da remoto vi consiglio di andare qui,
Portiamoci a questo indirizzo cancello scarichiamo i due file, creiamo una cartella cancello sul Raspberry
mkdir cancello
ed al suo interno mettiamo i due file.Portiamoci a questo indirizzo avvio scarichiamo il file e carichiamolo nella directory principale del Raspberry
Apriamo un terminale e lanciamo il seguente comando:
sudo pip install pyyaml paho-mqtt
digitatiamo ls e dovremo vedere i file avvio.sh e la cartella cancello, adesso non ci resta che modificare il file di configurazione che ho creato:
nano cancello/config.yaml
Qui dovremo inserire l’indirizzo del vostro server mqtt, il pin dove avete collegate il relè da controllare ed il topic di comando dello switch di Home Assistant, salviamo e lanciamo il comando:
python cancello/mqtt.py e vediamo se rimanda qualche errore.
Ora dobbiamo come sempre mettere in esecuzione automatica il nostro script:sudo crontab -e
andiamo in fondo e scriviamo@reboot sh /home/pi/avvio.shsalviamo e usciamolanciamo sudo reboot
PROGRAMMAZIONE DEL NODEMCU
Scarichiamo il file per arduino dal mio link
e modifichiamolo secondo le nostre esigenze con SSD e password del wifi, indirizzo ip del server mqtt, il topic del comando di azione del pulsante e pin collegato al relè
dal seriale avremo i seguenti messaggi di corretta connessione alla nostra rete ed al server mqtt, inoltre avremo anche il nostro indirizzo ip.
Per l’occasione ho aggiunto anche un mini server web in html: se ci rechiamo alla pagina indirizzo_ip:99 premendo il pulsante AZIONE potremo lanciare il comando di apertura
PROGRAMMAZIONE HOME ASSISTANT
Se tutto è andato per il verso giusto, dobbiamo solo aggiungere in Home Assistant, tra i vostri switch, le seguenti righe:
- platform: mqtt
name: "prova cancello"
state_topic: "ciao"
command_topic: "prova/cancellino/comando"
state_on: "on"
state_off: "off"
payload_on: "azione"
qos: 0
retain: true
optimistic: false
icon: mdi:gate
Ringraziamo ancora Nicola Bertelli per questa interessantissima guida e godiamoci il video di fine articolo! Buona visione!
Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.