Integrazione bluetooth arduino leonardo HID joystick

salve.
ho preso un adafruit bluefruit LE micro e ho iniziato a costruirci un joystick.
ho integrato unalibreria, ed effettivamente windows me lo riconosce come joystick.
tutto sembra funzionare, ma solo via USB!!!
infatti non ho idea di come integrare il bluetooth, e far si che il pc mi riconosca che prema un bottone, o che muovo l’analogico via bluetooth.
da notare che lo sketch di esempio, che mi fa diventare l’arduino una tastiera bluetooth funziona benissimpo.
quindi la mia domanda è questa : come integrare questa funzione in uno sketch rendendo il joystick senza fili?

Non è facilissimo, tanto per usare un eufemismo. Intanto che modulo Bluetooth hai? A cosa vuoi collegarlo?

il modulo bluetooth è integrato nel microcontrollore Using with Arduino IDE | Introducing Bluefruit LE Micro | Adafruit Learning System
voglio collegarlo al pc windows, e che me lo riconosca come joystick.

Manrich:
ho preso un adafruit bluefruit LE micro e ho iniziato a costruirci un joystick.

Quella scheda usa il Nordic nRF51822 che apparentemente non sembra supportare l'emulazione joystick bluetooth, se manca questa funzionalità allo stack bluetooth che utilizza puoi scordarti il joystick visto come tale dal device host.

astrobeed:
Quella scheda usa il Nordic nRF51822 che apparentemente non sembra supportare l'emulazione joystick bluetooth, se manca questa funzionalità allo stack bluetooth che utilizza puoi scordarti il joystick visto come tale dal device host.

quindi è impossibile farlo funzionare come joystick se non via cavo?

... io sono su OS X e quindi non so come sono le cose per i PC Win, ti segnalo comunque che quella scheda NON monta un modulo bluetooth (v2.x), ma un modulo BLE (Bluetooth Low Energy v4.x) che ... è piuttosto differente dal classico bluetooth.

La prima cosa che devi quindi verificare è se il tuo PC è predisposto per riconoscere e collegarsi con moduli BLE (... con il quali NON si fa il pairing come i normali moduli bluetooth) ... perché un conto sono telefonini e tablet, un altri i PC.

Guglielmo

astrobeed:
Quella scheda usa il Nordic nRF51822 che apparentemente non sembra supportare l'emulazione joystick bluetooth ...

Quel modulo è in grado di emulare una Keyboard un Mouse o un Media Controller, ma SOLO con device che supportano BLE HID ... ::slight_smile:

Maggiori dettagli QUI.

Guglielmo

Manrich:
quindi è impossibile farlo funzionare come joystick se non via cavo?

Esatto, via cavo funziona perché la Leonardo può emulare un classico joystick usb.

ok, quindi se aggiungo un secondo modulo bluetooth le cose si fan piu' semplici o è sempre un casino?

gpb01:
Quel modulo è in grado di emulare una Keyboard un Mouse o un Media Controller, ma SOLO con device che supportano BLE HID ... ::slight_smile:

Maggiori dettagli QUI.

Guglielmo

comunque non un Joystick, giusto?

gpb01:
Quel modulo è in grado di emulare una Keyboard un Mouse o un Media Controller, ma SOLO con device che supportano BLE HID … ::slight_smile:

Ovviamente visto che è un BLE, per usarlo sul pc serve una key bluetooth BLE, con relativo stack installato, nel caso di notebook con bluetooth tocca verificare se è BLE oppure no, nel secondo caso serve una key usb BLE.
Con Windows 8.x c’erano dei problemi per usare il BLE, con Windows 10 dovrebbero essere risolti però non ho mai verificato se è vero.

Genuino MICRO, cosa ne pensate? potrebbe fare al caso mio?
aggiungendo un modulo bluetooth ovviamente, ma quale?

seguengo il link di @gbp01 si vede che il blututto supporta la modalità controller.
Purtroppo gli esempi si riferiscono solo al S.O. di casa Apple e a quello di casa Google.
Penso che ti convenga usare il bluetooth come "semplice" dispositivo seriale, e tramite una applicazione sul PC scritta in python, o altro linguaggio, che interpreti i dati ricevuti e li converta in quelli voluti.
Si evince che cambiare modulo non cambierebbe la situazione, pertanto seleziona un linguaggio che più ti aggrada e prosegui con il tuo progetto.
Ad esempio navigando nell'ottimo sito di Adafruit potresti prendere spunto da questo articolo.

ok, ma come faccio a far si che questi dati venganop inviati al programma?

Guarda negli esempi e vedrai come usare il modulo Bluetooth come dispositivo seriale, a quel punto lato firmaware è come comunicare con il serial monitor.
Lato PC devi aprire la porta seriale e leggere i dati.