Go Down

Topic: Arduino Bluetooth Low Energy (BLE) Shield ... (Read 1 time) previous topic - next topic

gpb01

Feb 27, 2014, 04:44 pm Last Edit: Feb 27, 2014, 04:46 pm by gpb01 Reason: 1
Ohhhhh ... finalmente, dopo tanto tempo, ho trovato uno shield BLE che funziona bene e ... condivido con voi l'informazione ...  :smiley-mr-green:

E' da un po che stavo cercado un qualche cosa per collegamenti BLE e, dopo aver provato vari oggetti, mi è capitato di poter usare QUESTO :)



Usa un modulo bluetooth Low energy (BLE) HM-10 della Jinan Huamao il cui datasheet è scaricabile QUI.

E' fatto molto bene, con uno switch permette di selezionare l'alimentazione a 5V o a 3.3V e, con una serie di jumper, di settare i pin da utilizzare con la SoftwareSerial per parlarci.  Purtroppo, per questa cosa, permette la selezione solo dei pin 0 .. 7, per cui, volendolo usare su Arduino Mega o Arduino Leonardo ... c'è un solo escamotage ... togliere i jumper in modo che TX e RX non siano collegati a nessun pin e ... fare due collegamneti volanti con i pin utilizzabili sulla Mega e sulla Leonardo.

Pur avendolo provato io sulla UNO, mi sono comunque divertito, con il filo da wire-wrap (ed il suo accessorio per avvolgerlo) a collegare il TX al pin 10 e il RX al pin 11 ... pin universalmente supportati dalla SoftwareSerial  XD
E' venuto un lavoretto estremamente pulito e praticamente invisibile.

Per il test ... lato Arduino ho preso il mio solito programmino con cui provo i classici moduli Bluetooth e che permette di usare il monitor Arduino come terminale di colloquiare con il bluetooth, questo :

Code: [Select]

#include <SoftwareSerial.h>

#define  BT_RX 10            // PIN to receive from bluetooth
#define  BT_TX 11            // PIN TO transmit to bluetooth

SoftwareSerial btSerial(BT_RX, BT_TX);

void setup()
{
 delay (2000);
 //
 Serial.begin(9600);        // Initialize USB Serial port
 //
 btSerial.begin(9600);    // Initialize Bluetooth SoftwareSerial port for selected data speed
 //
 Serial.println("--- Ports ready ---");
 Serial.println("");
 //
}

void loop()
{
 if (btSerial.available() > 0) Serial.write(btSerial.read());
 if (Serial.available() > 0) btSerial.write(Serial.read());
}


... mentre sul mio ... iPhone (ebbene SI, il BLE è interfacciabile con iOS senza limitazioni da parte di Apple) ... ho installato l'emulatorino di terminale BLE i cui sorgenti si trovano sul sito della Jinan Huamao ... QUI :)

Compilato con XCode il programma e installato su iPhone 5 ... ha visto immediatamente il modulo BLE e mi ha permesso di stabilire senza problemi una connessione così da poter scambiare dati tra il terminale su Arduino e quello sul iPhone.

Da Arduino il modulo è completamente controllabile con i comandi AT che, nota bene, vanno trasmessi SENZA alcun terminatore (né CR né LF). I comandi vanno dati quando NON è connesso in bluetooth con qualche device.

Per conclude ... SICURAMENTE CONSIGLIATO !  XD

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

acik


Ohhhhh ... finalmente, dopo tanto tempo, ho trovato uno shield BLE che funziona bene


Ciao, a quanto ammontano le spese di spedizione ??

Ho visto tanti moduli su eBay, che montano lo stesso integrato (CC2540) , dovrebbero andare bene pure quelli.... e a me fanno piu' comodo, per le ridotte dimensioni !

gpb01

Non ricordo ... comunque vai sul sito e fai una simulazione d'acquisto .. così vedi ;)

SI, posso immaginare che anche altri moduli basati sullo stesso chip funzionino bene ... ma sempre meglio provare con uno, prima di acquistarne in quantità !

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

acik

#3
Apr 11, 2014, 10:58 pm Last Edit: Apr 12, 2014, 08:06 am by acik Reason: 1
Per parlare con questi moduli (dall' iPhone) come si fa ??
Il pairing lo devo fare a manina ?
E poi vedo una seriale a cui inviare dati ?

Con che ambiente si possono sviluppare programmi che parlino con questi dispositivi BLE ??
(Oltre a Xxode naturalmente)

Infine; il mio vecchio 3GS e' compatibile ? (Leggo voci discordanti)


gpb01

#4
Apr 12, 2014, 08:03 am Last Edit: Apr 12, 2014, 08:05 am by gpb01 Reason: 1
Si deve conoscere BENE Xcode, i framework di iOS (e, in ambiente desktop, di OS X) e programmare usando le chiamate di "Core Bluetooth" ... guarda il link all'esempio, sul sito della Jinan Huamao, che ho indicato nel primo post.

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

nid69ita

Girando ho visto anche questo BLE,  Atmel Nano della DFRobot (non me ne intendo di BLE):
http://www.dfrobot.com/index.php?route=product/product&product_id=1122#.U2ykr1V_uQl
my name is IGOR, not AIGOR

gpb01


Girando ho visto anche questo BLE ...


Bello, mi piace ... è piccolino e completo ...

Grazie della segnalazione ;)

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

PacoP

Io ne ho visto un modulo BLE che include il micro programmabile con l'IDE Arduino.
Praticamente un  Arduinoc compatibile  BLE.
Ci sono vari shield disponibili, ( relè, batteria,servo,SD ) oppure c'è il singolo chip.

un esempio è qui :
http://it.rs-online.com/web/p/kit-di-sviluppo-per-processori-e-microcontrollori/8011691/

http://it.rs-online.com/web/p/kit-di-sviluppo-per-processori-e-microcontrollori/8011733/

oppure il singolo chip
http://it.rs-online.com/web/p/kit-di-sviluppo-per-processori-e-microcontrollori/8011689/

attenzione che il BLE funziona con iPhone ( mi sembra dal 4s in poi ) e con Android ( mi sembra dal 4.3 in poi ).
I "vecchi" Android non hanno il BLE.
Ciao



Testato

quest'ultimo, RFduino, era un rpogetto su indiegogo, ora e' su RS ?  :smiley-eek-blue: complimenti al progettista
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

gpb01

Restando in argomento BLE (Bluetooth Low Energy) segnalo la disponibilità, sul solito sito (... che, ricordo, per uso privato e personale è legale) di un bel libro sul tema ... QUI ed il relativo link per il download del pdf QUI.

Buona lettura ;)

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

gpb01

#10
Jun 27, 2014, 10:55 am Last Edit: Jun 27, 2014, 10:58 am by gpb01 Reason: 1
Altro modulo BLE (Bluetooth Low Energy 4.1) annunciato questa volta (e per loro è il primo) da Microchip e facilmente collegabile, grazie all'interfaccia seriale, con Arduino  :)

"Because the RN4020 is a stack-on-board module, it can connect to any microcontroller with a UART interface, including hundreds of PIC® MCUs, or it can operate standalone without an MCU for basic data collection and communication, such as a beacon or sensor.  This standalone operation is facilitated by Microchip's unique no-compile scripting, which allows module configuration via a simple ASCII command interface--no tools or compiling are required."


Se i prezzi al dettaglio fossero anche il doppio del prezzo per 1000 pezzi, che è annunciato essere di 6.78 US$, sarebbe veramente gran cosa  :smiley-mr-green:

Aspettiamo e vediamo ...  :smiley-roll:

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

Testato

Ottimo, sarebbe la morte del vecchio BT finalmente
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

?R

Ciao a tutti,
C'è qualcuno che ha provato questa board di Adafruit che monta un nRF8001?
http://www.adafruit.com/products/1697

Guglielmo quali erano i problemi che avevi trovato nei moduli che avevi testato in precedenza?
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

gpb01


C'è qualcuno che ha provato questa board di Adafruit che monta un nRF8001?
http://www.adafruit.com/products/1697


L'ho vista, ma non ho ancora avuto occasione di provarla.

In compenso ho provato con soddisfazione QUESTO ... un vero gioiellino  XD



Guglielmo quali erano i problemi che avevi trovato nei moduli che avevi testato in precedenza?


I primi moduli, ma parliamo ormai di molto tempo fa, avevano grosse difficoltà a connettersi (ti parlo di prove fatte cercando di colloquiarci da iOS) ...
... ora, tutti gli ultimi che ho provato, funzionano bene. Credo che ormai si sia raggiunta una certa maturità di prodotti ;)

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

?R


In compenso ho provato con soddisfazione QUESTO ... un vero gioiellino  XD

Bello ;) Ma c'è una cosa che non mi piace, ovvero che il pin per passare da modalità AT a NORM non sia gestibile dal micro...
Noto che anche quello lì monta il cc2540 della TI, ho visto che gran parte dei moduli ble che ci sono in giro montano quello.
Volevo studiarmi la lista dei sui comandi AT però nel datasheet ( http://www.ti.com/lit/ds/symlink/cc2540.pdf ) non li vedo e in giro per internet non sono riuscito a trovare una lista completa. Tu che magari li hai già provati, non è che hai qualche link utile? Grazie mille! ;)

Al momento io sto provando a far comunicare due o più moduli ble per ricavare il posizionamento nello spazio, anche se ho già messo in conto che non sarà preciso. (Tutto questo senza smartphone)
Da oggi ho iniziato a provare con i moduli dell'adafruit che avevo postato ieri, funzionano con l'SPI ed hanno una mega libreria per gestirli... Non ho ancora sperimentato molto, però a primo impatto direi che i moduli che montano il cc2540 sono più comodi da usare.
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Go Up