• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
comandi 3b pi invio con raspberry ir

Invio comandi ir con raspberry pi 3B+
#1
Buonasera a tutti ragazzi. Vi scrivo perchè ho bisogno di un aiuto per un progetto che vorrei portare avanti e spero nel vostro aiuto  Rolleyes . Vi spiego in breve quelle che sto cercando di fare.
Allora tramite raspberry pi voglio comandare un apparecchio hifi tramite comandi ir però la cosa sta diventando impossibile... Dopo aver letto molte guide inerenti a lirc dove, piu' passava il tempo e piu' era impossibile usarlo ho deciso di ricreare le condizioni a quando era funzionante per questo utilizzando queste due guide ho cercato di ricreare le stesse condizioni sperando di farlo funzionare acquistando anche la shield che va montata sul pi:

https://devkimchi.com/2020/08/12/turning...ontroller/
https://spotpear.com/index/study/detail/id/843.html
https://github.com/mtraver/rpi-ir-remote

A me serve solo la parte di invio dei comandi visto che sono già in possesso del file .conf scaricato dal database della lirc.

Solo che quando vado a lanciare il comando irsend viene lanciato ma non accade nulla, e se inquadro il led con la fotocamera non si accede. Se c'è qualcuno che ha avuto già modo di provarlo può darmi una mano? La cosa che non capisco è come mai se provo ad leggere e memorizzare i comandi funziona e quando li vado ad inviare no. Va impostato qualcosa prima dell'invio del comando ? Per esempio scambiare /dev/lirc0 e /dev/lirc1 in fase di ricezione e invio dei comandi? Se si sapete come impostarlo? 

Vi ringrazio in anticipo e, sperando in un vostro gentile aiuto faccio un grande saluto a tutta la community  Heart


Allegati
.png   Screenshot (3).png (Dimensione: 185.99 KB / Download: 6)
Risposta
#2
Premesso che, da quanto ho capito, negli ultimi tempi sono cambiate diverse cose che rendono ora assai complicato usare LIRC, sei certo del PIN a cui, tramite la shield, è collegato il LED emittente?
Fai attenzioni alle varie, diverse numerazioni dei pin. prova a portarlo a livello logico 1 (tramite comando Bash o Python) e vedi se con la fotocamera lo vedi illuminato.
Risposta
#3
(21/06/2024, 00:01)Zzed Ha scritto: Premesso che, da quanto ho capito, negli ultimi tempi sono cambiate diverse cose che rendono ora assai complicato usare LIRC, sei certo del PIN a cui, tramite la shield, è collegato il LED emittente?

Fai attenzioni alle varie, diverse numerazioni dei pin. prova a portarlo a livello logico 1 (tramite comando Bash o Python) e vedi se con la fotocamera lo vedi illuminato.

Ti ringrazio per la gentile risposta Zzed Shy  per spiegarmi meglio su quello che sto facendo vi lascio un po di indicazioni sperando siano utili alla risoluzione (o almeno spero) del problema.



Hardware: Raspberrypi 3B+



Lista componenti utilizzati:



          220ohm and 10K

          transistor BC547

          led ir



Software: Raspbian 9 Stretch , Kernel Version 4.19.66-v7+ , Lirc Version 0.9.4c



Codice:
    /boot/config.txt



    dtoverlay=gpio-ir,gpio_pin=22

    dtoverlay=gpio-ir-tx,gpio_pin=23

   



    sudo nano /etc/lirc/lirc_options.conf



    nodaemon     = False

    driver            = default

    device           = /dev/lirc0
 


Ho apportato solo queste due modifiche. Ho preso il file lircd.conf dal database lirc. Il dispositivo che devo controllare è un Denon RC-220. Per i collegamenti ho utilizzato un bredboard come visto in foto. Il problema è che quando utilizzo il comando irsend non succede nulla. Se inquadro con la fotocamera non vedo accendersi il led. Ho fatto un test collegando un semplice LED verde e quando invio il comando lampeggia quindi penso che il Raspberry  invii il comando.


Questi sono i parametri presi dal file lirc, possono influenzare l'invio di comandi ad esempio le limitazioni del kernel LIRCBUF_SIZE 256 o IR_MAX_DURATION 500ms?



name  RC-220

                    bits  5

                    flags SPACE_ENC|CONST_LENGTH

                    eps            30

                    aeps          100



                    one           354  1753

                    zero          354  691

                    ptrail        354

                    pre_data_bits  5

                    pre_data      0x2

                    post_data_bits  5

                    post_data      0x8

                    gap          67101

                    min_repeat      1

                    toggle_bit      0



                    begin codes

                        KEY_OPEN                0x0000000000000001

Ho seguito questa guida che è la più recente:
https://github.com/mtraver/rpi-ir-remote


Un'altro dubbio che ho e che il kernel vada in conflitto con l'hardware del raspberry essendo il dispositivo più recente rispetto alla versione del software/kernel, possibile?

Non capisco perchè, anche se ho ricreato le condizioni tra software e hardware dove in passato funzionava come scritto su tante guide in rete cosa è che non funziona?


Vi lascio due immagini dello schema che ho seguito e dei collegamenti fisici

Grazie come sempre per l'aiuto Angel


Allegati
.png   Figure-2_lightbox.png (Dimensione: 157.12 KB / Download: 7)
.jpg   IMG-20240624-WA0041.jpg (Dimensione: 360.98 KB / Download: 6)
Risposta
#4
Premetto che non ho un Rpi3 su cui installato/da installare lirrc. Da una rapida lettura della guida da te seguita, direi di eliminare "dtoverlay=gpio-ir,gpio_pin=22" a meno che tu non abbia un ir ricevitore. Evita di utilizzare la 3,3 Volt poichè un sovraccarico o corto circuito brucia l'IC di alimentazione: Rpi3 defininitivamente guasto. Inserisci in serie al diodo IR un diodo LED, rispettando le polarità, alla 5 VDC lasciando la resistenza da 220 ohms in serie ai due diodi. Potrai così vedere se il comando viene inviato. Il diodo IR è lo stesso adoperato precedentemente? Ne hai un altro uguale?
Risposta
#5
(25/06/2024, 14:36)ippogrifo Ha scritto: Premetto che non ho un Rpi3 su cui installato/da installare lirrc. Da una rapida lettura della guida da te seguita, direi di eliminare "dtoverlay=gpio-ir,gpio_pin=22" a meno che tu non abbia un ir ricevitore. Evita di utilizzare la 3,3 Volt poichè un sovraccarico o corto circuito brucia l'IC di alimentazione: Rpi3 defininitivamente guasto. Inserisci in serie al diodo IR un diodo LED, rispettando le polarità, alla 5 VDC lasciando la resistenza da 220 ohms in serie ai due diodi. Potrai così vedere se il comando viene inviato. Il diodo IR è lo stesso adoperato precedentemente? Ne hai un altro uguale?

Grazie per la risposta ippogrifo quindi non devo collegarlo alle 3,3? per quanto rigurarda il led è sempre lo stesso (è sicuramente funzionante) però posso provare con un altro. Inoltre avevo acquistato queste due shield che vedi in foto che dovrebbero essere compatibili e questo trasmitter. Li avevo provate ma sempre lo stesso risultato, alcuni dicevano che forse non erano compatibili con il 3b+


Allegati
.jpg   s-l960.jpg (Dimensione: 8.33 KB / Download: 3)
.jpg   s-l1600.jpg (Dimensione: 290.17 KB / Download: 3)
.png   WiyDUdBw.png (Dimensione: 185.99 KB / Download: 3)
Risposta
#6
La guida che hai seguito utilizza la versione del kernel 4.19.23-V7+ e non la 4.19.66-V7+ Prova ad installare quella versione. Dalla guida si nota che il passaggio tra le diverse versioni del kernel portava al mal funzionamento di lirc. Sulla guida è indicato come installare quella versione del kernel
E' preferibile utilizzare la 5V.
Risposta
#7
Ho provato,ma nulla secondo me c'è qualcosa con il kernel. Se qualcuno potrebbe fare una prova per un riscontro ne sarei grato Angel. Vi lascio un breve video di quando lancio il comando irsend. Il led sulla schedina si accende ma non manda nulla... collegato alla 5v

Vi lascio il link caricato su google drive:

https://drive.google.com/file/d/1z2D5Vv3...drive_link
Risposta
#8
Sicuramente c'è qualcosa che non va a livello kernel, nel senso che i cambiamenti e le evoluzioni hanno reso una strada molto complicata quello che stai cercando di fare. Mi ero documentato sommariamente qualche tempo fa, e ora non ricordo più bene i particolari, ma come accennavo nel mio post più in su,  i cambiamenti hanno reso tutto molto complicato con Lirc. E' un problema che avranno molte persone, mi sembra strano che nessuno abbia ancora trovato una soluzione semplice al problema.

questa discussione potrebbe essere interessante
Risposta
#9
(02/07/2024, 12:42)Zzed Ha scritto: Sicuramente c'è qualcosa che non va a livello kernel, nel senso che i cambiamenti e le evoluzioni hanno reso una strada molto complicata quello che stai cercando di fare. Mi ero documentato sommariamente qualche tempo fa, e ora non ricordo più bene i particolari, ma come accennavo nel mio post più in su,  i cambiamenti hanno reso tutto molto complicato con Lirc. E' un problema che avranno molte persone, mi sembra strano che nessuno abbia ancora trovato una soluzione semplice al problema.

questa discussione potrebbe essere interessante

Sisi credo pure io che sia quello il problema, infatti mi sto concentrando su quello. Però non capisco perchè, se ricreo le condizioni a quanto era funzionante con lo stesso hardware e software non funziona ugualmente. Forse va qualcosa storto quando si va a compilare il kernel? Bho.. Comq se si riuscisse a farlo funzionare nel 2024 aiuteremmo un sacco di persone secondo me Big Grin

Vedo di studiarmi la discussione che hai postato e vi tengo aggiornati,grazie !!
Risposta
#10
Si, anche secondo me è un argomento molto utile alla comunità.. Personalmente è un periodo in cui il tempo è merce rara, quindi al momento non riesco a studiare molto il problema, tra ferie e il resto. Ma se ognuno ci mette un pezzettino, si possono ottenere grandi cose
Risposta
  


Vai al forum:


Navigazione: 2 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect