BBMagic MAGNETO tam gdzie nie sięgają przewody


BBMagic MAGNETO
BBMagic MAGNETO to bezprzewodowy, ultra-energooszczędny, zasilany z baterii moduł z komunikacją Bluetooth Low Energy (BLE).
Wykrywa pojawienie się lub zanik pola magnetycznego przy pomocy kontaktronu. Może także mierzyć poziom oświetlenia oraz monitorować dwa sygnały analogowe oraz cztery cyfrowe.
BBMagic MAGNETO kontaktrony

Jak odbieramy dane od BBmagic MAGNETO

Dzięki bibliotece bbmagic_lib odbieranie i przetwarzanie danych przez Raspberry Pi zero W oraz Raspberry Pi 3 jest bardzo proste. Bibliotekę możesz pobrać z działu Download.

Zobacz jak napisać aplikację dla BBMagic MAGNETO
Aby odbierać informacje:

Tworzymy bufor na dane i zmienne pomocnicze
unsigned char bbm_buf[100] ;
int len, ret ;

Otwieramy komunikację
ret = bbm_bt_open(0) ;
if(ret) exit(1) ;

Sprawdzamy czy nadeszły dane
len = bbm_bt_read(bbm_buf) ;
Jeśli tak to mamy je w buforze
if(len > 0)
if(bbm_buf[BBMAGIC_DEVICE_TYPE] == BBMAGIC_M_MAGNETO)
{
if(bbm_buf[BBM_MAGNETO_FLAGS] & BBM_MAGNETO_MAGNET_MASK)
printf("DRZWI ZAMKNIETE") ;
else printf("DRZWI OTWARTE") ;
}

Zawartość bufora zdefiniowano w pliku bbmagic_lib.h

bbm_buf[BBMAGIC_DEVICE_TYPE] typ modułu, który nadesłał dane ; w tym przypadku będzie to BBMAGIC_M_MAGNETO
bbm_buf[BBM_MAGNETO_FLAGS] flagi informujące o detekcji pola magnetycznego (najstarszy bit) oraz stanie czterech wejść cyfrowych (cztery młodsze bity) ; ustawiona flaga BBM_MAGNETO_MAGNET_MASK oznacza wykrycie pola magnetycznego
bbm_buf[BBM_MAGNETO_V_SUP] aktualne napięcie zasilania modułu ; należy podzielic przez 71 (BBMAGIC_VCC_DIVIDER) aby otrzymać napięcie w woltach.
bbm_buf[BBM_MAGNETO_ADV_TIME] okres do nadejścia kolejnej wiadomości od modułu ; należy pomnożyć razy dwa aby otrzymać czas w sekundach
bbm_buf[BBM_MAGNETO_CHIP_TEMP] temperatura chipu, która może być interpretowana jako temperatura otoczenia o niskiej dokładności 3*C
bbm_buf[BBM_MAGNETO_LIGHT] poziom oświetlenia ; zakres 0-255
bbm_buf[BBM_MAGNETO_ADC_1_MSB] bbm_buf[BBM_MAGNETO_ADC_1_LSB] poziom napięcia na wejściu ADC_1 w mV ; starszy i młodszy bajt
bbm_buf[BBM_MAGNETO_ADC_2_MSB] bbm_buf[BBM_MAGNETO_ADC_2_LSB] poziom napięcia na wejściu ADC_2 w mV; starszy i młodszy bajt
bbm_buf[BBM_MAGNETO_WORKTIME_0] czas pracy modułu od ostatniego włączenia zasilania w sekundach – najmłodszy bajt 0
bbm_buf[BBM_MAGNETO_WORKTIME_1] czas pracy modułu od ostatniego włączenia zasilania w sekundach – kolejny bajt 1
bbm_buf[BBM_MAGNETO_WORKTIME_2] czas pracy modułu od ostatniego włączenia zasilania w sekundach – kolejny bajt 2
bbm_buf[BBM_MAGNETO_WORKTIME_3] czas pracy modułu od ostatniego włączenia zasilania w sekundach – najstarszy bajt 3
bbm_buf[BBM_MAGNETO_FIRM_0] numer wersji firmwareu modułu, młodszy bajt
bbm_buf[BBM_MAGNETO_FIRM_1] numer wersji firmwareu modułu, starszy bajt
bbm_buf[BBMAGIC_DEVICE_ADDR_0] adres modułu najmłodszy bajt 0 – LSB
bbm_buf[BBMAGIC_DEVICE_ADDR_1] adres modułu bajt 1
bbm_buf[BBMAGIC_DEVICE_ADDR_2] adres modułu bajt 2
bbm_buf[BBMAGIC_DEVICE_ADDR_3] adres modułu bajt 3
bbm_buf[BBMAGIC_DEVICE_ADDR_4] adres modułu bajt 4
bbm_buf[BBMAGIC_DEVICE_ADDR_5] adres modułu najstarszy bajt 5 – MSB
bbm_buf[BBMAGIC_DEVICE_RSSI] moc odbieranego sygnału radiowego w dBm
Pobierz kod źródłowy aplikacji bbm_scanner z działu Download i zobacz jak przetwarzać dane od innych modułów !!

bbm_scanner app

Wyprowadzenia

BBMagic MAGNETO pinout

Numer pinu Opis
1,8,20,22,23,24 Masa
2 Podłączenie do masy powoduje włączenie sygnalizacji transmisji Bluetooth błyskami diody LED
3-6 Aktywne masą wejścia cyfrowe próbkowane każdorazowo tuż przed wysłaniem danych.
7,21 Napięcie zasilania 1,8V – 3,6V
21,22 Pady do wlutowania uchwytu dla baterii pastylkowej CR2032: 21 (+) i 22 (-)
7,8,9 Pady dla wlutowania stabilizatora w przypadku chęci zasilania z wyższego napięcia. Ten sposób zasilania jest identyczny jak dla BBMagic METEO opisany tutaj: Jak zasilić BBMagic METEO moduł z Bluetooth Low Energy
10 Wejście napięcia zasilania dla stabilizatora. Ten sposób zasilania jest identyczny jak dla BBMagic METEO opisany tutaj: Jak zasilić BBMagic METEO moduł z Bluetooth Low Energy
11,12 Pady dla wlutowania fotorezystora 10k
13,14 Wejścia przetwornika analogowo-cyfrowego ADC_1 i ADC_2. Zakres dopuszczalnych napięć: 0V-1,8V ; Rozdzielczość: 1mV
18,19 Linie UARTa odpowiednio nadawanie i odbiór. Zakres dopuszczalnych napięć: 0V-5V
24,25 Pady do wlutowania kontaktronu wykrywającego pole magnetyczne – wariant 1
23,25 Pady do wlutowania kontaktronu wykrywającego pole magnetyczne – wariant 2

Jak działa BBMagic MAGNETO?

Za każdym razem gdy pole magnatyczne pojawi się lub zniknie BBMagic MAGNETO wyśle informację przez łącze Bluetooth Low Energy.
Gdy nie występują zmiany pola magnetycznego wysyłana jest informacja potwierdzająca czuwanie ‚ALIVE’.
Okres wysyłania tej informacji można skonfigurować – jak to zrobić opisano poniżej.

Tryby pracy BBMagic MAGNETO

Tryb pracy Okres przesyłania danych ‚ALIVE’
1 30 sekund
2 60 sekund
3 3 minuty
4 5 minut

Jak ustawić tryb pracy

  • wyłącz zasilanie modułu
  • naciśnij przycisk
  • włącz zasilanie modułu trzymając przycisk wciśniętym
  • trzymaj przycisk wciśniętym odliczając błyski diody: 1 błysk – tryb pracy 1, 2 błyski – tryb pracy 2, itd.
  • zwolnij przycisk
  • dioda zgaśnie na ok. 2 sekundy po czym rozbłyśnie kilkukrotnie, w zależności od ustawionego trybu pracy: 1 błysk – ustawiono tryb 1, 2 błyski – ustawiono tryb 2, itd.

Po każdym włączeniu zasilania dioda modułu rozbłyśnie:

  • 1 raz – moduł pracuje w trybie 1 – informacja ‚ALIVE’ przesyłana co 30 sekund
  • 2 razy – moduł pracuje w trybie 2 – informacja ‚ALIVE’ przesyłana co 1 minutę
  • 3 razy – moduł pracuje w trybie 3 – informacja ‚ALIVE’ przesyłana co 3 minuty
  • 4 razy – moduł pracuje w trybie 4 – informacja ‚ALIVE’ przesyłana co 5 minut

Dodatkowe funkcje BBMagic MAGNETO

  • Detektor światła – za pomocą fotorezystora 10k – zakres wartości 0 do 255
  • Dwa kanały ADC o zakresie napięć od 0 do 1,8V
  • Cztery, aktywne stanem niskim wejścia cyfrowe – podciągane do zasilania na 10ms przed chwilą próbkowania
  • Monitorowanie stanu baterii poprzez ciągły pomiar napięcia zasilania
  • Pomiar temperatury chipu, który może być interpretowany jako temperatura otoczenia o niskiej dokładnośći rzędu 3*C
  • Sygnalizacja wysyłania danych poprzez błysk diody LED – konfigurowalna pinem 2

Komunikacja

  • Bluetooth Smart zwany również Bluetooth Low Energy
  • Komunikacja szyfrowana i podpisywana cyfrowo AES-128
  • Bezpośrednia komunikacja z Raspberry Pi Zero W i Raspberry Pi 3 poprzez Bluetooth 4.0
  • Prosta obsługa programowa z wykorzystaniem bibliotek

Zasilanie

  • bateria 3V CR2032 – pady do wlutowania uchwytu: 21 (+) i 22 (-)
  • 2 x bateria 1,5V AA lub AAA – pady do wlutowania przewodów: 7 (+) and 8 (-)
  • 2 x akumulator 1,2V NiCd lub NiMH – pady do wlutowania przewodów: 7 (+) and 8 (-)
  • Z jakiegokolwiek źródła o napięciu z przedziału: 1,8V do 3,6V – pady do wlutowania przewodów: 7 (+) i 8 (-)
  • Poprzez stabilizator – Podłącz ‘+’ do 10, a ‘-‘ do 22, 23 lub 24. Pady do wlutowania stabilizatora w obudowie TO-92 – 7,8,9 (np.:L78L33, TS2950CT-3.3, LP2950CZ-3.3RAG, MCP1702-3302E, LM2936Z-3.3, LT1121CZ-3.3). Jak dobrać stabilizator: Jak zasilić BBMagic METEO moduł z Bluetooth Low Energy
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 *