BBMagic MOTION to ultra-energooszczędny, zasilany z baterii moduł czujnika PIR z komunikacją Bluetooth Low Energy (BLE) – Bluetooth Smart.
Technologia pasywnej podczerwieni (Passive Infra Red) pozwala na wykrywanie obiektów o temperaturze wyższej od zera bezwzględnego.
Funkcje BBMagic MOTION
- Detektor ruchu PIR ; kąt 120 stopni ; zasięg 4-5m
- Detektor światła – pady do wlutowania fotorezystora 10k – zakres wartości 0 do 255
- Dwa kanały ADC o zakresie napięć od 0 do 1,8V i rozdzielczości 1mV
- Monitorowanie stanu baterii poprzez ciągły pomiar napięcia zasilania
- Pomiar temperatury chipu. Po skalibrowaniu wartość ta może być interpretowana jako temperatura otoczenia.
- Sygnalizacja wykrycia obiektu diodą LED – konfigurowana pinem 2
- Komunikacja: szyfrowane i podpisane cyfrowo wiadomości Bluetooth Smart
Jak wykrywać ruch z BBMagic MOTION
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[BBM_MOTION_FLAGS] & BBM_MOTION_ALERT_MASK)
{
printf(" OBIEKT WYKRYTY !!") ;
}
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_MOTION |
bbm_buf[BBM_MOTION_FLAGS] | flagi informujące o detekcji obiektu (najstarszy bit) ; ustawiona flaga BBM_MOTION_ALERT_MASK oznacza wykrycie obiektu |
bbm_buf[BBM_MOTION_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_MOTION_CHIP_TEMP] | temperatura chipu w stopniach Celsjusza (kodowanie U2). Po skalibrowaniu wartość ta może być interpretowana jako temperatura otoczenia. |
bbm_buf[BBM_MOTION_LIGHT] | poziom oświetlenia ; zakres 0-255 |
bbm_buf[BBM_MOTION_ADC_1_MSB] bbm_buf[BBM_MOTION_ADC_1_LSB] | poziom napięcia na wejściu ADC_1 w mV ; starszy i młodszy bajt |
bbm_buf[BBM_MOTION_ADC_2_MSB] bbm_buf[BBM_MOTION_ADC_2_LSB] | poziom napięcia na wejściu ADC_2 w mV; starszy i młodszy bajt |
bbm_buf[BBM_MOTION_WORKTIME_0] | czas pracy modułu od ostatniego włączenia zasilania w sekundach – najmłodszy bajt 0 |
bbm_buf[BBM_MOTION_WORKTIME_1] | czas pracy modułu od ostatniego włączenia zasilania w sekundach – kolejny bajt 1 |
bbm_buf[BBM_MOTION_WORKTIME_2] | czas pracy modułu od ostatniego włączenia zasilania w sekundach – kolejny bajt 2 |
bbm_buf[BBM_MOTION_WORKTIME_3] | czas pracy modułu od ostatniego włączenia zasilania w sekundach – najstarszy bajt 3 |
bbm_buf[BBM_MOTION_FIRM_0] | numer wersji firmwareu modułu, młodszy bajt |
bbm_buf[BBM_MOTION_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 |
Wyprowadzenia
Numer pinu | Opis |
---|---|
1,8,20,22,23,24 | Masa |
2 | Konfiguracja sygnalizacji wykrycia obiektu:
Należy pamiętać, że włączona sygnalizacja LED powoduje większe zuzycie energii. |
5-6 | Pady do podłączenia alternatywnej diody LED wraz z szeregowym rezystorem. Pad 6 – anoda LED z rezystorem, Pad 5 – katoda LED |
7,21 | Napięcie zasilania 2,7V – 3,3V |
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 |
Jak działa BBMagic MOTION?
Gdy w monitorowanym obszarze zostanie wykryty obiekt BBMagic MOTION natychmiast wyśle informację o tym zdarzeniu poprzez kanał radiowy Bluetooth Smart.
Następnie przez 10 sekund moduł pozostaje nieczuły na pojawiające się obiekty. Po upływie tego czasu monitorowanie zostaje wznowione.
Komunikacja
- Bluetooth Smart – Bluetooth Low Energy
- Komunikacja szyfrowana i podpisywana cyfrowo AES-128
- Bezpośrednia komunikacja z Raspberry Pi Zero W i Raspberry Pi 3 poprzez Bluetooth Smart
- 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 (-)
- Z jakiegokolwiek źródła o napięciu z przedziału: 2,7V do 3,3V – 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