BBMagic FLOOD i woda pod kontrolą


W trzy minuty

…możemy zabezpieczyć sie przed zalaniem.

BBMagic FLOOD elektrody spiralne
Gdy tylko pojawi się woda BBMagic FLOOD zaalarmuje.

Potrzebujemy:

  • moduł BBMagic FLOOD
  • bateria CR2032
  • holder dla baterii
  • dwa przewody

BBMagic FLOOD elementy

Jak to składamy:

BBMagic FLOOD pinout

  • jeden z przewodów lutujemy do pinu 25 – zielony
  • drugi z przewodów lutujemy do masy – dowolny pin oznaczony na niebiesko
  • do pinów 21 (+) i 22 (-) lutujemy holder na baterię CR2032
  • wciskamy baterię do holdera
  • jeśli połączymy piny 1 i 2 dioda LED będzie błyskać podczas transmisji Bluetooth (oczywiście powoduje to większe zużycie energii)

Jeśli zależy nam na zwiększeniu pojemności źródła zasilania moduł możemy podłączyć do pakietu 2xAA lub 2xAAA o pojemności nawet 2500mAh.

Jak odbieramy dane z BBmagic FLOOD

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. 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_FLOOD)
{
if((bbm_buf[BBM_FLOOD_ALERT_FLAGS] & BBM_FLOOD_ALERT_MASK) == 0)
wylacz_pompe-juz_po_krzyku() ;
else
wlacz_pompe-ratuj_przed_zalaniem() ;
}

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_FLOOD
bbm_buf[BBM_FLOOD_ALERT_FLAGS] flagi informujące o detekcji zalania ; ustawiona flaga BBM_FLOOD_ALERT_MASK oznacza alarm zalaniowy
bbm_buf[BBM_FLOOD_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_FLOOD_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_FLOOD_CHIP_TEMP] temperatura chipu, która może być interpretowana jako temperatura otoczenia o niskiej dokładności 3*C
bbm_buf[BBM_FLOOD_WORKTIME_0] czas pracy modułu od ostatniego włączenia zasilania w sekundach – najmłodszy bajt 0
bbm_buf[BBM_FLOOD_WORKTIME_1] czas pracy modułu od ostatniego włączenia zasilania w sekundach – kolejny bajt 1
bbm_buf[BBM_FLOOD_WORKTIME_2] czas pracy modułu od ostatniego włączenia zasilania w sekundach – kolejny bajt 2
bbm_buf[BBM_FLOOD_WORKTIME_3] czas pracy modułu od ostatniego włączenia zasilania w sekundach – najstarszy bajt 3
bbm_buf[BBM_FLOOD_FIRM_0] numer wersji firmwareu modułu, młodszy bajt
bbm_buf[BBM_FLOOD_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
Zobacz jak napisać aplikację dla BBMagic FLOOD

I gotowe:

Gdy elektrody BBMagic FLOOD znajdą się w wodzie moduł co 6 sekund wysyła informację alarmującą.
W stanie czuwania (gdy pomiędzy elektrodami jest sucho) wysyłana jest informacja potwierdzająca czuwanie.
Okres wysyłania tej informacji można skonfigurować – jak to zrobić opisano poniżej.

Pobierz kod źródłowy aplikacji bbm_scanner z działu Download i zobacz jak przetwarzać dane od innych modułów !!

bbm_scanner app

Tryby pracy BBMagic FLOOD

BBMagic FLOOD może działać w jednym z czterech trybów wysyłając informację

Tryb pracy Okres przesyłania danych OBECNY Okres przesyłania danych ALARM
1 30 sekund 6 sekund
2 60 sekund 6 sekund
3 3 minuty 6 sekund
4 5 minut 6 sekund

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 ‚OBECNY’ przesyłana co 30 sekund
  • 2 razy – moduł pracuje w trybie 2 – informacja ‚OBECNY’ przesyłana co 1 minutę
  • 3 razy – moduł pracuje w trybie 3 – informacja ‚OBECNY’ przesyłana co 3 minuty
  • 4 razy – moduł pracuje w trybie 4 – informacja ‚OBECNY’ przesyłana co 5 minut

Dodatkowe funkcje BBMagic FLOOD

  • 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 (posiadają chip BLE)
  • 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 *