Już jest biblioteka bbmagic_lib_1.4 dla Raspberry Pi


bbmagic_lib_1.4 miniatura
bbmagic_lib to biblioteka do komunikacji z modułami BBMagic. Kompatybilna jest z mikrokomputerami Raspberry Pi zero W i Raspberry Pi 3, które wysposażone są w chip Bluetooth Low Energy.

Zmiany w bbmagic_lib_1.4

Dodano możliwość komunikacji z modułem wykonawczym BBMagic DIMMER

int bbm_bt_dimmer(unsigned char *dest_bd_addr, unsigned char *chan) ;
  • unsigned char *dest_bd_addr – wskaźnik do sześcioelementowej tablicy zawierającej adres MAC bluetooth modułu BBMagic DIMMER
  • unsigned char *chan – wskaźnik do trzyelementowej tablicy zawierającej współczynnik wypełnienia sygnału PWM na kanałach odpowiednio: 0, 1 i 2

Np.:
Wyłącza wszystkie kanały PWM w module o adresie: 0xFE4FF394EECD:

unsigned char bd_addr_dimmer_1[6] = {0xFE, 0x4F, 0xF3, 0x94, 0xEE, 0xCD} ;
unsigned char dimm_val[3] = {0, 0, 0} ;
int i = bbm_bt_dimmer(bd_addr_dimmer_1, dimm_val) ;

Ustawia kanał 0 na 10% (25/255) mocy, kanał 1 na 78% (200/255) mocy, a kanał 2 na 100% mocy:

dimm_val[0] = 25; dimm_val[1] = 200; dimm_val[2] = 255;
i = bbm_bt_dimmer(bd_addr_dimmer_1, dimm_val) ;

Dodano możliwość komunikacji z modułem wykonawczym BBMagic RELAY

int bbm_bt_relay_on(unsigned char *dest_bd_addr, unsigned char relays) ;
  • unsigned char *dest_bd_addr – wskaźnik do sześcioelementowej tablicy zawierającej adres MAC bluetooth modułu BBMagic RELAY
  • unsigned char relays – flagi bitowe przekażników do włączenia
    • #define BBM_RELAY_0 1
    • #define BBM_RELAY_1 2
    • #define BBM_RELAY_2 4
    • #define BBM_RELAY_3 8
int bbm_bt_relay_off(unsigned char *dest_bd_addr, unsigned char relays) ;
  • unsigned char *dest_bd_addr – wskaźnik do sześcioelementowej tablicy zawierającej adres MAC bluetooth modułu BBMagic RELAY
  • unsigned char relays – flagi bitowe przekażników do wyłączenia
    • #define BBM_RELAY_0 1
    • #define BBM_RELAY_1 2
    • #define BBM_RELAY_2 4
    • #define BBM_RELAY_3 8

BBMagic RELAY relays pinout
Np.:
Włącz przekaźniki 0 i 3 w module o adresie: 0xFE43E394DEEE:

unsigned char bd_addr_test[6] = {0xFE, 0x43, 0xE3, 0x94, 0xDE, 0xEE} ;
int i = bbm_bt_relay_on(bd_addr_test, BBM_RELAY_0 | BBM_RELAY_3) ;

Wyłącz przekaźnik na wyjściu RELAY_3 w module o adresie: 0xFE43E394DEEE:

int i = bbm_bt_relay_off(bd_addr_test, BBM_RELAY_3) ;

Dodano możliwość włączania i wyłączania komunikatów wypisywanych na konsolę

Konfiguracji dokonujemy przy otwarciu biblioteki funkcją:

int bbm_bt_open(0, 0, 0, int op_mode) ;
  • op_mode równe 0 – komunikaty wyłączone
  • op_mode różne od 0 – komunikaty włączone

Dodano możliwość włączenia sygnalizacji trzema diodami LED

Konfiguracji dokonujemy przy otwarciu biblioteki funkcją:

int bbm_bt_open(int led_rx_pin, int led_tx_pin, int led_run_pin, int op_mode) ;
  • led_rx_pin – sygnalizuje odbieranie danych Bbmagic Bluetooth, zakres od 2 do 27.
  • led_tx_pin – sygnalizuje wysyłanie danych Bbmagic Bluetooth, zakres od 2 do 27.
  • led_run_pin – sygnalizuje uruchomienie biblioteki, zakres od 2 do 27.

Podanie wartośći spoza zakresu od 2 do 27 wyłącza sygnalizację.
Np.:
Sygnalizacjha odbierania na pinie GPIO02, wysyłania na pinie GPIO03 i uruchomienia biblioteki na pinie GPIO04:

i = bbm_bt_open(2, 3, 4, 0) ;

Sygnalizacjha odbierania na pinie GPIO26, wysyłania na pinie GPIO19. Sygnalizacja uruchomienia biblioteki jest wyłączona:

i = bbm_bt_open(26, 19, 0, 0) ;

RPI0 RPI3 pinout

Dodano możliwość odczytania adresu MAC bluetooth maszyny na której uruchomiona jest biblioteka

unsigned char bd_addr[6] ;
int len = bbm_bt_addr_get(bd_addr) ;
printf("my_bt_mac: ") ;
if(len)
{
    do { len-- ; printf("%0.2X", bd_addr[len]) ; } while(len>0) ;
    printf("\n") ;
}else
{
    if(len == -1) printf("bt not opened, use bbm_bt_open(..) first") ;
    else printf("reading error !!\n") ;
    exit(1) ;
}

Nowa wersja biblioteki bbmagic_lib_1.4 dostępna jest w dziale Download.

Tagi , , .Dodaj do zakładek Link.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *