Go Down

Topic: HM-10 BLE, GATT, copatibilità Arduino Uno e un'altra carrelata di dubbi (Read 113 times) previous topic - next topic

gas_gas

Ciao a tutti,
come primo progetto per arduino (Uno) volevo connetterlo ad dei dispositivi bluetooth.
Io di bluetooth non so nulla, quindi apro la barra di ricerca e incomincio a scoprire che:
-Ci sono diversi tipi di bluetooth e hanno maniere di impostare la comunicazione differente.
-Quello che probabilmente (sicuramente) serve a me è il BLE (Bluetooth Low Energy o Bluetooth 4.0).
-Il BLE si basa sulle operazioni GATT, una serie di codici (generalmente standardizzati) chiamati UUID che suddivisi a grappolo in Servizi e Caratteristiche servono a far comunicare un dispositivo Server (slave) e Client (master).
-Il modulo bluetooth HM-10 è inutile perché permette di impostare un solo Servizio quando spesso per autenticarsi almeno uno è necessario.
-Molto di quello che vorrei fare è stato già fatto con la scheda ESP32.

Ok, nervoso a parte, penso sia il momento di mettere da parte il "faccio tutto per i fatti miei" e chiedere alcune informazioni a chi conosce meglio di me l'argomento.

Domanda #1

Esistono moduli BLE compatibili con arduino Uno in grado di gestire diverse operazioni GATT e non solo un solo Servizio?
.
Domanda #2

Arduino Uno secondo voi ha una capacità di calcolo sufficiente a sostenere suddetta comunicazione?

Domanda Bonus   

Correggetemi se sbaglio, l'IDE di arduino utilizza un linguaggio solo simile al C++, non uguale.

Più o meno quello che vorrei arrivare a fare.

gpb01

Intanto vorrei pregarti di moderare il linguaggio (ho cancellato io una tua frase), dopo di che:

1. Non mi sembra, di solito sono tutti molto semplici fatti per aprire una comunicazione seriale o per trasmettere streaming di musica/voce.

2: Non credo e non ho mai visto applicazioni in tal senso

3. il linguaggio di Arduio è il C++ (utlilzza GCC) , tutto ciò che vedi in più è il framework "wiring" che serve solo a semplificare la vita ai meno esperti, ma volendo si può scrivere tutto solo in puro C/C++.

Guglielmo
Search is Your friend ... or I am Your enemy !

gas_gas

Vado al contrario.
 
3. grande dotizia, grazie, era banale, ma cercando mi sono scontrato con tanta confusione.

2. e 1. fantastico, devo provare ad inventarmi qualcosa da zero, evviva (sarcasmo e sconforto).

Tecnicamente non era una bestemmia, ma più un riferimento al fatto di averci bestemmiato su, una figura retorica, ma poco importa.
Non è mia intenzione infrangere il regolamento e neanche stare a cavillare, ho ripulito un attimo il post.

Grazie per il tempo dedicatomi.

Nuova domanda

Quando da monitor seriale si digitano i comandi "AT+..." necessari per settare alcuni moduli bluetooth, arduino cosa fa?
Prende il comando come stringa e la manda attraverso i pin seriali al modulo bluetooth?
Mentre questo accade ci sono dei protocolli che ignoro, non presenti durante la normale comunicazione seriale tra arduino e il modulo bluetooth?

Sto cercando di capire se è possibile scrivere un programma che faccia quello che io umano faccio da monitor seriale.

gpb01

In realtà NON avviene proprio nulla ... sei tu che devi scrivere un programma per fare quello che chiedi.

Ti rammnento che NON sei su un computer o su una macchina linux, sei su un microcontrollore dove  NON c'è un OS e NON c'è altro che gira se non il codice che scrivi tu quindi ... se tu mandi caratteri sulla seriale ... nessuno li riceve e non vengono trattati;  devi scrivere tu il programma che fa tutto.

Guglielmo
Search is Your friend ... or I am Your enemy !

gpb01

... dimenticavo, se usi Arduno UNO, hai una sola porta seriale (pin 0 ed 1) che è collegata all'adattaore seriale <--> USB e che quindi è bene NON usare per altre periferiche.

I moduli BT li dovrai collegare in seriale usando due altri pin ed usando la libreria SoftwareSerial per creare una seconda seriale virtuale.

Guglielmo
Search is Your friend ... or I am Your enemy !

Go Up