Quali linguaggi di programmazione possono essere utilizzati per sviluppare con i moduli BLE?

May 07, 2026

Lasciate un messaggio

Olivia Wilson
Olivia Wilson
Olivia è responsabile della scalabilità della produzione da piccoli lotti alla produzione di PCBA ad alto volume presso Shenzhen STHL. Le sue eccellenti capacità organizzative e gestionali garantiscono una transizione senza soluzione di continuità e una produzione stabile ad alto volume.

In qualità di fornitore di moduli BLE (Bluetooth Low Energy), mi viene spesso chiesto quali linguaggi di programmazione siano adatti per lo sviluppo con questi moduli. La tecnologia BLE ha rivoluzionato il modo in cui ci connettiamo e interagiamo con i dispositivi e la scelta del giusto linguaggio di programmazione può avere un impatto significativo sul processo di sviluppo e sulle prestazioni del prodotto finale. In questo post del blog esplorerò alcuni dei linguaggi di programmazione più popolari che possono essere utilizzati per sviluppare applicazioni con moduli BLE e presenterò anche alcuni dei nostri moduli BLE, comeHM‑BT4502-STEHM‑BT4531-ST.

Pitone

Python è un linguaggio di programmazione interpretato di alto livello noto per la sua semplicità e leggibilità. Ha una comunità ampia e attiva, il che significa che ci sono molte librerie e framework disponibili per lo sviluppo BLE. Una delle librerie più popolari per lo sviluppo BLE di Python èspoglio.

spoglioè una libreria Python multipiattaforma che fornisce un'API semplice e facile da usare per interagire con i dispositivi BLE. Supporta sia Windows che Linux, rendendolo una scelta versatile per gli sviluppatori. Ecco un semplice esempio di utilizzospoglioper cercare dispositivi BLE:

import asyncio from bleak import BleakScanner async def run(): devices = attendono BleakScanner.discover() for d in devices: print(d) loop = asyncio.get_event_loop() loop.run_until_complete(run())

Questo codice utilizzaspoglioper cercare dispositivi BLE e stampare le relative informazioni. La semplicità di Python lo rende un'ottima scelta per la prototipazione e lo sviluppo rapido. È anche una buona opzione per gli sviluppatori che sono nuovi alla programmazione BLE.

JavaScript

JavaScript è un linguaggio di programmazione ampiamente utilizzato, soprattutto nello sviluppo web. Con l'avvento dell'API Web Bluetooth, è ora possibile utilizzare JavaScript per interagire con i dispositivi BLE direttamente dal browser. Ciò apre un mondo completamente nuovo di possibilità per lo sviluppo di applicazioni BLE basate sul web.

L'API Web Bluetooth consente agli sviluppatori web di accedere ai dispositivi BLE senza la necessità di plug-in o software aggiuntivi. Ecco un semplice esempio di utilizzo dell'API Web Bluetooth per connettersi a un dispositivo BLE:

funzione asincrona connectToDevice() { prova { const dispositivo = attendono navigator.bluetooth.requestDevice({ filtri: [{ servizi: ['battery_service'] }] }); const server = attendono dispositivo.gatt.connect(); const servizio = attendono server.getPrimaryService('battery_service'); caratteristica const = attendono service.getCharacteristic('battery_level'); valore const = attendi caratteristica.readValue(); console.log('Livello batteria:', value.getUint8(0)); } catch (errore) { console.error('Errore:', errore); } } connectToDevice();

Questo codice richiede l'accesso a un dispositivo BLE con il servizio batteria, si connette ad esso e legge la caratteristica del livello della batteria. La popolarità di JavaScript e la disponibilità dell'API Web Bluetooth lo rendono una scelta potente per lo sviluppo di applicazioni BLE basate sul Web.

C/C++

C e C++ sono linguaggi di programmazione di basso livello che offrono prestazioni e controllo elevati. Sono comunemente utilizzati nello sviluppo di sistemi embedded, il che li rende una scelta naturale per lo sviluppo di moduli BLE. Molti produttori di moduli BLE forniscono librerie C/C++ e SDK (Software Development Kit) per i loro moduli.

Ad esempio, Nordic Semiconductor, fornitore leader di chip BLE, offre l'SDK nRF5, scritto in C. L'SDK nRF5 fornisce un set completo di librerie e strumenti per lo sviluppo di applicazioni BLE sulla serie di chip nRF5 di Nordic. Ecco un semplice esempio di utilizzo dell'SDK nRF5 per creare una periferica BLE:

HM‑BT4531-STHM‑BT4502-ST

#include "nrf_drv_gpiote.h" #include "ble.h" #include "ble_hci.h" #include "ble_srv_common.h" #include "ble_advdata.h" #include "ble_conn_params.h" #include "nrf_sdh.h" #include "nrf_sdh_ble.h" #include "nrf_ble_gatt.h" #include "nrf_ble_qwr.h" #include "nrf_pwr_mgmt.h" #define APP_BLE_CONN_CFG_TAG 1 #define APP_BLE_OBSERVER_PRIO 3 static void ble_evt_handler(ble_evt_t const * p_ble_evt, void * p_context) { // Gestisci qui gli eventi BLE } static void gap_params_init(void) { // Inizializza i parametri GAP } static void advertising_init(void) { // Inizializza i dati pubblicitari } static void services_init(void) { // Inizializza i servizi } static void conn_params_init(void) { // Inizializza i parametri di connessione } static void advertising_start(void) { // Inizia la pubblicità } int main(void) { ret_code_t codice_err; err_code = nrf_sdh_enable_request(); APP_ERROR_CHECK(codice_err); err_code = nrf_sdh_ble_default_cfg_set(APP_BLE_CONN_CFG_TAG); APP_ERROR_CHECK(codice_err); err_code = nrf_sdh_ble_enable(&m_ble_observer); APP_ERROR_CHECK(codice_err); gap_params_init(); pubblicità_init(); servizi_init(); conn_params_init(); inizio_pubblicità(); for (;;) { nrf_pwr_mgmt_run(); } }

Questo codice inizializza lo stack BLE, imposta i parametri GAP, i dati pubblicitari, i servizi e i parametri di connessione, quindi avvia la pubblicità. Le prestazioni e il controllo di C/C++ li rendono adatti allo sviluppo di applicazioni BLE complesse, in particolare quelle che richiedono elaborazione in tempo reale.

Giava

Java è un linguaggio di programmazione popolare per lo sviluppo Android. Android dispone del supporto integrato per BLE e Java può essere utilizzato per sviluppare applicazioni Android che interagiscono con i dispositivi BLE. L'API BLE Android fornisce una serie di classi e metodi per individuare, connettere e comunicare con i dispositivi BLE.

Ecco un semplice esempio di utilizzo dell'API BLE Android per eseguire la scansione dei dispositivi BLE:

importa android.bluetooth.BluetoothAdapter; importa android.bluetooth.BluetoothDevice; importa android.bluetooth.BluetoothManager; importa android.content.Context; importa android.os.Bundle; importa android.widget.Toast; importa androidx.appcompat.app.AppCompatActivity; la classe pubblica MainActivity estende AppCompatActivity { private BluetoothAdapter mBluetoothAdapter; mScanning booleano privato; private BluetoothAdapter.LeScanCallback mLeScanCallback = new BluetoothAdapter.LeScanCallback() { @Override public void onLeScan(final BluetoothDevice device, int rssi, byte[] scanRecord) { runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, "Dispositivo trovato: " + device.getName(), Toast.LENGTH_SHORT).mostra(); } }); } }; @Override protected void onCreate(Bundle saveInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final BluetoothManager bluetoothManager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE); mBluetoothAdapter = bluetoothManager.getAdapter(); if (mBluetoothAdapter == null ||!mBluetoothAdapter.isEnabled()) { Toast.makeText(this, "Bluetooth non è abilitato", Toast.LENGTH_SHORT).show(); ritorno; } scanLeDevice(true); } private void scanLeDevice(final boolean abilita) { if (abilita) { mScanning = true; mBluetoothAdapter.startLeScan(mLeScanCallback); } else { mScanning = false; mBluetoothAdapter.stopLeScan(mLeScanCallback); } } }

Questo codice inizializza l'adattatore Bluetooth, avvia una scansione BLE e visualizza un messaggio di avviso quando viene trovato un dispositivo. La popolarità di Java nello sviluppo Android lo rende una scelta naturale per lo sviluppo di applicazioni BLE Android.

Conclusione

In conclusione, esistono diversi linguaggi di programmazione che possono essere utilizzati per sviluppare con i moduli BLE, ciascuno con i propri vantaggi e casi d’uso. Python è ottimo per la prototipazione e lo sviluppo rapido, JavaScript è adatto per applicazioni BLE basate sul Web, C/C++ offre prestazioni e controllo elevati per sistemi embedded e Java è ideale per lo sviluppo BLE Android.

In qualità di fornitore di moduli BLE, offriamo una gamma di moduli BLE di alta qualità, come ilHM‑BT4502-STEHM‑BT4531-ST. Questi moduli sono progettati per fornire una connettività BLE affidabile ed efficiente per una varietà di applicazioni.

Se sei interessato all'acquisto dei nostri moduli BLE o hai domande sullo sviluppo BLE, non esitare a contattarci per ulteriori discussioni e dettagli sull'approvvigionamento.

Riferimenti

  • Pitonespogliodocumentazione della biblioteca
  • Documentazione sull'API Web Bluetooth
  • Documentazione dell'SDK nRF5 di Nordic Semiconductor
  • Documentazione dell'API BLE Android
Invia la tua richiesta