Koji se programski jezici mogu koristiti za razvoj s BLE modulima?

May 07, 2026

Ostavi poruku

Olivia Wilson
Olivia Wilson
Olivia je odgovorna za skaliranje proizvodnje od malih serija do masovne proizvodnje PCBA u Shenzhen STHL. Njene izvrsne organizacijske i upravljačke vještine osiguravaju nesmetanu tranziciju i stabilan rezultat velikog obima.

Kao dobavljač BLE (Bluetooth Low Energy) modula, često me pitaju koji su programski jezici pogodni za razvoj sa ovim modulima. BLE tehnologija je revolucionirala način na koji se povezujemo i interakciju s uređajima, a odabir pravog programskog jezika može značajno utjecati na proces razvoja i performanse konačnog proizvoda. U ovom postu na blogu istražit ću neke od najpopularnijih programskih jezika koji se mogu koristiti za razvoj aplikacija s BLE modulima, a također ću predstaviti neke od naših BLE modula, kao što jeHM‑BT4502-STiHM‑BT4531-ST.

Python

Python je interpretirani programski jezik visokog nivoa poznat po svojoj jednostavnosti i čitljivosti. Ima veliku i aktivnu zajednicu, što znači da postoji mnogo biblioteka i okvira dostupnih za razvoj BLE-a. Jedna od najpopularnijih biblioteka za Python BLE razvoj jebleak.

bleakje višeplatformska Python biblioteka koja pruža jednostavan i lak za korištenje API za interakciju s BLE uređajima. Podržava i Windows i Linux, što ga čini raznovrsnim izborom za programere. Evo jednostavnog primjera korištenjableakza skeniranje BLE uređaja:

import asyncio from bleak import BleakScanner async def run(): uređaji = čekaju BleakScanner.discover() za d in uređaje: print(d) loop = asyncio.get_event_loop() loop.run_until_complete(run())

Ovaj kod koristibleakda skenirate BLE uređaje i ispišete njihove informacije. Python-ova jednostavnost čini ga odličnim izborom za izradu prototipa i brz razvoj. To je također dobra opcija za programere koji su novi u BLE programiranju.

JavaScript

JavaScript je široko korišten programski jezik, posebno u web razvoju. Sa pojavom Web Bluetooth API-ja, JavaScript se sada može koristiti za interakciju sa BLE uređajima direktno iz pretraživača. Ovo otvara potpuno novi svijet mogućnosti za razvoj web-baziranih BLE aplikacija.

Web Bluetooth API omogućava web programerima da pristupe BLE uređajima bez potrebe za dodatnim dodacima ili softverom. Evo jednostavnog primjera korištenja Web Bluetooth API-ja za povezivanje s BLE uređajem:

async function connectToDevice() { try { const device = await navigator.bluetooth.requestDevice({ filters: [{ services: ['battery_service'] }] }); const server = await device.gatt.connect(); const service = await server.getPrimaryService('battery_service'); const characteristic = await service.getCharacteristic('battery_level'); const value = await characteristic.readValue(); console.log('Nivo baterije:', value.getUint8(0)); } catch (error) { console.error('Error:', error); } } connectToDevice();

Ovaj kod zahtijeva pristup BLE uređaju sa uslugom baterije, povezuje se s njim i čita karakteristiku nivoa baterije. Popularnost JavaScripta i dostupnost Web Bluetooth API-ja čine ga moćnim izborom za razvoj BLE aplikacija zasnovanih na webu.

C/C++

C i C++ su programski jezici niskog nivoa koji nude visoke performanse i kontrolu. Obično se koriste u razvoju ugrađenih sistema, što ih čini prirodnim izborom za razvoj BLE modula. Mnogi proizvođači BLE modula obezbeđuju C/C++ biblioteke i SDK-ove (komplet za razvoj softvera) za svoje module.

Na primjer, Nordic Semiconductor, vodeći dobavljač BLE čipova, nudi nRF5 SDK, koji je napisan u C. nRF5 SDK pruža sveobuhvatan skup biblioteka i alata za razvoj BLE aplikacija na Nordic seriji čipova nRF5. Evo jednostavnog primjera korištenja nRF5 SDK za kreiranje BLE periferije:

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 "n_sclude "n_ "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 statički void i void ble_evst_evt_vble (blet_evt_h) * p_context) { // Rukovati BLE događajima ovdje } static void gap_params_init(void) { // Inicijalizirati GAP parametre } static void advertising_init(void) { // Inicijalizirati podatke o oglašavanju } static void services_init(void) { // Inicijalizirati usluge } static void conn_params { static void conn_params} void advertising_start(void) { // Pokreni oglašavanje } int main(void) { ret_code_t err_code; err_code = nrf_sdh_enable_request(); APP_ERROR_CHECK(err_code); err_code = nrf_sdh_ble_default_cfg_set(APP_BLE_CONN_CFG_TAG); APP_ERROR_CHECK(err_code); err_code = nrf_sdh_ble_enable(&m_ble_observer); APP_ERROR_CHECK(err_code); gap_params_init(); advertising_init(); services_init(); conn_params_init(); advertising_start(); for (;;) { nrf_pwr_mgmt_run(); } }

Ovaj kod inicijalizira BLE stek, postavlja GAP parametre, podatke o oglašavanju, usluge i parametre veze, a zatim počinje oglašavanje. Performanse i kontrola C/C++-a čine ih pogodnim za razvoj složenih BLE aplikacija, posebno onih koje zahtevaju obradu u realnom vremenu.

Java

Java je popularan programski jezik za razvoj Androida. Android ima ugrađenu podršku za BLE, a Java se može koristiti za razvoj Android aplikacija koje komuniciraju sa BLE uređajima. Android BLE API pruža skup klasa i metoda za otkrivanje, povezivanje i komunikaciju sa BLE uređajima.

Evo jednostavnog primjera korištenja Android BLE API-ja za skeniranje BLE uređaja:

import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothManager; import android.content.Context; import android.os.Bundle; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; javna klasa MainActivity proširuje AppCompatActivity { privatni BluetoothAdapter mBluetoothAdapter; privatno logičko mSkeniranje; privatni BluetoothAdapter.LeScanCallback mLeScanCallback = novi BluetoothAdapter.LeScanCallback() { @Override public void onLeScan(final BluetoothDevice device, int rssi, byte[] scanRecord) { runOnUiThread(new Runnable() { @Override public { @Override() public Toast.makeText(MainActivity.this, "Pronađen uređaj: " + device.getName(), Toast.LENGTH_SHORT).show(} }); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); finalni BluetoothManager bluetoothManager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE); mBluetoothAdapter = bluetoothManager.getAdapter(); if (mBluetoothAdapter == null ||!mBluetoothAdapter.isEnabled()) { Toast.makeText(ovo, "Bluetooth nije omogućen", Toast.LENGTH_SHORT).show(); povratak; } scanLeDevice(true); } private void scanLeDevice(final boolean enable) { if (enable) { mScanning = true; mBluetoothAdapter.startLeScan(mLeScanCallback); } else { mScanning = false; mBluetoothAdapter.stopLeScan(mLeScanCallback); } } }

Ovaj kod inicijalizira Bluetooth adapter, pokreće BLE skeniranje i prikazuje tost poruku kada se pronađe uređaj. Popularnost Jave u razvoju Androida čini je prirodnim izborom za razvoj Android BLE aplikacija.

Zaključak

U zaključku, postoji nekoliko programskih jezika koji se mogu koristiti za razvoj sa BLE modulima, svaki sa svojim prednostima i slučajevima upotrebe. Python je odličan za izradu prototipa i brz razvoj, JavaScript je pogodan za web-bazirane BLE aplikacije, C/C++ nudi visoke performanse i kontrolu za ugrađene sisteme, a Java je idealna za Android BLE razvoj.

Kao dobavljač BLE modula, nudimo niz visokokvalitetnih BLE modula, kao što suHM‑BT4502-STiHM‑BT4531-ST. Ovi moduli su dizajnirani da obezbede pouzdano i efikasno BLE povezivanje za različite aplikacije.

Ako ste zainteresovani za kupovinu naših BLE modula ili imate bilo kakva pitanja o razvoju BLE-a, slobodno nas kontaktirajte za dalje diskusije i detalje nabavke.

Reference

  • Pythonbleakbibliotečka dokumentacija
  • Web Bluetooth API dokumentacija
  • Nordic Semiconductor nRF5 SDK dokumentacija
  • Android BLE API dokumentacija
Pošaljite upit