Ripetitore di telecomando per Sky Q?

Ciao a tutti, io da qualche anno ho realizzato un ripetitore di telecomando basato su Arduino e composto da un client ed un server, provo a descriverlo: il client riceve il segnale di un telecomando (non necessariamente lo stesso del decoder da comandare...), questo lo decodifica e trasmette il codice del tasto premuto (quindi non la codifica "fisica" del segnale ma un byte che rappresenta il tasto) via WiFi sotto forma di pacchetto UDP; quindi il server manda il segnale IR al decoder in base ad una tabella che associa il tasto alla corrispondente codifica IR.

Ora, da un paio di giorni ho fatto installare Sky Q che però ha il telecomando Bluetooth: molto comodo, funziona bene, ma come faccio ad adattare il mio circuito di ripetitore di telecomando?

Il client potrebbe restare lo stesso, ma il "server" va adattato, o per una nuova codifica IR o per "simulare" un telecomando bluetooth. Ma nessuna di queste per ora mi risultano possibili!

Per la codifica IR, sempre se il decoder ha anche un ricevitore IR, mi manca il telecomando dal quale "imparare" la codifica, come feci per quello del MySkyHD, visto che il telecomando in dotazione è solo Bluetooth. Per il Bluetooth poi non ho idea di come poter "sniffare" i comandi inviati.

Qualcuno ha qualche idea? Avete mai provato (o visto da qualche parte) un progetto per Arduino e Sky Q, con IR e/o BT?

Intanto dei distinguere se si tratta di Bluetooth classico (v2.x) o BLE (Bluetooth Low Energy, >= 4.x) perché, alla faccia del nome Bluetooth, in reltà non sono neanche parenti ... ::slight_smile:

Se fosse BT classico, allora, forse, sarebbe possibile con una coppia di HC-05, se è BLE ... io rinuncio fin dall'inizio ... è un casino gigantesco, ti basta dara un occhiata ai tutorial sul BLE (non sono specifici per Arduino, ma chiarisocno le idee) e un'altra occhiata alla libreria per BLE di Arduino.

Tutorials:
Bluetooth Low Energy - Part 1: Introduction To BLE
Bluetooth Low Energy - Part 2: BLE P Click
Bluetooth Low Energy - Part 3: BLE 2 Click
BLUETOOTH LOW ENERGY – PART 4: BLE 3 click

Guglielmo

Aggiornamento: ho scoperto che il telecomando di Sky Q i può impostare per trasmettere i comandi con gli infrarossi invece del Bluetooth!

Basta premere per alcuni secondi i tasti 4 e 6 contemporaneamente e da quel momento funziona con gli infrarossi (per riportarlo in BT basta fare la stessa cosa ma con i tasti 1 e 3).

A questo punto sto catturando i segnali infrarosso, che sono tra l'altro in codifica RC6 (alleluia!) quindi, a differenza del MySkyHD, non serve più andare a ravanare con i codici raw!

Vi farò sapere appena sistemata la cosa.

Confermo, la codifica è RC6 con codice a 32 bit!

Se può servire anche ad altri, questa è la mappatura dei tasti che ho implementato:

// Protocollo IR del telecomando Sky Q: RC6 32 bit
#define PROTO RC6
#define PROTO_BITS 32
// Offset dei comandi (da sommare al keyCode per ottenere il codice reale)
#define SKYQ_OFFSET 0xC0081400
// Numero di tasti nell'array
#define KEYS 33

unsigned long keyCode[KEYS] = {
//"0"   ,"1"   ,"2"   ,"3"   ,"4"   ,"5"   ,"6"   ,"7"   ,"8"   ,"9"   ,
  0x0   ,0x1   ,0x2   ,0x3   ,0x4   ,0x5   ,0x6   ,0x7   ,0x8   ,0x9   ,
//"SKY" ,"BCK" ,"P+"  ,"P-"  ,"UP"  ,"LT"  ,"OK"  ,"RT"  ,"DN"  ,"HME" ,
  0x680 ,0x83  ,0x20  ,0x21  ,0x58  ,0x5A  ,0x5C  ,0x5B  ,0x59  ,0x6CC ,
//"SRC" ,"?"   ,"INF" ,"..." ,"RED" ,"GRN" ,"YLW" ,"BLU" ,
  0x7E  ,0x81  ,0xCB  ,0xF5  ,0x6D  ,0x6E  ,0x6F  ,0x70  ,
//"REC" ,"PLY" ,"ESC" ,"REW" ,"FFW"};
  0x40  ,0x3E  ,0x83  ,0x3D  ,0x28 };

Il codice vero e proprio si ottiene sommando SKYQ_OFFSET al valore di keyCode.