• Lun. Apr 28th, 2025

BM71 – RN487x Bluetooth

  • Home
  • BM71 – RN487x Bluetooth

 

In questo progetto parlerò del modulo Bluetooth BM71 e del suo omonimo RN4870/RN4871.

Questa guida è stata presa dal sito produttore MICROCHIP tradotta e provata testata e resa come guida nel laboratorio Lambda
in fine illustrerò come evitare tutta questa configurazione ma fare il settaggio delle impostazioni direttamente dal microcontrollore, ma ora partiamo dalla guida che ci mette a disposizione la Microchip.

 

Panoramica BM71

 

Il BM71 è un modulo Bluetooth 4.2 Low-Energy con fattore di forma ridotto che misura solo 9 x 11,5 x 2,1 mm. Il modulo BM71 è progettato per una facile implementazione in un’ampia gamma di applicazioni. Supporta gli ultimi Bluetooth ® standard, fornisce fino a 2,5 volte il throughput connessioni di miglioramento e più sicuri contro i prodotti a base di Bluetooth 4.1. Gli sviluppatori possono facilmente interfacciarsi al dispositivo tramite un’interfaccia UART standard, disponibile sulla maggior parte dei microcontrollori e processori.

Il BM71 ha uno stack software Bluetooth completamente integrato e offre una versione certificata schermata con un’antenna incorporata. Gli sviluppatori sono liberi dalle complessità del software Bluetooth e dello sviluppo RF e possono semplicemente utilizzare il BM71 come sostituto del cavo. Perfetto per le applicazioni IoT (Internet of Things), quando interfacciato a uno smartphone abilitato BLE o Bluetooth Internet Gateway, le applicazioni possono essere monitorate, controllate e aggiornate da qualsiasi parte del mondo.

 

 

Altre caratteristiche includono:

 

  • Interfaccia UART, I 2 C e SPI supportata
  • Supporta il servizio dati UART trasparente di BLE
  • BM71 supporta PWM a 1 canale
  • Sensore di temperatura di precisione (PTS) con intervallo operativo di -20 ° C ~ +70 ° C con una precisione di +/- 3 ° C
  • Supporto del convertitore analogico / digitale (ADC) a 12 bit (5 canali) per il rilevamento della batteria e della tensione
  • Nove pin I / O per uso generico
  • Cristallo integrato da 32 MHz
  • Modulo piccolo e compatto a montaggio superficiale
  • Pad SMT castellati per un montaggio PCB facile e affidabile

 

Diagramma a blocchi

 

 

Interfaccia MCU

 

L’immagine sotto evidenzia le connessioni richieste tra il microcontrollore Host e il modulo BM71. Mostra anche diverse funzioni di controllo e stato che possono essere attivate dai pin GPIO BM71. Questi segnali sono descritti in dettaglio nella pagina “Interfaccia MCU BM71” .

 

 
I pin UART BM71, HCI_TXD e HCI_RXD, sono collegati ai pin UART dell’MCU host. Tutto il controllo e lo stato del modulo possono essere ottenuti tramite pacchetti appositamente formattati inviati / ricevuti tramite segnali UART TX / RX.

 


 

Modalità operative BM71

 

Il firmware BM71 (denominato “BLEDK3”) offre le seguenti modalità operative:

 

Modalità

Descrizione

Modalità modello automatico
Il modulo BM71 funge da pipe di dati utilizzando il servizio UART (Trasmettitore ricevitore asincrono universale trasparente).
Modalità modello manuale
Il modulo BM71 si comporta come un controller di collegamento Bluetooth ® Low Energy (BLE) generico .
Modalità Beacon
Supporta solo la pubblicità Non-Connect.
Modalità BeaconThings
BLEDK3 pubblicizza iBeacon ADV e ADV collegabile contemporaneamente in modalità Standby.

 

Diagramma di flusso di accensione del BM71

 

Il seguente diagramma di flusso descrive come il modulo BM71 entra nelle modalità Manuale e Modello automatico.

 

 

 

Modalità Pattern automatico

 

La modalità Auto Pattern utilizza un servizio GATT (Generic Attribute Profile) privato incorporato chiamato “servizio UART trasparente”. Questa modalità fondamentalmente crea una connessione UART virtuale tra l’MCU host e le app per smartphone. Mentre BLEDK3 è nel ruolo Peripheral, funge da condotto di dati tra l’MCU host e un dispositivo BLE centrale remoto. Confezionerà i dati UART ricevuti come un pacchetto ATT (Attribute Protocol) e li invierà al dispositivo remoto e viceversa . In modalità Auto Pattern, l’MCU host non ha bisogno di comprendere affatto il protocollo BLE, può inviare e ricevere dati grezzi tramite il trasporto UART direttamente una volta abilitato il servizio trasparente. La modalità Auto Pattern supporta solo il ruolo di periferica / server BLE e servizi integrati.

 

 

Per accedere alla modalità Pattern automatico, è necessario utilizzare lo strumento di configurazione dell’interfaccia utente (UI). Lo strumento dell’interfaccia utente fornisce un’interfaccia intuitiva per modificare i parametri e la tabella GATT del BLEDK3. Dopo aver avviato questo strumento, selezionare Auto Pattern sotto l’impostazione Operation Pattern. Per ulteriori informazioni su come utilizzare lo strumento di configurazione dell’interfaccia utente, visitare la pagina “Configurazione statica BM71 (strumento di configurazione dell’interfaccia utente)” .

 

 
Il servizio GAP, il servizio di informazioni sui dispositivi, il servizio Beacon e il servizio trasparente proprietario (utilizzato per la modalità Pattern automatico) sono integrati come servizi predefiniti nel modulo BM71.

 

 
La Guida utente di BLEDK3 Auto Pattern Tool descrive come utilizzare il BM71 con le impostazioni Auto Pattern. Può essere trovato alla pagina Microchip BM71 nella scheda Documenti nella sezione “Librerie software / Firmware” (BM70 / 71 Firmware e strumenti software). È inoltre possibile fare riferimento alla pagina “Demo UART trasparente BM71 (Strumento Pattern automatico)” per vedere un esempio di alcune cose che è possibile fare mentre il modulo BM71 è in modalità Pattern automatico.

 

Modalità Pattern manuale

 

La modalità Pattern manuale è la normale modalità di funzionamento e viene utilizzata quando l’applicazione o l’host MCU desidera accedere e controllare più profili BLE GATT / Generic Access Profile (GAP). L’MCU host utilizza il modulo BM71 come modem BLE GATT in questa modalità e il modulo si comporta in base ai comandi UART proprietari inviati dall’MCU host. La modalità Pattern manuale supporta profili personalizzati o predefiniti e tutti i ruoli (BLE Broadcaster, Observer, Central / Client, Peripheral / Server). Tutti i servizi standard o proprietari possono essere aggiunti a BLEDK3 utilizzando lo strumento di configurazione dell’interfaccia utente. Il numero massimo di attributi che è possibile aggiungere è 100.

 

 
Per abilitare il funzionamento in modalità Pattern manuale, avviare lo strumento di configurazione dell’interfaccia utente e nell’impostazione Pattern operativo, selezionare Pattern manuale .

 

 
BLEDK3 Manual Pattern Test Tool è un’utility per PC che può essere utilizzata per emulare un MCU e valutare i pacchetti di comando / risposta con un BM71 in modalità Manual Pattern. Può essere trovato nella pagina Microchip BM71 nella scheda Documenti nella sezione “Librerie software / Firmware” (BM70 / 71 Firmware e strumenti software). È anche possibile fare riferimento alla pagina “Demo della periferica GAP BM71 (esecuzione dei collegamenti)” per vedere un esempio di come utilizzare il BM71 in modalità Pattern manuale.

 

Faro

 

BLEDK3 può essere configurato come qualsiasi tipo di dispositivo beacon. Mentre BLEDK3 opera in modalità Broadcast, può inviare pacchetti pubblicitari non collegabili. Questo tipo di eventi pubblicitari non collegabili sono ciò che chiamiamo beacon. Oltre al comportamento del beacon, BLEDK3 supporta anche una capacità aggiuntiva per un dispositivo remoto di configurare i dati pubblicitari denominata Beacon Admin. Ciò significa che il contenuto della trasmissione può essere configurato via etere.

 

BeaconThings

 

I fari standard vengono forniti in un punto particolare (come l’attaccapanni in un negozio). Quando è in prossimità di un beacon, richiama un’applicazione (come un’app fedeltà) sul telefono. L’app può quindi comunicare con il cloud e registrare che ti trovi in ​​un determinato negozio al dettaglio e inviarti offerte e buoni incentivi. Non c’è comunicazione bidirezionale con il faro.
BeaconThings è una configurazione del firmware nei prodotti basati su IS1870 / 71 (come BM71) ed è un concetto progettato per migliorare l’esperienza dell’utente. Consente la comunicazione bidirezionale tra lo smartphone e l’accessorio abilitato per il beacon. Funziona come un beacon standard e può richiamare un’app quando uno smartphone abilitato è vicino. Funziona anche come periferica e può scambiare dati con l’app per smartphone. L’utente registra gli accessori BeaconThings una volta nell’app (durante la prima procedura di accoppiamento del dispositivo) e quindi non è necessaria quasi nessuna operazione manuale, gli accessori BeaconThings possono essere collegati automaticamente al dispositivo iOS.
Ci sono tre passaggi per avvicinarsi a BeaconThings, tutti eseguiti in background:
  • Avvia app: un’app si riattiverà poiché ha ricevuto e iBeacon ADV.
  • Connessione BLE automatica: l’app scansionerà le periferiche vicine con uno specifico identificatore univoco universale (UUID) e si connetterà a una periferica adatta.
  • Comunicazione BLE: i dati BLE possono essere scambiati tra l’app e gli accessori BeaconThings.
Mentre BLEDK3 opera in modalità Discovery, BLEDK3 può inviare contemporaneamente eventi pubblicitari non collegabili ed eventi pubblicitari non indirizzati collegabili. Utilizzando lo strumento UI, l’utente può configurare il comportamento di BLEDK3 dopo che un dispositivo remoto si è connesso ad esso. È possibile scegliere di interrompere l’invio di annunci non collegabili o continuare ad abilitarli. Se gli eventi pubblicitari non collegabili sono disabilitati nello stato connesso, BLEDK3 interromperà l’invio di eventi pubblicitari non collegabili una volta stabilita una connessione e riprenderà a inviarli dopo che la connessione è terminata.

 


 

Interfaccia MCU BM71

 

Il BM71 fornisce un’interfaccia MCU flessibile, che può essere adattata alle vostre esigenze specifiche. L’interfaccia più semplice richiede solo due segnali di interfaccia UART (Universal Asynchronous Receiver Transmitter). Si consigliano inoltre due ulteriori segnali di controllo: uno per ripristinare il modulo, l’altro per abilitare la programmazione del firmware / configurazione del BM71.

Il BM71 è configurato e controllato tramite comunicazioni a pacchetto binario su un’interfaccia UART. La guida per l’utente BLEDK3 Command Set contiene un elenco completo di comandi / eventi / risposte e dettagli dell’interfaccia. Inoltre, il modulo fornisce l’indicazione / controllo dello stato tramite diversi pin GPIO (General Purpose Input / Output) programmabili, semplificando il firmware MCU e lo sviluppo della macchina a stati.

Ulteriore documentazione sull’interfaccia MCU e sulle funzioni dei pin GPIO disponibili può essere trovata nella scheda tecnica del dispositivo BM70 / 71 .

BLEDK3 si riferisce al nome del firmware dell’applicazione in esecuzione nel modulo BM71.

Tutte le funzionalità BM71 a cui si fa riferimento in questa pagina richiedono il firmware v1.06 . Le istruzioni per l’aggiornamento del firmware del modulo possono essere trovate nella pagina “BM71 Firmware Update” .

 

Comunicazioni a pacchetto binario

 

L’host MCU invia pacchetti di comandi formattati in modo speciale al modulo. A seconda del comando, il modulo emetterà pacchetti di risposta agli eventi e infine un pacchetto di risposta al comando completo come mostrato:

 

 

 
I comandi coprono le seguenti categorie operative:
  • Comune (lettura delle informazioni di base sul dispositivo)
  • Generic Access Profile (GAP) Comandi (Bluetooth ® Low Energy (BLE) Gestione della connessione)
  • Client Generic Attribute Profile (GATT) (BLE Data Exchange)
  • Server GATT (BLE Data Exchange)
  • GATT Trasparente
  • accoppiamento
Fare riferimento al documento “Set di comandi BLEDK3” per i dettagli completi.

 

Pacchetto di comandi

 

 

 

Un checksum viene utilizzato per testare l’integrità dei dati sui pacchetti di comandi.
Calcolare:
  • Sign-estendi a 16 bit, quindi aggiungi tutti i byte richiesti.
  • Calcola il complemento a 2 sugli 8 bit inferiori del risultato.

 

Pacchetto di risposta (“Comando completo”)

 

 

 
Un checksum può essere utilizzato per testare l’integrità dei dati sui pacchetti di risposta.
Verificare:
    • Sign estendi a 16 bit, quindi aggiungi tutti i byte richiesti (incluso il byte checksum).
    • Se non ci sono errori, il risultato sarà 0xXX00.

 

Esempio

 

Di seguito viene illustrata una sequenza di comando / risposta per il comando Leggi informazioni locali:

 

 

Interfaccia di base (modalità pattern manuale)

 

Nella configurazione più semplice, il modulo richiede due segnali di interfaccia UART (TX e RX). Sono inoltre consigliati due segnali di controllo aggiuntivi: uno per ripristinare il modulo, l’altro per abilitare la programmazione del firmware / configurazione del BM70.

 

RST_N (Reimposta)

 

Il pin di ingresso Reset (RST_N) viene utilizzato per resettare il BM70 / 71 con un impulso attivo basso con una larghezza di impulso minima di 63 ns.
Un pull-up interno è abilitato su questo ingresso, tuttavia, si consiglia un resistore di pull-up esterno da 4,7 kΩ. 

 

P2_0 (Configurazione di sistema)

 

Questo pin viene utilizzato per abilitare gli aggiornamenti del firmware / configurazione del modulo.

 

 

P2_0 ha un pull-up interno, che abilita la modalità Applicazione per impostazione predefinita.

 

HCI_TXD / HCI_RXD

 

Segnali di ingresso / uscita dati UART.
La configurazione della porta predefinita per l’UART è descritta nella tabella seguente:

 

Parametro

Valore

Velocità in baud
115200
Bit di dati
8
Parità
Nessuna
Stop Bits
1
Controllo del flusso
Nessuna

 

Interfaccia di base (modalità Pattern automatico)

 

L’interfaccia del segnale di base per la modalità Auto Pattern (Transparent UART) aggiunge due segnali di controllo del flusso UART attivo-basso, P3_6 / UART_RTS e P0_0 / UART_CTS:

 

 

I segnali BM71 UART RTS / CTS sono riservati solo per il funzionamento in modalità Auto Pattern .

 

 

 

Pin per funzioni speciali

 

Sono disponibili diversi segnali GPIO programmabili aggiuntivi da interfacciare con l’MCU host. Alcuni di questi vengono utilizzati per il controllo, mentre altri possono essere utilizzati per monitorare lo stato del modulo come alternativa ai pacchetti di eventi UART.

 

 

Alcune di queste funzioni pin sono dedicate, tuttavia, la maggior parte può essere riprogrammata con lo strumento di configurazione dell’interfaccia utente (UI) .

 

P1_6 (UART_RX_IND Pin – Programmabile)

 

Quando è abilitata, questa funzione pin di ingresso attivo-basso può essere utilizzata per ridurre il consumo di corrente attivo del modulo disabilitando la funzione pin UART HCI_RXD. Quando è abilitato, l’MCU host deve inserire un ritardo di ~ 3 mS prima di inviare un pacchetto di comandi come mostrato:

 

 

La funzione pin UART_RX_IND è abilitata e assegnata a un pin utilizzando lo strumento di configurazione dell’interfaccia utente .

 

P1_7 (Pin PAIRING_KEY – Programmabile)

 

Durante una connessione BLE attiva, questa funzione pin di ingresso attivo-basso può essere utilizzata per forzare il modulo a terminare il collegamento ed entrare in modalità Standby . Questo segnale deve essere applicato per almeno 160 mS come mostrato:

 

 

La funzione pin PAIRING_KEY viene assegnata a un pin utilizzando lo strumento di configurazione dell’interfaccia utente .

 

Px_x (LINK_DROP Pin – Programmabile)

 

Durante una connessione BLE attiva, questa funzione pin di ingresso attivo-basso può essere utilizzata per forzare il modulo a terminare il collegamento ed entrare in modalità di arresto . Questo segnale deve essere applicato per almeno 10 mS come mostrato:

 

 

La funzione del pin LINK_DROP non è assegnata a nessun pin per impostazione predefinita. Assegna a un pin utilizzando lo strumento di configurazione dell’interfaccia utente .

 

P0_2 (LED0 Pin – Dedicato)

 

Questa funzione pin di uscita attivo-basso può essere utilizzata per segnalare vari stati di connessione BLE. Sono disponibili anche opzioni per eseguire il flash di questa uscita a varie velocità.

La funzionalità di commutazione dei pin LED0 viene configurata utilizzando lo strumento di configurazione dell’interfaccia utente .

 

P2_7 (UART_TX_IND Pin – Dedicato)

 

Questa funzione pin di output attivo-basso può essere utilizzata per segnalare all’MCU host che i dati verranno trasmessi dal pin HCI_TXD dopo un intervallo specifico:

 

T Wakeup_External_MCU_Wait_Time viene configurato utilizzando lo strumento di configurazione dell’interfaccia utente .

 

P1_3 / P1_2 (pin STATUS2 / STATUS1 – programmabili)

 

Quando abilitate, queste funzioni dei pin di uscita indicano una varietà di stati di connessione del modulo, come mostrato nella tabella seguente:

STATUS1

STATUS2

Stato

Descrizione

H
H
Modalità di spegnimento
BM70 è spento
H
L
Modalità standby
BM70 invia pacchetti pubblicitari ed è rilevabile e collegabile
L
L
Modalità connessa
BLE Link è stabilito (modalità operativa BLE GATT)
L
H
Modalità connessa
Viene stabilito il collegamento BLE (modalità operativa del servizio UART trasparente)

Le funzioni dei pin STATUS2 / STATUS1 vengono assegnate ai pin GPIO utilizzando lo strumento di configurazione dell’interfaccia utente .

 

Px_x (LOW_BATTERY_IND Pin – Programmabile)

 

Questa funzione pin di uscita attiva-bassa può essere utilizzata per segnalare una condizione di batteria scarica su VBAT. Inoltre, il modulo può essere configurato per entrare in spegnimento se la tensione della batteria rimane bassa per un certo intervallo di tempo.

La funzionalità del pin LOW_BATTERY_IND non è assegnata a nessun pin per impostazione predefinita. Assegnalo utilizzando lo strumento di configurazione dell’interfaccia utente .
Parametri dello strumento di configurazione dell’interfaccia utente correlati:
  • Intervallo di rilevamento della batteria
  • Livello batteria basso
  • Livello batteria normale
  • Tempo di spegnimento per batteria scarica

 

Px_x (RSSI_IND Pin – Programmabile)

 

Se abilitata, questa funzione del pin di uscita può essere utilizzata per segnalare la qualità del collegamento BLE. Il modulo controlla due livelli di qualità del collegamento che possono essere configurati utilizzando lo strumento di configurazione dell’interfaccia utente. Se la qualità del collegamento è inferiore alla soglia di debolezza dell’indicatore di potenza del segnale ricevuto (RSSI), l’uscita RSSI_IND è bassa. Se la qualità del collegamento è superiore alla soglia normale RSSI, l’uscita RSSI_IND è alta, come mostrato di seguito:

 

 

La funzionalità pin RSSI_IND non è assegnata a nessun pin per impostazione predefinita. Assegnalo utilizzando lo strumento di configurazione dell’interfaccia utente .
Parametri dello strumento di configurazione dell’interfaccia utente correlati:
  • Rilevamento della qualità del collegamento
  • Soglia normale RSSI
  • Soglia debole RSSI

 


 

Stati di connessione BM71 BLE

 

Il livello di collegamento Bluetooth ® Low Energy (BLE) sul BM71 opera in una varietà di stati analoghi a quelli descritti nello standard. Questa pagina fornisce una panoramica di questi stati di connessione, che aiuterà a comprendere le specifiche elettriche della scheda tecnica del dispositivo .

 

Fasi di connessione BLE

 

In uno stabilimento di connessione BLE, entrambi gli host eseguono una sequenza di fasi di connessione di base, come mostrato nel diagramma:

 

 

 

Fase di connessione

Panoramica

Standby / inattivo
Nessuna connessione
Scoperta
Slave (Advertiser) invia pacchetti ADV ed è rilevabile
Collegamento
Master (iniziatore) seleziona un dispositivo a cui connettersi
Collegato
Master / Slave scambiano pacchetti di dati a intervalli regolari

 

Stati del livello di collegamento BLE

 

Queste fasi di connessione corrispondono agli stati del livello di collegamento come definito nello standard Bluetooth:

 

 

Stati del livello di collegamento BM71

 

BM71 definisce i propri stati operativi del livello di collegamento analoghi a quelli definiti sopra:

 

 

Stato BM71 LL

Corrisponde a

Fase di connessione

Spegnimento
Modalità di alimentazione più bassa (BM71 è l’arresto)
Inattivo
Pausa
Nessuna connessione
Pausa
Pubblicità
Scoperta
Scansione
Scansione
Scoperta
Collegamento
Avvio
Collegamento
Collegato
Collegato
Collegato

 

BM71 definisce etichette diverse per alcuni degli stati del livello di collegamento BLE di base. Questa pagina delinea queste differenze e ti aiuterà a comprendere meglio le specifiche elettriche nella scheda tecnica del dispositivo .

 


 

Aggiornamento firmware BM71

 

 Obbiettivo

 

Questo laboratorio ti guida passo passo attraverso il processo di aggiornamento del firmware sul modulo BM71. Il nuovo firmware può aggiungere funzionalità specifiche Bluetooth ® Low Energy (BLE) per le nuove revisioni della specifica Bluetooth, nonché fornire un modo per correggere i bug rilevati durante il funzionamento Bluetooth del dispositivo corrente.
​Contattare l’ufficio vendite Microchip locale per ottenere gli aggiornamenti del pacchetto firmware BM71.
Materiali
Strumenti hardware
Strumenti software

 

Diagramma di connessione

 

 

Le linee RX e TX del trasmettitore UART (Universal Asynchronous Receiver Transmitter) vengono utilizzate per comunicare tra l’MCU host e il BM70.

 

Procedura

Assicurarsi di installare i driver USB MCP2200 prima di iniziare. Inoltre, estrai i file del pacchetto firmware BM71 sul tuo computer.
La prima cosa che faremo è controllare quale versione del firmware abbiamo attualmente sul modulo.

 

Connettiti a BM71

 

Collega il BM71 PICtail al tuo PC tramite il connettore USB (lato inferiore della scheda) utilizzando il cavo USB in dotazione. Assicurati che i jumper J3, JP8 e J1 (tutti gialli in questa foto) siano impostati come mostrato:

 

 

Porta COM

 

Aprire la finestra Gestione dispositivi andando nel menu Start> Pannello di controllo> Hardware e suoni e quindi selezionando Gestione dispositivi . Una volta aperto, controlla quale porta COM è stata assegnata alla scheda BM71 PICtail. In questo caso è COM18, tieni presente che il tuo sarà probabilmente diverso.

 

 

Posizionare il modulo in modalità Test impostando SW7 in posizione ON, quindi premere SW5 (reset) per ripristinare il modulo.

 

 

La modalità operativa di base del modulo (Test / Applicazione) viene campionata e stabilita in una condizione di ripristino del modulo. Si consiglia di premere il pulsante Reset (SW5) ogni volta che SW7 viene modificato per la prima volta o quando si vuole essere sicuri che SW7 sia campionato e applicato dal modulo.
Con il jumper JP8 in corto, il LED0 si accenderà (BLU) indicando che il modulo è in modalità Test, come mostrato sopra.
Avvia l’ utility di programmazione ISupdate e seleziona la porta COM corretta (dal sottofase a). Imposta il baudrate su 115200 e il tipo di memoria su Flash / Embedded . Quindi fare clic su Connetti .

 

 
Se la connessione è andata a buon fine, vedrai il seguente messaggio:

 

 

Verifica la versione corrente del firmware

 

Per trovare la versione attualmente installata, nella sezione Accesso Flash / EEPRom / MCU / AHB, immettere “100e” nel campo Indirizzo e “2” nel campo Lunghezza (esadecimale). Quindi fare clic su Leggi .

 

 

In questo caso, possiamo vedere che è installata la versione 1.03.

 

 

Aggiorna firmware

 

Fare clic sul pulsante Sfoglia e accedere alla cartella in cui è stato precedentemente estratto il pacchetto firmware BM71 . Seleziona tutti i file HEX necessari nella finestra di dialogo e fai clic su Apri .

 

Fare clic su Aggiorna .

 

 

Dopo pochi secondi l’aggiornamento sarà completo e vedrai una schermata come quella qui sotto.

 

 

Risultati

 

È possibile verificare di disporre della nuova versione del firmware facendo nuovamente clic su Leggi nel riquadro Accesso Flash / EEPRom / MCU / AHB .

 

 

Infine, puoi fare clic su Disconnetti e chiudere lo strumento ISupdate.

 


 

Configurazione statica BM71 (strumento di configurazione dell’interfaccia utente)

 Obbiettivo

 

Le impostazioni di configurazione del dispositivo statico BM71 sono archiviate in una memoria non volatile separata nel modulo. Quando il dispositivo si accende o si ripristina, queste impostazioni vengono lette nel dispositivo.
Le impostazioni di configurazione possono modificare il comportamento del dispositivo, ad esempio:
  • Pubblicità
  • Scansione
  • Intervalli di connessione
  • Funzioni di input / output generico (GPIO), ecc.
Questa pagina fornisce una breve introduzione allo strumento di configurazione dell’interfaccia utente (UI), un’utilità basata su PC Windows ® utilizzata per modificare un file di testo di configurazione, quindi programmare le impostazioni nella memoria di configurazione del dispositivo.
È anche possibile aggiornare le impostazioni di configurazione statica nel circuito tramite l’MCU host.
La configurazione del modulo dinamico viene ottenuta tramite pacchetti di comando / risposta appositamente formattati scambiati sull’interfaccia UART (Universal Asynchronous Receiver Transmitter).

 

Materiali

 

Strumenti hardware

 

Questo laboratorio richiede un PICtail BM71 con la versione 1.06 del firmware. Visitare la pagina “Aggiornamento firmware BM71” per sapere come verificare / aggiornare il firmware del modulo.

 

Strumenti software

 

Assicurarsi di installare i driver USB MCP2200 prima di iniziare. Inoltre, scarica ed estrai lo strumento UI sul tuo PC utilizzando il collegamento sopra.

 

Diagramma di connessione

 

 

Le linee UART RX e TX vengono utilizzate per comunicare tra l’MCU host e il BM70.

 

Procedura

 

Connettiti a BM71

 

Collegare la scheda BM71 PICtail al PC tramite il connettore USB (lato inferiore della scheda) utilizzando il cavo USB in dotazione. Assicurati che i jumper J3, JP8 e J1 (tutti gialli in questa foto) siano impostati come mostrato:

 

 

Porta COM

 

Aprire la finestra Gestione dispositivi andando nel menu Start> Pannello di controllo> Hardware e suoni e quindi selezionando Gestione dispositivi . Una volta aperto, controlla quale porta COM è stata assegnata al PICtail BM71. In questo caso è COM18. Tieni presente che il tuo sarà probabilmente diverso.

 

 
Posizionare il modulo in modalità Test impostando SW7 in posizione ON, quindi premere SW5 (reset) per ripristinare il modulo.

 

 
La modalità operativa di base del modulo (Test / Applicazione) viene campionata e stabilita in una condizione di ripristino del modulo. Si consiglia di premere il pulsante Reset (SW5) ogni volta che SW7 viene modificato per la prima volta o quando si vuole essere sicuri che SW7 sia campionato e applicato dal modulo.

Con il jumper JP8 in corto, il LED0 si accenderà (BLU) indicando che il modulo è in modalità Test, come mostrato sopra.

 

Avvia lo strumento di configurazione dell’interfaccia utente

 

Dopo aver estratto i file dal file ZIP dello strumento di configurazione dell’interfaccia utente , fare doppio clic sul file dell’applicazione denominato IS187x_102_BLEDK3_UI v100.132.exe per avviare l’utilità.
Immediatamente dopo il lancio, verrà visualizzata la finestra del menu Start . Prima di poter fare qualsiasi cosa con questo strumento, dobbiamo caricare una tabella dei parametri dell’interfaccia utente. Un modo per caricare i parametri dell’interfaccia utente consiste nell’usare un file di testo dell’interfaccia utente esistente.
Fare clic su Carica nella finestra del menu Start .

 

 

Carica file di testo

 

Selezionando Carica file di testo si aprirà un’altra finestra. Scegli il file di testo predefinito IS1871SF_102_BLEDK3_UI v100.132 (BM71) e fai clic su Apri .

 

 

 

Modifica file di testo

 

Una volta caricato il file di testo, il pulsante di modifica verrà abilitato. Fare clic su Modifica .

 

 

Quando si preme il pulsante di modifica per avviare la modifica dei parametri dell’interfaccia utente, verrà visualizzata la finestra delle caratteristiche principali . Questa finestra è dove l’utente selezionerà l’applicazione di destinazione. BLEDK3 supporta tutte le operazioni Bluetooth ® Low Energy (BLE), mentre la modalità Beacon viene utilizzata solo per la pubblicità non collegabile. Se BeaconThings è selezionato, il modulo supporterà sia le operazioni BLEDK che Beacon.Ai fini di questa demo, selezioneremo solo BLEDK 0x01: BM71 e quindi faremo clic su OK 

 

 

Finestra di configurazione del sistema

 

Immediatamente dopo aver fatto clic su OK, vedremo apparire la finestra Impostazioni funzione . È in questa finestra che è possibile configurare la maggior parte dei parametri del modulo. Come possiamo vedere, ci sono alcune schede diverse, ognuna con impostazioni diverse che possiamo modificare. La prima scheda, System Setup , è dove troviamo tutte le configurazioni di sistema. Possiamo cambiare il nome del nostro dispositivo, modificare le impostazioni dell’UART, selezionare tra le modalità Manuale e Modello automatico, modificare le impostazioni di sicurezza, ecc.

 

 

 

Nella seconda scheda, Configurazione del sistema2 , troviamo la tabella Configurazione GPIO e altre impostazioni di configurazione del sistema. I pin I / O sul BM71 possono essere configurati come segnale di controllo o di indicazione. La tabella Configurazione GPIO mostrata nella scheda Configurazione sistema2 fornisce dettagli sull’assegnazione dei pin I / O configurabili per i segnali di controllo e indicazione dell’applicazione BM71 BLEDK3.

 

 

 

Sentiti libero di sfogliare le schede ed esplorare le diverse impostazioni che possono essere configurate per adattarsi al meglio alla tua applicazione. Di seguito è riportata una breve spiegazione del resto delle schede.
  • Configurazione della modalità LE: questa scheda contiene le impostazioni della modalità LE.
  • Tabella dei servizi GATT (Generic Attribute Profile): in questa scheda, l’utente può creare la propria tabella dei servizi GATT.
  • Configurazione LED: questa scheda è la pagina di configurazione P0_2 / LED0. Questa è un’uscita di stato a funzione fissa in BLEDK3 e indica in quale stato si trova attualmente il modulo tramite lo schema di lampeggiamento LED.
  • Beacon Setup: questa scheda contiene tutte le configurazioni di iBeacon.

Nome del dispositivo

 

 

Di solito, la prima impostazione che i clienti scelgono di modificare è il frammento di nome nella sezione Informazioni sul dispositivo della scheda Configurazione del sistema. Ciò ti consente di identificare facilmente il tuo dispositivo su uno smartphone durante la scoperta generale. In questo caso, abbiamo scelto di chiamare il modulo “DeveloperHelp”.

 

 

L’identificatore del frammento di nome diventa la caratteristica del nome del dispositivo del servizio GAP (Generic Access Profile) del modulo.

 

UART RX IND

 

 

Un’altra impostazione importante su questo strumento è l’ UART RX_IND . Per ridurre il consumo di corrente, BLEDK3 entrerà automaticamente in modalità Low-Power se UART RX_IND è abilitato e il pin UART_RX_IND è assegnato. Quando si trova nella modalità di funzionamento con alimentazione normale, il modulo esegue un clock a 16 MHz; in modalità Low-Power, il modulo esegue un clock a 32 kHz. La modalità di funzionamento a basso consumo disabilita anche la sezione UART del modulo e quindi l’MCU host non ha modo di comunicare con il modulo. Se l’MCU host deve inviare / ricevere dati / comandi al modulo, l’unico modo per farlo è abbassare il pin UART_RX_IND. Per impostazione predefinita, il pin UART_RX_IND è abilitato, ma per gli scopi di questo laboratorio, lo disabiliteremo , impedendo quindi al modulo di entrare in modalità Low-Power.

 

 

Se si utilizza lo strumento per la ripetizione manuale con la scheda BM-71-PICTail, si consiglia di disabilitare la funzione UART_RX_IND, in modo che l’utilità sia in grado di comunicare con il modulo. Nell’applicazione finale, si consiglia di abilitare questa funzione per ridurre il consumo energetico.

 

Schema di funzionamento

 

Utilizzando questo strumento UI è anche possibile selezionare se il BM71 funzionerà in modalità Pattern automatico o in modalità Pattern manuale. Fare riferimento alla pagina “Modalità operative BM71” per saperne di più sulle modalità Auto e Pattern manuale.

 

 

Vai avanti e seleziona la modalità che desideri utilizzare.

 

Salva le impostazioni

 

Dopo aver apportato tutte le modifiche desiderate, dobbiamo scrivere queste nuove impostazioni di configurazione nel nostro modulo. Fare clic su Fine .

 

 

Dopo la chiusura della finestra, selezionare Salva nel menu Start per salvare le impostazioni di configurazione in un file di testo sul computer. Ora avrai un punto di partenza per ulteriori modifiche dei tuoi parametri statici.

 

 

Impostazioni di scrittura

 

Quindi, seleziona Scrivi nel menu Start per scrivere le impostazioni nel modulo.

 

 

Nella finestra che si apre, seleziona la porta COM corretta che è stata assegnata al tuo BM71 PICtail e per Baudrate seleziona 115200 . Quindi fare clic sul pulsante Scrivi .

 

 

 

finire

 

Verrà visualizzata una finestra che chiede se sei sicuro di voler scrivere su EFLASH, seleziona Sì .

 

 

Infine vedrai una finestra che ti informa che la scrittura è andata a buon fine. Fare clic su OK .

 

 

È ora possibile chiudere la finestra del menu Start.

 

 Conclusioni

 

Le impostazioni sono ora state salvate in una memoria non volatile separata. La prossima volta che il dispositivo si accende o si ripristina, queste impostazioni verranno lette nel dispositivo.

 


 

Demo UART trasparente BM71 (strumento modello automatico)

 

Obbiettivo

 

Il firmware BLEDK3 sul BM71 offre due macchine a stati per l’utente: modalità Pattern automatico e modalità Pattern manuale . Lo strumento di configurazione dell’interfaccia utente (UI) consente all’utente di decidere in quale modalità entrerà il modulo una volta acceso. Questo laboratorio si concentrerà sulla modalità Auto Pattern.
Questa modalità è essenziale per utilizzare il BM71 come pipe dati tramite il servizio UART (Transparent Universal Asynchronous Reciever Transmitter) . Non è destinato ad essere utilizzato per altri servizi / caratteristiche privati. Automatizza la maggior parte delle attività; tuttavia, fornisce anche una finestra di opportunità per configurare il modulo prima che subentri la macchina a stati Auto Pattern. Questa finestra temporale è denominata modalità di configurazione.
Desideri:
  • Utilizzare lo strumento UI per impostare il modulo sulla modalità Pattern automatico
  • Informazioni sulla modalità di configurazione
  • Utilizzare lo strumento di test del modello automatico per comunicare tramite il servizio UART trasparente
 Materiali
Strumenti hardware
Questo laboratorio utilizza una scheda PICtail BM71 con la versione 1.06 del firmware. Se non hai la v1.06, vai alla pagina “Aggiornamento firmware BM71” per aggiornare il tuo modulo BM71.
  • Smartphone Apple
    • iOS versione 5 o successiva
    • Hardware BT 4.0 o superiore
 

Strumenti software

 

Assicurarsi di installare i driver USB MCP2200 prima di iniziare. Inoltre, scarica / estrai lo strumento di configurazione dell’interfaccia utente e lo strumento di test del pattern automatico sul tuo PC utilizzando i collegamenti sopra.

 

 Diagramma di connessione

 

 

Diagramma di flusso del modello automatico

 

 

Procedura

 

Connettiti a BM71

 

Collegare la scheda BM71 PICtail al PC tramite il connettore USB (lato inferiore della scheda) utilizzando il cavo USB in dotazione. Assicurati che i jumper J3, JP8 e J1 (tutti gialli in questa foto) siano impostati come mostrato:

 

Porta COM

 

Aprire la finestra Gestione dispositivi andando nel menu Start> Pannello di controllo> Hardware e suoni e quindi selezionando Gestione dispositivi . Una volta aperto, controlla quale porta COM è stata assegnata alla scheda BM71 PICtail. In questo caso, è COM18. Tieni presente che il tuo sarà probabilmente diverso.

 

 

Posizionare il modulo in modalità Test impostando SW7 in posizione ON, quindi premere SW5 (reset) per ripristinare il modulo.

 

 

La modalità operativa di base del modulo (Test / Applicazione) viene campionata e stabilita in una condizione di ripristino del modulo. Si consiglia di premere il pulsante Reset (SW5) ogni volta che SW7 viene modificato per la prima volta o quando si vuole essere sicuri che SW7 sia campionato e applicato dal modulo.
​Con il Jumper JP8 in corto, il LED0 si accenderà (BLU) indicando che il modulo è in modalità Test, come mostrato sopra.

 

Avvia lo strumento di configurazione dell’interfaccia utente

 

Dopo aver estratto i file dal file ZIP dello strumento di configurazione dell’interfaccia utente , fare doppio clic sul file dell’applicazione denominato IS187x_102_BLEDK3_UI v100.132.exe per avviare l’utilità.
Immediatamente dopo il lancio, verrà visualizzata la finestra del menu Start. Prima di poter fare qualsiasi cosa con questo strumento, dobbiamo caricare una tabella dei parametri dell’interfaccia utente. Un modo per caricare i parametri dell’interfaccia utente consiste nell’usare un file di testo dell’interfaccia utente esistente.
Fare clic su Carica nella finestra del menu Start .

 

 

Carica file di testo

 

Selezionando Carica file di testo si aprirà un’altra finestra. Scegli il file IS1871SF_102_BLEDK3_UI v100.132 (BM71) default.txt e fai clic su Apri .

 

 

Modifica file di testo

 

Una volta caricato il file di testo, il pulsante di modifica verrà abilitato. Fare clic su Modifica .

 

 

Quando si preme il pulsante di modifica per avviare la modifica dei parametri dell’interfaccia utente, verrà visualizzata la finestra delle caratteristiche principali. Questa finestra è dove l’utente selezionerà l’applicazione di destinazione. BLEDK3 supporta tutte le operazioni Bluetooth Low Energy (BLE), mentre la modalità Beacon viene utilizzata solo per la pubblicità non collegabile. Se BeaconThings è selezionato, il modulo supporterà sia le operazioni BLEDK che Beacon.
Ai fini di questa demo, selezioneremo solo BLEDK 0x01: BM71 e quindi faremo clic su OK .

 

Configura modulo

 

La finestra che segue è chiamata finestra Impostazioni funzioni . Tutte le impostazioni che modificheremo per questo laboratorio si trovano nella scheda Configurazione del sistema .
La prima impostazione che cambieremo è il frammento di nome nel riquadro Informazioni sul dispositivo . Abbiamo scelto di chiamare il modulo “DeveloperHelp”. Questo è il nome che verrà visualizzato nei risultati della scansione.

 

 

 

Successivamente, disabiliteremo la funzione UART_RX_IND. Quando è abilitata, questa funzione pone il modulo in una modalità di alimentazione ridotta, interrompendo il suo funzionamento RX UART. L’MCU host deve quindi portare questo pin alto per abilitare le successive operazioni di I / O del pacchetto.

 

 

Quindi, sceglieremo Auto Pattern come nostro Operation Pattern.

 

 

Prima di entrare in modalità Auto Pattern, il BM71 può entrare in uno stato chiamato modalità Configure (vedere lo schema sotto). Le impostazioni relative possono essere configurate mentre il BM71 è in questa modalità. L’opzione Timeout modalità di configurazione fornisce il periodo di tempo in cui il modulo rimarrà in modalità Configurazione se non gli vengono inviati comandi.

 

 

Per i nostri scopi dimostrativi, cambiamo il valore dell’impostazione Configura Timeout modalità su un valore diverso da zero. Ho scelto circa sei secondi (6.4s = 0x 0A ).

 

 

Dopo aver modificato il Timeout della modalità di configurazione su un valore diverso da zero, è necessario immettere i parametri EEPROM nel modulo. Fare clic su Fine .

 

 

 

Impostazioni di scrittura

 

Dopo la chiusura della finestra, seleziona Scrivi nella finestra del menu Start che rimane aperta.

 

 

Nella finestra che si apre, seleziona la porta COM corretta che è stata assegnata alla tua scheda BM71 PICtail. Per Baudrate, selezionare 115200 e quindi fare clic su Scrivi .

 

 

Vedrai una finestra che ti chiede se sei sicuro di voler scrivere su EFLASH. Seleziona Sì .

 

 

Infine, vedrai una finestra che ti informa che la scrittura è andata a buon fine. Fare clic su OK .

 

 

È ora possibile chiudere la finestra del menu Start.

 

 

Modalità app

 

Mettere il modulo in modalità App spostando il dip-switch SW7 in posizione OFF e resettando il modulo premendo SW5 (pulsante immediatamente sopra il dip-switch).

 

Avvia lo strumento Auto-Pattern

 

Selezionare la porta COM corretta dal passaggio 1a e premere Connetti per connettersi al modulo.

 

 

 

Se premi il pulsante Reset sul PICtail, dovresti ricevere un messaggio “Configure Mode is Enable” che indica che il modulo è pronto per accettare alcuni comandi di configurazione. Fare clic su OK

 

 

Verrai immediatamente portato alla scheda Modalità di configurazione dove vedrai tutti i comandi della modalità di configurazione consentiti.

 

 

Se non invii un comando al modulo entro i 6,4 secondi specificati in precedenza in questo laboratorio, la modalità di configurazione scadrà e vedrai il messaggio “La modalità di configurazione è disabilitata” nello strumento di test del pattern automatico.

 

Premere nuovamente il pulsante di ripristino sul BM70 PICtail per accedere alla modalità di configurazione. Fare clic su OK nel messaggio “La modalità di configurazione è abilitata” e inviare il comando 0x01: Leggi informazioni locali .

 

 

Il modulo risponderà con la sua versione e le informazioni sull’indirizzo MAC come vediamo in verde sopra.

 

Ora che abbiamo inviato un comando, puoi continuare a inviare i comandi di configurazione al BM70 per tutto il tempo che desideri. Il modulo rimarrà in modalità di configurazione fino a quando non verrà emesso il comando 0x52: Leave Configuration .

 

 

 

A quel punto vedrai il seguente messaggio pop-up:

 

 

Fare clic su OK . Il modulo uscirà automaticamente dalla modalità Configurazione ed entrerà in modalità Pattern automatico. Rimarrà in Standby per tutti i secondi che abbiamo specificato nello strumento di configurazione dell’interfaccia utente (in questo caso circa 2 minuti).

 

 

 

Connettiti allo smartphone

 

Lo strumento Auto Pattern Test può essere utilizzato anche per inviare dati tramite UART trasparente. L’invio e la ricezione di dati tramite UART trasparente utilizzando lo strumento Auto PatternTest è simile alla demo che si trova qui
Dopo aver lasciato la modalità Configura, puoi aprire l’app SmartData e quando inizia la scansione, dovresti vedere il nome del tuo modulo nell’elenco.

 

 

Tocca il nome del tuo modulo per connetterti ad esso.

 

 

Invia file dallo strumento Pattern automatico

 

Nella scheda Raw Data Page sotto il pannello Tx Control , fare clic su Load File e cercare il percorso del file che si desidera inviare. Per questo esempio, si chiama TestMessage.txt , come mostrato nello screenshot qui sotto.

 

 

Quindi, fare clic sul pulsante Tx Start .

 

 

Sull’app SmartData noterai che i dati sono stati ricevuti.

 

 

 


 

Demo UART trasparente BM71 (CoolTerm)

 

 Obbiettivo

 

La prima parte di questo esercizio di laboratorio mostra come trasferire i dati tramite il servizio Trasmettitore ricevitore asincrono universale trasparente (UART) utilizzando uno smartphone iOS. La seconda parte del laboratorio utilizza l’ app Smart Discover di Microchip per connettersi al modulo BM71 e discute brevemente di come configurare il LED1 sul PICtail ™ per indicare diversi stati del modulo (Standby, Connesso, ecc.).
Desideri:
  • Configurare il modulo BM71 da utilizzare in modalità Auto Pattern.
  • Usa l’ app Bluetooth® Smart Data per comunicare con il modulo tramite il servizio UART trasparente
  • Scopri come configurare la velocità di lampeggiamento del LED1 sul PICtail BM71 per indicare diversi stati di BLEDK3.
 Materiali
Strumenti hardware
​Questo laboratorio utilizza un PICtail BM71 con la versione 1.06 del firmware. Se non hai almeno la v1.06, vai alla pagina Aggiornamento firmware per aggiornare il tuo modulo BM71.
  • Smartphone Apple ®
    • iOS versione 5 o successiva
    • Hardware BT 4.0 o superiore
Strumenti software
Assicurarsi di installare i driver USB MCP2200 prima di iniziare. Inoltre, scarica ed estrai lo strumento di configurazione dell’interfaccia utente sul tuo PC utilizzando il collegamento sopra. Infine, assicurati di aver installato Bluetooth Smart Data (iOS) e l’app Smart Discover sul tuo smartphone.

 

Macchina a stati della modalità Auto Pattern

 

 

L’immagine sopra rappresenta il diagramma di flusso di base per la macchina a stati in modalità Auto Pattern. Dopo l’accensione, il dispositivo entrerà in stato di standby, il che significa che il modulo BM71 è rilevabile e collegabile a un dispositivo peer. Quindi, può entrare nello stato di collegamento, il che significa che il modulo BM71 è collegato a un dispositivo peer e sta scambiando dati; questo stato elabora anche il modo in cui il dispositivo risponde se disconnesso. Infine, il modulo entra nello stato di arresto.

 

Procedura

 

Connettiti a BM71

 

Collegare il BM71 PICtail al PC tramite il connettore USB (lato inferiore della scheda) utilizzando il cavo USB in dotazione. Assicurati che i jumper J3, JP8 e J1 (tutti gialli in questa foto) siano impostati come mostrato:

 

 

Porta COM

 

Apri la finestra Gestione dispositivi andando nel menu Start> Pannello di controllo> Hardware e suoni, quindi seleziona Gestione dispositivi . Una volta aperto, controlla quale porta COM è stata assegnata al PICtail BM71. In questo caso, è COM18, tieni presente che il tuo sarà probabilmente diverso.

 

 

Posizionare il modulo in modalità Test impostando SW7 in posizione ON , quindi premere SW5 (reset) per ripristinare il modulo.

 

 

La modalità operativa di base del modulo (Test / Applicazione) viene campionata e stabilita in una condizione di ripristino del modulo. Si consiglia di premere il pulsante Reset (SW5) ogni volta che SW7 viene modificato per la prima volta o quando si vuole essere sicuri che SW7 sia campionato e applicato dal modulo.
​Con il Jumper JP8 in corto, il LED1 si accenderà (BLU) indicando che il modulo è in modalità Test, come mostrato sopra.

 

Avvia lo strumento di configurazione dell’interfaccia utente

 

Dopo aver estratto i file dal file ZIP dello strumento di configurazione dell’interfaccia utente , fare doppio clic sul file dell’applicazione denominato IS187x_102_BLEDK3_UI v100.132.exe per avviare l’utilità.
Immediatamente dopo il lancio, verrà visualizzata la finestra del menu Start. Prima di poter fare qualsiasi cosa con questo strumento, dobbiamo caricare una tabella dei parametri dell’interfaccia utente. Un modo per caricare i parametri dell’interfaccia utente consiste nell’usare un file di testo dell’interfaccia utente esistente.
Fare clic su Carica nella finestra del menu Start .

 

 

Carica file di testo

 

Selezionando Carica file di testo si aprirà un’altra finestra. Scegli il file di testo predefinito IS1871SF_102_BLEDK3_UI v100.132 (BM71) e fai clic su Apri .

 

 

Modifica file di testo

 

Una volta caricato il file di testo, verrà abilitato il pulsante Modifica. Fare clic su Modifica .

 

 

Quando si preme il pulsante Modifica per avviare la modifica dei parametri dell’interfaccia utente, verrà visualizzata la finestra delle caratteristiche principali. Questa finestra è dove l’utente selezionerà l’applicazione di destinazione. BLEDK3 supporta tutte le operazioni Bluetooth Low Energy (BLE), mentre la modalità Beacon viene utilizzata solo per la pubblicità non collegabile. Se BeaconThings è selezionato, il modulo supporterà sia le operazioni BLEDK che Beacon.
Ai fini di questa demo, selezioneremo solo BLEDK 0x01: BM71 e quindi faremo clic su OK .

 

Nome del dispositivo

 

La finestra di dialogo principale si apre fornendo tutte le opzioni dei parametri che possiamo modificare. La prima impostazione che cambieremo durante questo lab è il frammento di nome in Informazioni sul dispositivo. In questo caso, ho scelto di chiamare il modulo “DeveloperHelp”. Questo è il nome che verrà visualizzato nei risultati della scansione.

 

 

L’identificatore del frammento di nome diventa la caratteristica del nome del dispositivo del servizio GAP (Generic Access Profile) del modulo.

 

Disabilita UART_RX_IND

 

In Impostazioni UART, accanto a UART RX_IND, seleziona il menu a discesa per disattivare questa funzione:

 

 

Quando è abilitata, questa funzione pone il modulo in una modalità di alimentazione inferiore, interrompendo il suo funzionamento RX UART. L’MCU host deve quindi portare questo pin alto per abilitare le successive operazioni di I / O del pacchetto.

 

Salva le impostazioni

 

Dopo aver cambiato il nome del nostro modulo BM71 e disabilitato UART RX_IND, dobbiamo scrivere queste nuove impostazioni di configurazione nel modulo. Notare che la modalità Auto Pattern è selezionata per impostazione predefinita; quindi non abbiamo bisogno di cambiarlo. Fare clic su Fine .

 

 

Impostazioni di scrittura

 

Dopo la chiusura della finestra, seleziona Scrivi nella finestra del menu Start che rimane aperta.

È utile salvare un file di configurazione dell’interfaccia utente se si utilizzano ripetutamente quelle determinate impostazioni. Risparmierai tempo potendo caricare il file di testo invece di dover tornare indietro e modificare tutte le impostazioni dal file predefinito.

 

 

Nella finestra che si apre, seleziona la porta COM che è stata assegnata al tuo BM71 PICtail (Passaggio 1a). Per Baudrate selezionare 115200 e quindi fare clic su Scrivi .

 

 

 

Verrà visualizzata una finestra che chiede se sei sicuro di voler scrivere su EFLASH, seleziona Sì .

 

 

Infine vedrai una finestra che ti informa che la scrittura è andata a buon fine. Fare clic su OK .

 

È ora possibile chiudere la finestra del menu Start.

 

 

Modalità app

 

Mettere il modulo in modalità App spostando il dip-switch SW7 in posizione OFF e resettare il modulo premendo SW5 (il pulsante immediatamente sopra il dip-switch).

 

 

App Smart Data (iOS)

 

Apri l’app Smart Data e cerca il tuo dispositivo.

 

 

Tocca il suo nome (in questo caso DeveloperHelp) e vedrai Status: Connected.

 

 

CoolTerm

 

Il passaggio successivo consiste nell’impostare una connessione alla porta seriale CoolTerm. Di seguito troverai le impostazioni che ho utilizzato. Assicurati di selezionare la porta COM corretta dal passaggio 1a. Il Baudrate dovrebbe essere 115200 .

 

 

Invia i dati

 

È ora possibile iniziare a scambiare dati. Dopo aver digitato il messaggio sull’app, premi Invia e lo vedrai immediatamente nella finestra di CoolTerm .

 

 

Durante la digitazione nella finestra CoolTerm , il messaggio apparirà sull’app Smart Data.

 

 

 

Come puoi vedere, qualunque cosa digiti nell’app Smart Data sul dispositivo iOS verrà mostrata nella finestra CoolTerm e viceversa.

 

App Smart Discover (iOS e Android)

 

Avvia l’ app Smart Discover sul tuo smartphone e tocca il nome del modulo per connetterti ad esso. L’app elencherà immediatamente tutti i servizi precaricati sul modulo.
Se desideri vedere come le informazioni trovate all’interno dell’app possono essere utili, visita la pagina BM71 Generic Attribute Profile (GATT) Server Demo (Public Service)

 

 

Oltre a mostrare Status: Connected, puoi verificare di aver stabilito un collegamento al tuo BM71 dando un’occhiata al PICtail stesso. Il LED1 dovrebbe lampeggiare due volte ogni 1,5 secondi, che è l’impostazione predefinita. La frequenza di lampeggiamento del LED è qualcosa che puoi personalizzare utilizzando lo strumento UI (vedi screenshot sotto).

 

 

Se hai un telefono o un tablet Android, puoi scaricare l’app Smart Discover (che si trova nella sezione “Strumenti software” sopra) e connetterti al tuo modulo BM71 in questo modo.
Infine, puoi toccare Disconnetti per rilasciare il collegamento tra lo smartphone e il BM71. Il LED1 tornerà a lampeggiare una volta ogni tre secondi per mostrare che ora è in modalità Standby. Anche in questo caso, questa impostazione può essere personalizzata utilizzando lo strumento UI.

 


 

Demo della periferica GAP BM71 (esecuzione dei collegamenti)

 

 Obbiettivo

 

Questo esercizio di laboratorio ti consentirà di configurare, quindi esplorare, le procedure di rilevamento e connessione del profilo di accesso generico (GAP) su un BM71 configurato come periferica GAP, utilizzando una scheda BM-71 PICtail ™.
Desideri:
  • Configurare le impostazioni di configurazione del modulo statico chiave utilizzando lo strumento di configurazione dell’interfaccia utente (UI) (nome dispositivo, piedinatura, modalità operativa, dati e intervallo di payload del pacchetto ADV e SCAN_RSP predefiniti, LED0 ecc …)
  • Attiva dinamicamente le modalità e le procedure di GAP Discovery tramite i codici BM71 OP utilizzando lo strumento di test del pattern manuale
  • Interagisci con la lavagna utilizzando un’app per smartphone

 

Materiali

 

Strumenti hardware

 

  • BM71 PICtail
  • Smartphone Android (testato in laboratorio con BLU Advance 5.0 ).
    • Versione OS 4.4 o successiva
    • Hardware BT 4.0 o superiore
  • Smartphone Apple
    • OS versione 5 o successiva
    • Hardware BT 4.0 o superiore
Questo laboratorio utilizza un PICtail BM71 con la versione 1.06 del firmware. Se non hai la v1.06 (o non sei sicuro di quale versione possiedi), vai alla pagina “Aggiornamento firmware BM71” per aggiornare il tuo modulo BM71.

 

Strumenti software

 

Assicurarsi di installare i driver USB MCP2200 prima di iniziare. Inoltre, scarica ed estrai lo strumento di configurazione dell’interfaccia utente e lo strumento di test del pattern manuale sul tuo PC utilizzando i collegamenti sopra.

 

Diagramma di connessione

 

 

Diagramma di flusso del modello manuale

 

In questo esempio, il BM71 è configurato per funzionare in modalità manuale del modello (ad esempio, un generico Bluetooth ® Low Energy (BLE) Link Controller). Il seguente diagramma di flusso descrive l’operazione:

 

 

Procedura

 

Configurazione periferica

 

Posizionare il modulo in modalità test

 

Dopo aver collegato il PICtail al PC utilizzando il cavo USB in dotazione, posizionare il modulo in modalità Test impostando SW7 in posizione ON, quindi premere SW5 (Reset) per ripristinare il modulo. Inoltre, assicurati che i ponticelli siano tutti impostati come mostrato:

 

 

Con il Jumper JP8 in corto, il LED0 si accenderà (BLU) indicando che il modulo è in modalità Test, come mostrato sopra.

 

Avvia lo strumento di configurazione dell’interfaccia utente

 

Aprire lo strumento di configurazione dell’interfaccia utente BLEDK3 e caricare il file di configurazione BM71 predefinito: IS1871SF_102_BLEDK3_UI v100.132 (BM71) default.txt

 

 

I file di configurazione BM71 “predefiniti” si trovano nella cartella principale in cui è installato UI Config Tool.
Selezionare Modifica e assicurarsi che il BLEDK pulsante di opzione è selezionata e che BM71 è il dispositivo selezionato sotto la Caratteristica principale finestra. Quindi premere OK .

 

 

Scheda System Setup

 

Cambia nome dispositivo

 

Nel riquadro Informazioni dispositivo , imposta il frammento del nome su lab2p-XXXX dove XXXX sono le ultime quattro cifre dell’indirizzo MAC BM71. Questo identificatore diventerà la caratteristica del nome del dispositivo del servizio GAP, così come l’identificatore del nome locale durante la pubblicità.

 

 

Questo esercizio di laboratorio è stato sviluppato per un ambiente di classe con molte radio. L’aggiunta delle ultime quattro cifre dell’indirizzo MAC al nome del dispositivo aiuta a identificare una scheda specifica durante il processo di rilevamento generale.

Il nome del dispositivo dovrebbe essere univoco. Inoltre, poiché il pacchetto pubblicitario è piuttosto piccolo (carico utile massimo di 31 byte), ti suggeriamo di limitare l’ID del nome a meno di otto caratteri (ad esempio, per il nome del dispositivo di 10 caratteri mostrato, se provi ad aggiungere un 16- byte servizio privato al payload ADV, riceverai un messaggio di errore).

 

Disabilita UART_RX_IND

 

Scorri verso il basso fino al riquadro Impostazioni Uart , quindi seleziona Disabilita dal menu a discesa UART RX_IND come mostrato.

 

 

Quando è abilitata, questa funzione pone il modulo in una modalità di funzionamento a consumo ridotto, interrompendo il suo funzionamento RX UART. L’MCU host deve abbassare questo pin per almeno 3 ms prima di inviare il pacchetto successivo al modulo, come mostrato.

 

 

Configurare la modalità operativa Pattern manuale (BLE GATT)

 

Nel riquadro Impostazione modalità di funzionamento , selezionare Schema manuale per Schema operativo come mostrato.

 

 

Fare clic su OK nella finestra di dialogo a comparsa che segue.

 

 

Fare clic su Avanti per passare alla scheda successiva.

 

Scheda System Setup2

 

Configurazione GPIO (General Purpose Input / Output)

 

Nel riquadro Configurazione GPIO , assicurati che le impostazioni del pulsante di opzione del pin GPIO siano lasciate alle impostazioni predefinite come mostrato di seguito.

 

 

Fare clic su Avanti per passare alla scheda successiva.

 

Scheda Configurazione modalità LE

 

Intervallo pacchetto ADV

 

Nel riquadro Impostazioni pubblicità LE , impostare l’intervallo del pacchetto ADV, indicato qui come Intervallo pubblicità veloce LE , su 100 ms scrivendo “0x00A0” nel campo come mostrato di seguito.

 

 

I parametri LE Fast Advertising Timeout e LE Reduced Power Interval / Timeout vengono utilizzati solo per il funzionamento in modalità Auto-Pattern.
Lascia i parametri rimanenti così come sono.

 

Payload pacchetto ADV

 

Nel riquadro Impostazione dati pubblicitari , assicurati che Nome dispositivo completo e Flag siano selezionati e inclusi nel payload. (La caratteristica GAP Device Name verrà automaticamente inclusa nel pacchetto ADV come Local Name.)

 

 

Questa scheda imposta il payload del pacchetto pubblicitario di tipo ADV_IND predefinito (statico), che viene emesso quando il BM71 funziona in modalità GAP General Discoverable. I tipi ei parametri ADV possono essere modificati dinamicamente tramite op-code 0x13 (Set_Advertising_Parameter).

 

SCAN_RSP Packet Payload

 

Nel riquadro Scan Response Data Setting , assicurarsi che Tx Power sia abilitato per il payload.

 

 

Un pacchetto SCAN_RSP viene restituito a uno scanner che ha emesso un pacchetto SCAN_REQ. Questi pacchetti forniscono informazioni aggiuntive a un dispositivo Scanner / Centrale.
Il resto delle impostazioni viene lasciato ai valori predefiniti.

 

Impostazioni di scrittura

Premere Fine .

 

 

Per programmare queste impostazioni nel modulo BM71, fare clic su Scrivi , selezionare la porta COM che si sta utilizzando e premere nuovamente Scrivi .

 

Nella finestra che si apre, fai clic su e infine su OK come mostrato sopra.

Chiudi lo strumento di configurazione dell’interfaccia utente.

 

Scoperta e connessione GAP

 

Scoperta significa:
  • Metti la periferica in modalità Rilevabile generale (avvia Pubblicità).
  • Attivare la centrale per avviare la procedura di rilevamento generale (scansione).
Collegamento significa:
  • La centrale esegue una procedura di creazione della connessione generale (scansiona / seleziona una periferica in base a determinati criteri, quindi avvia una procedura di creazione della connessione diretta).
Posizionare il modulo in modalità applicazione
Spostare il dip-switch SW7 in posizione OFF (1) e resettare il modulo premendo SW5 (pulsante immediatamente sopra il dip-switch).

 

 

Avvia lo strumento test pattern manuale

Aprire lo strumento di test del modello manuale e connettersi alla porta COM associata alla scheda.

 

 

Comando e risposta
Verificare la connessione inviando un pacchetto di informazioni locali di lettura. Seleziona 0x01: Leggi informazioni locali per codice operativo nella scheda Comune .

 

 

 

Visualizzazione registro e Informazioni locali :

 

 

La visualizzazione registro non mostra il delimitatore di pacchetto (0xAA) o i valori di checksum sui pacchetti in uscita o in arrivo.

 

 

Analisi del pacchetto di comando “Leggi informazioni locali” (0x01)

 

 

Modalità di funzionamento

 

Verificare lo stato / modalità di funzionamento del BM71 inviando un pacchetto di stato Read BLEDK3. Seleziona 0x03: Leggi BLEDK3 Status per Opcode nella scheda Common .

 

 

Il modulo dovrebbe essere in modalità inattiva .

 

 

Panoramica sulla pubblicità (BM71)

 

Imposta dati pubblicitari

 

Su BM71, l’intervallo ADV, nonché i dati di payload ADV_IND e SCAN_RSP possono essere impostati staticamente (utilizzando lo strumento di configurazione dell’interfaccia utente) e dinamicamente (tramite il comando op-codici / pacchetti).
Poiché abbiamo impostato un intervallo ADV_IND appropriato, nonché i dati del payload ADV_IND e SCAN_RSP utilizzando lo strumento di configurazione dell’interfaccia utente (passaggi da 7 a 9 sopra), non avremo bisogno di aggiornarli dinamicamente tramite lo strumento di valutazione del modello manuale di seguito.
Se è necessario aggiornare dinamicamente i dati del payload ADV e SCAN_RSP, selezionare la scheda Dati ADV / SR e impostare il payload dei dati pubblicitari e di risposta della scansione. Quindi, premendo Update verrà emesso il codice operativo GAP Command 0x11 (Write_Adv_Data) per aggiornare i dati del payload inviati durante la modalità Advertising (Standby):

 

 

Se è necessario aggiornare dinamicamente l’intervallo ADV, è possibile utilizzare il codice operativo GAP 0x13 (Set_Adv_Parameter) per modificare dinamicamente l’intervallo ADV:

 

 

Su un ripristino BM71, l’intervallo ADV, così come i dati di payload ADV_IND e SCAN_RSP torneranno alle impostazioni effettuate nello strumento di configurazione dell’interfaccia utente e salvati nella memoria di configurazione non volatile. Eventuali modifiche dinamiche (apportate tramite il comando op-code / packets) andranno perse.

 

Mettere la periferica BM71 in modalità rilevabile generale

 

Inizia la pubblicità

Tutte le operazioni GAP sono controllate tramite la scheda GAP
Nella scheda GAP , seleziona 0x1C: (Set Adv Enable) per Opcode. Selezionare 0x01: (Enter Standby Mode) per la modalità Standby. Infine, premi Invia come mostrato:

 

 

Dovresti vedere i seguenti indicatori di successo:
BT Status mostrerà “0x03: Standby Mode”

 

 

Il LED blu (P2_0 / LED) lampeggerà una volta ogni tre secondi (impostazione predefinita – configurabile tramite UI Config Tool):

 

 

 

Dovresti anche vedere il nome locale della periferica visualizzato nell’app Smart Discover, insieme a RSSI e ADV Interval (Android):

 

 

 

Connettersi alla periferica BM71 utilizzando l’app SmartDiscover
Nell’elenco di scansione, seleziona il dispositivo BM71 a cui desideri connetterti toccandolo.
Vedrai i seguenti indicatori di successo:
BT Status mostrerà “0x0C: BLE Connected Mode” e vengono fornite anche le informazioni sulla connessione LE (fornite dalla centrale).

 

 

Il LED blu (P2_0 / LED) lampeggia due volte ogni 1,5 secondi (impostazione predefinita, configurabile tramite lo strumento di configurazione dell’interfaccia utente):

 

 

In SmartDiscover, saranno stati enumerati i servizi predefiniti e visualizzati i dati ADV e SCAN_RSP per il dispositivo:

 

 

 

Disconnettersi dalla periferica BM71 utilizzando l’app SmartDiscover
Nell’app SmartDiscover, disconnettersi dal dispositivo toccando DISCONNETTI .
Dovresti vedere i seguenti indicatori di successo:
BT Status mostrerà “0x09 Idle Mode”:

 

 

Il LED blu (P2_0 / LED) smetterà di lampeggiare:

 

 

Conclusioni

 

Un dispositivo periferico GAP deve configurare:
  • Dati del carico utile ADV
  • Dati del carico utile SCAN_RSP
  • Intervallo pubblicitario
  • I parametri BM71 possono essere modificati staticamente o dinamicamente:
    • Staticamente: utilizzando lo strumento di configurazione dell’interfaccia utente o tramite scrittura diretta nella memoria non volatile di configurazione.
    • Dinamicamente: tramite codici operativi / pacchetti inviati al modulo
 

 
Bene questa era la guida data dalla Microchip ora passiamo alla questione pratica, ci son vari modi per usare il BM71 o RN487X , cè la modalita’ con RX/TX/RTS/CTS oppure semplicemente con RX/TX UART Trasparent, noi vedremo sia una che l’altra modalita il circuito che presentero è collegato con solo TX/RX, cosi facendo andremo a programmare con un tasto il nostro BM71.

 

Questo progetto sara’ suddiviso in due parti uno con un circuito dove ci sara solo il BM71 e i suoi terminali e l’altro potra essere un circuito assestante che comunichera’ con il nostro BM71 , costruendo il primo circuito avremo la possibilita sia di usarlo tramite un UART USB cosi da poterno aggiornare come da guida anche se noi la scheda develop non la usiamo ma useremo solo esclusivamente i software della guida per aggiornare il firmware del BM71 , questo upgrade è opzionale non è indispensabile, ma se volete far esperienza lo potete comunque usare senza problemi, il primo circuito è come da foto.

 

Questo schema che allego foto del circuito stampato finito

 

 

 

 

 

 

davanti pcb

 

retro pcb

 

 

Questa è la scheda che con i terminali configurabili semlicemente usando una scheda USB/UART.

 

Qui trovate loschema del circuito progettato con kicad.
E allego anche il Datasheet del BM71 scaricabile sia qui direttamente oppure dal sito della Microchip

 

Fin qui tutto facile semplice circuito che riporta i terminali
Pin 1 -> +5vcc
Pin 2 -> Gnd
Pin 3 -> rx
Pin 4 -> tx
Pin 5 -> rts
Pin 6 -> cts
Pin 7 -> mode
Pin 8 -> rst
Pin 9 -> Urx
Pin 1/2 sono alimentazione avendo a bordo uno stabilizzatore AMS1117 che porta la tensione da 5 volt a 3,3 volt.
Pin 3/4 sono segnali di RX/TX che servono per comunicare col BM71 ,
Pin 5/6 sono opzionali come da guida questi due pin si usano solo se viene programmato per essere usato con una certa modalita di lavoro se semplicemente lo configuriamo come UART Trasparent e come dice il termine significa che sostituisce a pieno il cavo via wireless.
Pin 7 questo pin serve per settare in che modalita’ useremo il nostro BM71 , o meglio se lo vogliamo usare come modalita’ APP oppure in modalita’ configurazione, noi useremo la tecnica start config stop restart app, ciò significa che la seconda scheda andra aggiunto un pulsante che all’accensione del circuito posizionera’ il nostro pin 7 mode in modalita’ config in LOW e una volta configurato lo riavviera in modalita’ APP posizionando questo Pin come HIGH, oppure si può anche evitare ma la scheda dovra essere prima configurata tramite un USB/UART in modalita’ uart trasparent, oppure siccome a noi piacciono le complicazioni e siamo più intrappendenti scegliamo la modalita’
start config stop restart app , questa modalita’ semplicemente accendera il modulo lo configurera’ in modalita’ trasparent uart, una volta configurato spegnera’ il modulo e lo riaccendera’ in modalita’ app.
Pin 8 è il pin diretto al BM71 del reset
Pin 9 è il pin diretto di sesegnale del pin P1_6 che configuriamo come ritorno del BM71 cosi da dare al microcontrollore che useremo un segnale di funzionamento.
Ovviamente a bordo del BM71 ci sono altri pin che potrebbero essere utilizzati a piacimento ma non è il nostro caso.
Il nostro obbiettivo è trasformare la nostra UART in un cavo senza fili sfruttando il modulo Bluethoot.
A bordo della scheda ovviamente abbiamo anche messo un led smd di alimentazione e un led smd di comunicazione o indicazione dello stato del BM71 se comunica se è in attesa se è in connessione ecc.
allego un piccolo video si simulazione dell’indicatore led.

 

 

 

Questo è un esempio che indica che siamo connessi alla nostra APP.
Più avanti vedremo anche come costruirci la nostra app in C#.
 
Questo è il bom file schematizzato

 

 

 

Fin qui tutto semplice ora passiamo ad un circuito di esempio ma ci possono essere svariate applicazioni diverse.

 

Io ho progettato questo semplice circuito di esempio che si svolge nel scheda pcb con due rele a bordo comandati dall’app via Bluetooth BM71 ed un semplice contatore interno, questo circuito si occupera di programmare il BM71 premendo un pulsante a bordo effettuando all’accensione il metodo start config stop restart app.
Programmando il BM71 come trasparent UART e settando il dispositivo con queste configurazioni che riporto, sono configurazioni minime e essenziali per far si che il BM71 venga settato come Trasparent UART.

Enter CMD MODE
$$$

con questo comando si entra nella modalità settaggio

S:,0000,4C414D424441

con questo comando si effettua il settaggio del MAC address essenziale altrimenti verrà riconosciuto come dispositivo sconosciuto ed il sistema apple non lo riconoscera’

S-,LAMBDA

con questo comando gli si specifica al BM71 il proprio name device
SN,Lambda
con questo comando gli si specifica il nome di periferica che verra’ visualizzata nella ricerca dei dispositivi Bluetooth

SC,0

con questo comando gli specifichiamo che è un dispositivo connectable cioè che possiamo connetterci

SS,C0

con questo comando gli specifichiamo che dovra mettersi in modalita’ Trasparent UART

R,1 : Reboot

ed infine con questo comando riavviamo il bluetooth, dopo questa fase iniziale il effettueremo il restar app, quindi riepilogando il tutto
il pic/usb uart posizioniamo il pin 7 = mode a low cioè porteremo il pin a massa , sul Pin 1 dopo 10 ms lo alimentera mettendosi , dopodiche come da datasheet bisognera’ dare un impulso di 1 ms sul Pin 8 che è il collegato al reset del BM71 effettueremo un’attesa totale di 68 ms poi in sequenza manderemo tutti i comandi sopra illustrati, ad ogni comando il BM71 rispondera’ con un OK noi cattureremo questo OK di conferma per mandare il resto dei comandi fino al reboot.
terminata la configurazione disialimenteremo il Pin 1 porteremo a + 5v il Pin 7 mode e lo rialimenteremo , cosi facendo il BM71 si avviera’ in modalita’ APP mode e a questo punto potremo far la scansione con il nostro diapositivo sia smartphone o pc. qui sotto riporto la sequenza in flowchart per capire meglio la sequenza e la modalita’.

 

Questo è la sequenza di funzionamento del Bm71 o meglio del circuito pilota del modulo abbastanza facile comprensione.

 

 

 

 

 

 

 

 

Total Page Visits: 380 - Today Page Visits: 1