Prese SMART Con Raspberry Pi!
Вставка
- Опубліковано 8 лют 2025
- Una guida su come rendere SMART le prese di casa con il Raspberry Pi Zero (Wireless) grazie a due chip ricetrasmittenti collegati ai pin GPIO del pi, a prese radio-comandabili e ad una web-app accessibile da remoto da PC, smartphone e tablet. Suggerite nei commenti nuove idee per prossimi tutorial!
» Download Raspbian OS: www.raspberryp...
» Guida PIN del raspberry pi: pinout.xyz/
» Chip trasmettitori 433MHz: www.icstation.c...
» Sorgenti degli script python e web-app HTML+JS+PHP: github.com/gee...
» Crediti: www.instructabl...
[Intro & Outro by Various Artists released under Creative Commons]
#geekonerd #raspberrypi #tutorial #smartplugs #coding #python #diy #howto
_____
SEGUIMI SU linktr.ee/geek...
...stavolta saranno le mie doti di "ingegnere elettronico della domenica" ad intrattenervi 😂! Siete riusciti a non prendere la scossa? 😵
👉 Fatemi sapere se avete trovato utile questo video e proponete nuove tematiche! 👈
✨ NOTA ✨ In descrizione trovate un codice sconto del 15% per acquisti sullo store che mi ha fornito i chip ricetrasmittenti per il progettino... 👀 👌
I miei complimenti per la tua capacità e professionalità nelle spiegazioni, sai rendere semplici materie complesse, se nelle scuole ci fossero insegnanti cosi avremmo i nostri ragazzi molto più avanti. grazie
Ciao! Grazie mille davvero per i complimenti =)
non posso che essere d'accordo completamente con Roberto. I miei più sentiti complimenti!
Roberto Bonetto grazie mille!!! ☺️
Ottima giuda. Non so praticamente nulla di elettronica ma ho appena acquistato una RPi Zero W perché la mia l'intenzione sarebbe quella di imparare almeno le basi e la tua guida mi pare ideale per iniziare.
Grazie.
Pino Dello Iacono prego! Hai fatto bene ad acquistarlo perché ci si diverte imparando! 😊
Ogni secondo speso in questo video è un piacere in più... Bravissimo
Davide Di Rosa grazie mille! ☺️☺️
Mi ricordi il mitico Adam Kadmon con sta voce :D Bellissimi video comunque, ti spieghi bene
Ahahah grazie mille 🤗🤗
Ciao questa tecnica di sniffare i segnali può essere usata anche per replicare un telecomando di un condizionatore Mitsubishi?
Ciao, beh in generale sì. Se poi quel condizionatore usa le stesse frequenze allora puoi usare proprio gli stessi identici componenti hardware che ho utilizzato per le prese =)
Vorrei fare una cosa simile ma più semplice utilizzando un relè a 2ch che mi disattivi l'alimentazione per un certo periodo e me la riattivi dopo un tot, ci collegherei un modem/router e se il Raspberry rileva che non c'è più connessione Internet allora stacca il modem e lo riconnette dopo un minuto. Se dopo 5 minuti la connessione non è tornata ripete il ciclo fino a quando non torna la connessione. Potresti fare un tutorial su questo?
Ciao, un po' particolare come progetto... non so se avrò modo di realizzarlo, non posso promettertelo
@@geekonerd grazie comunque per la risposta e per i video che hai già fatto👍. Sarebbe più sbrigativo comprare una presa o un modulo relè ip Watchdog ma non si può personalizzare come Raspberry. Avevo in mente anche di mettere un log per controllare la connessione quando va via e quando torna (la mia non è molto stabile😅). Avendo parecchia domotica in casa un controllo attivo sulla connessione sarebbe proprio utile. Grazie ancora per il tempo che ci dedichi e a presto🖖😊
@@N1m0Y ti ringrazio per i complimenti e per il supporto! 🤗 Il fatto che mi dici che la connessione va e viene spesso implica che accenderesti e spegneresti molto spesso la presa e di conseguenza il router... Mmmm, quante volte al giorno? Perché in generale l'accensione di un dispositivo elettronico è sempre la cosa più delicata, e a forza di accendi e spegni potresti anche danneggiarlo (ipotesi remota, ma comunque da tenere in considerazione). Per il resto il progetto non è "impossibile" da realizzare: controllare un relè è fattibile col Pi (es: tutorials-raspberrypi.com/raspberry-pi-control-relay-switch-via-gpio/ il primo link che mi è capitato sottomano, ma di guide ce ne sono a bizzeffe) e anche controllare se c'è connettività (es: stackoverflow.com/questions/3764291/checking-network-connection idem come sopra è il primo link che ho trovato ma di certo non mancano risorse in rete). A quel punto puoi combinare le due cose e volendo aggiungere un piccolo DB locale (magari mongoDB come ho fatto vedere in vari altri tutorial) su cui inserire e da cui reperire tutte le informazioni che ti servono. Una volta che hai i dati su DB puoi facilmente creare un piccola dashboard, spartana a piacere, che ti mostri i dati. Diciamo che in tanti miei video ho toccato tutti questi argomenti, quindi prendendo un po' di spunti qui e lì puoi creare ciò che ti serve 💪
@@geekonerd La connessione va via quasi tutti i giorni e a volto anche 2 volte al giorno ma ho notato che se riavvio modem e router wifi poi ritorna. Ho provato con 2 modem diversi e mi fa lo stesso scherzo quindi penso che dipenda dal provider che cerca di spingermi a passare alla fibra con il relativo aumento della tariffa mensile ma io tengo duro 💪😁
Grazie per i tuoi preziosi consigli, ora studio e sicuramente riuscirò a risolvere il problema in qualche modo🤗
@@N1m0Y in bocca al lupo! 👍
Complimenti per il tutorial!!! Ho appunto una vasta quantità di prese comprate al Lidl. Al tempo pensavo di implementare un qualche tipo di domotica. Poi passano gli anni e i progetti rimangono nel cassetto. Visto che avevo un raspberry pi prima serie abbandonato, ero curioso di provare il tuo progetto. Mmmhh... riesco a sniffare e a codificare il segnale ma a quanto pare in trasmissione non trovo i giusti delay per far funzionare la presa. Chissà forse con un altro raspberry messo in ricezione potrei vedere sul grafico cartesiano quanto mi discosto dal segnale originale! Potrebbe essere un'idea?
Grazie mille per i complimenti! Beh in teoria non te ne serve un altro. Puoi fare tutto con lo stesso dispositivo, devi soltanto modificare lo script affinché legga ed invii i segnali contemporaneamente... Comunque sì il calcolo dei delay è la parte più complicata. Inoltre assicurati di essere sufficientemente vicino alle prese quando invii il segnale a meno che non aggiungi una qualche antenna per potenziare il segnale 😊
Esperimento riuscito!! Ho dovuto lavorare sugli script cambiando leggermente la disposizione e i valori dei delay. Preciso che era la prima volta che mettevo mano su degli script in python. :-) Grazie!!
Alex Volta ottimo!!
Sai consigliarmi qualche guida per imparare il calcolo binario? vorrei riuscire anche io a tradurre in binario le frequenze come fai te.
Federico Paradiso ciao, che intendi di preciso con calcolo binario? In questo caso la trasformazione in 0 ed 1 è semplicemente data dal fatto che il telecomando (e quindi le prese) invia (e quindi ricevono) una sequenza di segnali che sono di due tipi: accesso "per poco" e spento "per tanto", oppure accesso "per tanto" e spento "per poco". La stringa risultante è una sequenza di queste due possibilità. Altri fattori importanti sono le durate di quei "per tanto" e "per poco" che fortunatamente per queste precise prese sono valori costanti (tutti i "per tanto" sono sempre uguali tra loro, così come i "per poco" tra loro). Il fatto di aver deciso di usare 0 ed 1 è solo una mia convenzione, avrei potuto usare "a" e "b" e la stringa finale sarebbe stata un qualcosa tipo "abbbaaaabbb...."
si ma hai deciso di utilizzare 0 e 1 perché è linguaggio macchina no? Se sapessi come il processore (in questo caso della rpi) calcola gli 0 e gli 1 potrei capire anche io come sfruttare il binario per costruire programmi che interagiscano con le frequenze (o almeno credo).
Cmq anche a e b si possono tradurre in binario quindi tutto, quando si tratta di pc, si rapporta a quello giusto?
+Federico Paradiso mmm no, ho deciso di usare 1 è 0 semplicemente perché, come ti dicevo nell'altro commento, mi servivano due valori differenti. Per quanto riguarda le frequenze, a differenza dell'analogico i segnali digitali sono tutti rappresentabili come sequenze di 0 e 1 perché l'emettitore può essere acceso per un dato tempo o spento per un altro periodo di tempo (non c'è una via di mezzo), infatti se guardi il codice python che ho pubblicato (abbinato a questo video) quelle stringhe di 0 e di 1 (calcolate guardando "ad occhio" come il segnale viene raffigurato sul piano cartesiano) vengono usate per accendere o spegnere il pin che emetterà corrente verso il chip trasmettitore (e sarà il chip esterno al pi ad inviare il segnale sulla frequenza in cui opera).
Nei computer tutto alla fine si trasforma in sequenze binarie, è vero, ma di certo non ti serve sapere fino a quel dettaglio (e neanche a livelli decisamente superiori) per costruire programmi di qualsiasi natura. Si usano i linguaggi di programmazione che offrono librerie e strutture dati interpretabili facilmente dall'uomo, il quale si occuperà di indicare ciò che gli occorre e quel codice verrà poi trasformato in operazioni interpretabili facilmente dalla macchina
Ok allora mi consigli delle dispense per imparare a leggere e decifrare le frequenze? Grazie mille nel caso :)
mmm... Purtroppo non saprei cosa consigliarti... Hai provato a fare delle ricerche su google & co.?
La mia idea era quella di controllare la macchinetta a cialde del caffé da remoto tramite una web app (banalmente anche solo dandole il segnale di fare il caffè) , secondo te con Rasberry e possibile andarla a manipolare ?
TheBestElite6 la macchinetta o la presa a cui è connessa? Perché la seconda opzione, se la macchinetta parte appena accesa la spina, allora puoi farla facilmente... La prima no (o comunque è uno scenario più complicato, a meno che non sia già "smart" di suo)
Secondo me se riesci a far tenere premuto via qualcosa il bottone del caffè e usi questo metodo tenendo sempre la cialda inserita potrebbe anche andare
ciao, i comandi dalla webapp, come li esegue sul raspberry? tramite una ssh2_exec?
Andrea La Sorsa ciao, trattandosi di una app "locale e dimostrativa" (e sicuramente migliorabile) le chiamate sono fatte asincronamente via Ajax ad un servizio PHP che esegue gli script python con una exec classica
Ciao, grazie! Il codice è sul mio account github, puoi scaricare tutto da lì ed è linkato nella descrizione del video
Cristian Larosa beh sì, il display con touchscreen può sicuramente fare da sistema di input per il controllo delle prese ☺️☺️ anche se però occupando tutta la testata gpio non può convivere con i chip che controllano le prese... Magari usando due pi differenti la cosa può funzionare, anche se diventa un po' ridondante e forse a questo punto l'app su smartphone rimane più comoda, almeno puoi controllare le prese da qualsiasi punto ti trovi (volendo anche da fuori casa)
Ciao ottimo progetto. L'ho realizzato e ti chiedo una cosa: ho difficoltà a far accendere le prese. Per lo spegnimento invece non ho problemi ma quando invio i segnali "on" spesso non succede niente.. ho aumentato il numero di tentativi portandolo a 100 addirittura ma niente. (PS: nel codice python transmit.py c'è un errore con le variabili). Succede anche a te? Se si può risolvere, dove posso intervenire? Non dipende dal numero di tentativi né dalla distanza dal Raspberry. Grazie
Ciao, che errore c'è nelle variabili? Comunque no, a me si accendono/accendevano (è passato un po' di tempo da quando l'ho fatto) senza problemi... Puoi provare a collegare nel foro predisposto un filo di ferro o qualcosa del genere che faccia da antenna così da potenziare l'effetto, magari risolvi. Sei sicuro di aver campionato correttamente il segnale? Nelle prove iniziali mi capitava che non funzionasse, ma poi una volta catturata la giusta sequenza l'accensione delle prese è sempre avvenuta con pochissimi tentativi
Ciao grazie per la risposta. Allora, il segnale penso di averlo campionato bene anche se lo rifarò. Te lo dico perché a volte capita che funzioni. Ho inoltre già provato la soluzione dell'antenna con del rame ricavato da un jumper. Ripeto, ci riprovo col campionamento.
Ho trovato un errore nelle variabili perché tu hai dichiarato (ora i nomi precisi non li ricordo) INTERVALLO_LUNGO e INTERVALLO_BREVE. Nel codice seguente non le usi ma usi altre variabili (INTERVALLO_LUNGO_0, INTERVALLO_INTERVALLO_LUNGO_1, ecc) senza averle dichiarate, per cui avevo un errore quando provavo ad eseguire lo script.
Ciao, ok per il campionamento. Per quanto riguarda l'errore ho capito, sono i valori passati alle sleep... Evidentemente quando ho riportato il codice sulla guida (e quindi su github) ho tradotto tutto in italiano (da come li avevo scritti in inglese in partenza) generando l'errore... Correggo subito, grazie!
geek o NERD ? E di che :) alla prossima!
=D
problema...dallo smarthphone non hai un feedback dello stato delle prese. quindi non sai se sono accese o spente.
quadra privat ciao, certo ovvio. Ma non è un problema relativo né al pi, né ai sensori, né alla app, etc. Sono proprio le prese che sono fatte così ed anche utilizzandole con il telecomando "originale" non hai alcuna certezza sul loro stato. Diciamo che puoi essere sufficientemente sicuro (o ragionevolmente certo di cosa sta avvenendo) inviando il segnale di accensione/spegnimento di una data presa più volte (proprio in fase di invio impulso)
si ma quello che dicevo e che le prese smart vere costano 30 euro l una hanno ognuna un ip le puoi mettere dove ti pare e sai se sono on o off. cosi monitori. dico vale la pena questa ammazzata?
quadra privat partendo dal presupposto che questo che vedi in video è comunque un esperimento DIY non una soluzione commerciale, e che con meno di 20€ ti prendi 3 prese invece che spenderne 90 per un risultato simile, sta a te decidere. Per come la vedo io può sicuramente valerne la pena, ma dipende sempre a cosa le colleghi e che ci devi fare: io che le uso comunque, il già solo fatto di poterle controllare con lo smartphone invece che col telecomando è un vantaggio
Visto che ormai i telefoni non hanno più il trasmettitore ir si potrebbe fare un progetto simile ma con gli infrarossi in modo da controllare la tv direttamente dal telefono
Uhm, beh sì penso si possa fare :-)
Che tipo di problemi hai avuto con il display Kuman??
Cosimo Perronace ciao, ah no niente di particolarmente grave, ma mi ha impedito di rispettare i tempi per mettere online il video quindi ho dato precedenza a questo qui ☺️😉
davvero molto interessante!
sarebbe possibile utilizzare il raspberry per intervenire sulle centraline delle auto? 😱
Grazie. Sinceramente non lo so, ma così su due piedi direi di sì... =)
bene! allora mi auguro sarà uno dei tuoi prossimi tutorial 🤞😛
Ahaha chissà =)
Molto interessante come idea...
Ma non si potrebbe fare la stessa cosa com arduino??
Davide Di Rosa si si, credo ci si possa riuscire, però devi conoscere già la sequenza da inviare alla specifica presa perché altrimenti non mi viene in mente come visualizzare l'onda da cui ricavare il segnale
geek o NERD ? Grazie per la risposta, credo si possa fare qualcosa anche visualizzando direttamente il binario... La mia idea era con un modulo gsm ottenere 8 aperture rele e con queste 8 aperture mandare 8 tipi di segnale radio per appunto 8 ricevitori diversi. Ovviamente nei ricevitori messo un rele di potenza e fare quello che si vuole. Ti linko il video del tutorial col modulo gsm...
ua-cam.com/video/0UGUq2uZeoU/v-deo.html
In modo da non passare fili anche se per me non sarebbe un problema
Comunque se tu volessi realizzare l'apertura degli 8 rele esiste un'applicazione sul play store di nome "Arduino gsm controller" che in pratica manda dei messaggi di testo all'arduino impostandoli su dei pulsanti nella schermata. Davvero molto utile
Come si può fare per costruire un robot simile a cubetto?
Ciao, che intendi con cubetto?
io avrei evitato le prese radiocomandate e avrei fatto tutto da raspberry, collegando ad esempio una scheda rele' direttamente ai pin gpio...
Beh è un approccio, ma usando le prese radiocomandate puoi controllare con un solo raspberry pi tantissimi punti in casa (io ne ho 3 ad esempio). Collegando il pi direttamente alla presa o hai fili "infiniti" in giro per casa (o infilati nel muro) oppure devi usare un pi per ogni presa. Insomma pro e contro ;-)
giustissimo, io avevo pensato solo al lato economico ma a meno che uno non stia rifacendo gli impianti, e' piu opportuno usare le prese radiocomandate come suggerivi tu! grazie per la delucidazione !
Figurati! Comunque è un approccio sensato anche quello suggerito da te: ad esempio in un video che ho pubblicato tempo fa, ho mostrato un progettino realizzato da un amico che ha utilizzato un pi per controllare l'apertura/chiusura della serranda del garage. E lì c'era appunto un solo pi per quella singola presa ;-)
un espansione della tua idea potrebbe essere quella di comandare un condizionatore, copiando i codici del suo telecomando !
Sì, certo: tutto ciò che utilizza la frequenza 433 MHz può già essere "catturato" e "replicato" con quegli stessi chip che ho utilizzato nel video (termostati, condizionatori e quant'altro funzioni con telecomando remoto). Altrimenti occorrono chip che utilizzano quella corretta, ma in generale è fattibile =)
Figata assurda, ma estremamente complicato per i miei gusti.
Roy ciao 😊 in realtà è più facile di quel che sembra, certo ci vuole un po' di smanettamento, ma la soddisfazione alla fine è tanta 👍
geek o NERD ? pensa che sono un perito informatico... o meglio, 20 anni fa lo ero... ma ormai sono un rottame xD
Roy il pi è fatto proprio per smanettare e una volta che ci metti le mani sopra vedrai che la ruggine va subito via!! 👍😂
Hai la stessa voce Adam Kadmon
LOL
Ma tu sei Adam Kadmon 😍
😂😂
Parli troppo, e veloce.
Massimo Massimo grazie per il commento