Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2018:nordic-bluetooth

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
Poslední revize Obě strany příští revize
2018:nordic-bluetooth [2019/01/14 18:47]
Jáchym Macura [Firmware nRF52832]
2018:nordic-bluetooth [2019/01/14 21:36]
Jáchym Macura [Zdrojový kód]
Řádek 106: Řádek 106:
 https://​devzone.nordicsemi.com/​tutorials/​b/​bluetooth-low-energy https://​devzone.nordicsemi.com/​tutorials/​b/​bluetooth-low-energy
  
-----+Funkce pro odesílání dat po Bluetooth(tato slouží pro odeslání informací o nastavených LED diodách):​ 
 +<code c> 
 +void led_characteristic_update(ble_service_data_t *p_our_service) 
 +
 +    // Update characteristic value 
 +    //Check if Connected and if notification is ON 
 +    if ((p_our_service->​conn_handle != BLE_CONN_HANDLE_INVALID) &&  
 +        (p_our_service->​fs_t.f_notifi_LED_ON == true)) 
 +    { 
 +        uint32_t ​ err_code; 
 +        uint16_t ​ len = 1; 
 +        uint32_t ​ port_state = nrf_gpio_port_out_read(NRF_GPIO);​ 
 +        uint8_t ​  data = (~(port_state >> 18)) & 7; 
 +        ble_gatts_hvx_params_t hvx_params;​ 
 +        memset(&​hvx_params,​ 0, sizeof(hvx_params));​ 
 +         
 +        hvx_params.handle = p_our_service->​char_led_handle.value_handle;​ 
 +        hvx_params.type ​  = BLE_GATT_HVX_NOTIFICATION;​ 
 +        //​hvx_params.type ​  = BLE_GATT_HVX_INDICATION;​ 
 +        hvx_params.offset = 0; 
 +        hvx_params.p_len ​ = &len; 
 +        hvx_params.p_data = &​data; ​  
 +         
 +        err_code = sd_ble_gatts_hvx(p_our_service->​conn_handle,​ &​hvx_params);​ 
 +        SEGGER_RTT_printf(0,​ "HVX led status: %d\n", err_code);​ 
 +        APP_ERROR_CHECK(err_code);​ 
 +    } 
 +
 +</​code>​ 
 ===== Firmware Raspberry Pi ===== ===== Firmware Raspberry Pi =====
-FW - RPI +Pro vizualizaci dat a snadnější ovládání,​ bylo vytvořeno velice jednoduché GUI pomocí Pythonu a konkrétně knihovny PyQt. Pro komunikaci po Bluetooth na Raspberry Pi byla použita knihovna ​Bluepy. Z Gui je možnost ovládat LED diody, využít Bluetooth UART a prohlížet si grafy s naměřenou teplotou a napětí na baterii. ​ 
-  *Bluepy +{{ :​2018:​bluetooth:​gui.png?​nolink&​600 |}}
-  *PyQt+
  
 ---- ----
Řádek 118: Řádek 146:
 {{ youtube>​lJ0eoUvo_P8?​medium }} {{ youtube>​lJ0eoUvo_P8?​medium }}
 \\ \\
 +----
 +====== Zdrojový kód ======
 +Zdrojový kód pro Nordic: https://​github.com/​xmacur06/​MPOA2018_NORDIC \\
 +Zdrojový kód pro GUI: {{ :​2018:​bluetooth:​mpoa_gui_final.zip |}}
 +----
 +====== Závěr ======
 +ss
 ---- ----
 ====== Zdroje ====== ====== Zdroje ======
Řádek 123: Řádek 158:
   *https://​github.com/​pyqt   *https://​github.com/​pyqt
   *https://​github.com/​IanHarvey/​bluepy   *https://​github.com/​IanHarvey/​bluepy
 +  *https://​devzone.nordicsemi.com/​tutorials/​b/​bluetooth-low-energy
2018/nordic-bluetooth.txt · Poslední úprava: 2019/01/14 21:44 autor: Jáchym Macura