
Witajcie moi drodzy
Przedstawię tutaj szczegółowo sposób konfiguracji oraz wnętrze zasilanego bateryjnie czujnika otwarcia drzwi/okna WiFi zgodnego z aplikacją kontroli inteligentnego domu SmartLife. Pokażę tu również jak można skonfigurować scenariusze jego pracy, np. automatycznie włączać żarówkę gdy drzwi zostaną otwarte. Na koniec wykonam też pomiary zużycia prądu przez czujnik.
Zakup czujnika otwarcia drzwi/okna WiFi Smartlife
Czujnik znalazłem w internecie pod hasłem "Smart Wifi Door Window Sensor Burglar Security Alarm For Alexa Google Tuya" za niecałe 10$, czyli 40 zł:

Grafika przygotowana przez sprzedawcę dobrze obrazuje jego działanie:

Telefon z system Android pozwoli nam na bieżąco śledzić stan drzwi oraz otrzymywać powiadomienia o ich otwarciu lub zamknięciu, bez względu na to, gdzie jesteśmy. Trzeba tylko zarejestrować czujnik w naszej sieci WiFi (ruch idzie przez serwery producenta).
Specyfikacja wg. sprzedawcy:
Quote:
Two Status: Open & Close
Battery: 2 * 1.5V AAA Batteries(not included)
Standby Current: ≤5μA
Protocol: IEEE 802.11b/g/n
Wireless Range: 50m
Operating Temperature: -10℃~40℃ (14°F~104°F)
Operating Humidity: 20%~85%
Storage Temperature: -10℃~60℃ (14°F~140°F)
Storage Humidity: 0%~90%
Standby Time: 8-10 months
Wireless Type: 2.4GHz
Przesyłka, zawartość zestawu
Paczka przyszła około 10 dni po zamówieniu - sprzedawca wysłał produkt najtańszym 'Minipak EU'.

W środku było pudełeczko z czujnikiem:


Zestaw jest podpisany "DOOR WINDOW DETECTOR". Są na nim kody QR od aplikacji Tuya i Smart life. Na opakowaniu nie ma podanego konkretnego modelu czujnika.
Ale są dwie inne ciekawe informacje:
- prąd w trakcie pracy (wysyłania przez WiFi): 35mA
- prąd w trakcie uśpienia - 30µA
No i mamy pierwszą nieścisłość - sprzedawca w opisie przedmiotu na stronie podawał 5µA, a tu nagle jest 30µA.
Potem wykonam pomiary i przekonam się, jakie rzeczywiście to będą prądy.
W pudełeczku jest zestaw z instrukcją: element do wciśnięcia przycisku RESET (tzw. sim tool, taki jak dla telefonów), dwie części czujnika oraz dwa paski którymi można przykleić czujnik do drzwi:


Instrukcja jest po angielsku - poniżej całość:



Druga strona:



Pierwsze uruchomienie i parowanie z aplikacją
Potrzebne będą do tego dwie baterie AAA. Z większego elementu trzeba zdjąć pokrywę:

Użyłem ogniw NiMH 1.2V (zamiast 1.5V) i nie było problemów:

Po włożeniu na chwilkę zaświeci się dioda LED:

Na telefonie instalujemy aplikację Smart Life. Trzeba też założyć tam konto (potwierdzić adres email). Nastepnie należy wybrać dodawanie, a potem kategorie "Czujnik (WiFi)":

Następnie podajemy dane naszej sieci WiFi (standardowo tylko pasmo 2.4GHz jest wspierane):

Potem wprowadzamy urządzenie w tryb parowania. Bierzemy "sim tool" i wciskamy nim trudnodostępny przycisk (zaznaczony na zdjęciu). Dioda powinna zacząć szybko migać. Dopiero po tym można przejść dalej:

Rozpocznie się proces parowania:

Po parowaniu natychmiast pojawi się pierwszy komunikat o otwarciu drzwi (bądź okna):

Działanie czujnika
W podstawowej wersji czujnik działa bardzo prosto. Aplikacja pozwala podejrzeć bieżący stan drzwi (otwarte lub zamknięte) oraz również wyświetla powiadomienia wraz z sygnałem dźwiękowym i wibracjami gdy ten stan się zmieni.
Stan "otwarte":

Stan "zamknięte":

Pełny widok na ekran:

Polecam zwrócić uwagę na to, że czujnik pokazuje stan swojej baterii. Dzięki temu będziemy wiedzieć kiedy trzeba wymienić.
Dodatkowo historia stanów dostępna jest w zakładce "Kliknij, aby wyświetlić historię":

Wnętrze czujnika
Płytka w środku trzyma się tylko na plastikowych zaczepach, choć może być mały problem z jej wyciągnięciem:

Trzeba z jednej strony ją podważyć i delikatnie wysunąć:

Po wyjęciu od razu rzuca się w oczy moduł WiFi oraz sam czujnik (kontaktron) reagujący na pole magnetyczne (w drugim białym 'bloczku' jest tylko magnes):

Co ciekawe, moduł wygląda tak jakby ktoś usunął (odlutował) mu ekran, ale tak było fabrycznie. Niczego nie odlutowywałem.

Niestety nie jest to żaden ESP. To XR809:

XR809, czyli mikrokontroler ARM Cortex-M4F pracujący z częstotliwością do 160MHz, oferujący 384KB SRAM i 2MB Flash ROM, dodatkowo posiadający bogate peryferia, m. in. UART, TWI, SPI, PWM, IrDA (T/R), SDIO i ADC:

Sam moduł tutaj nazywa się XR3, jego pinout:

Nota katalogowa XR809:
Nota modułu XR3:
Trochę więcej informacji:

Na ten moment nie wiem na ile dałoby się zrobić do tego własny wsad, nie znalazłem żadnego istniejącego, choć jakieś SDK na Githubie jest:
https://github.com/XradioTech/XR809SDK
Kopia zapasowa repozytorium do pobrania:
Dodatkowo dostępny jest jakiś system IoT gotowy pod XR809, a dokładniej AliOS:
https://github.com/alibaba/AliOS-Things
Kopia zapasowa (tylko z libami od XR, bo reszta za dużo zajmuje i nie dotyczy układu z tematu):
W ogóle to repozytorium AliOS-Things zawiera SDK pod różne platformy, poniżej ich lista:
Quote:
aamcu_demo, asr5501, asr5501mk, atsamd5x_e5x, atsaml21, bk7231, bk7231s, bk7231u, csky, cy8c4147, cy8c6347, dahua, efm32gxx, embarc, es8p508x, esp32, esp8266, fm33a0xx, freedom-e, gd32f30x, gd32f3x0, gd32f4xx, hc32l136, hk32f103, hr8p2xx, imx6, linux, list.txt, lpc54018, lpc54102, lpc54114, lpc54608, lpc54628, m487jidae, mimxrt1021, mimxrt1052, mkl26z4, mkl27z644, mkl28z7, mkl43z4, mkl81z7, mkl82z7, moc108, msp432p4xx, mvs_ap80xx, mx1101, nano130ke3bn, nrf52xxx, r5f100lea, r5f565ne, rda5981x, rtl8710bn, sscp131, stm32f0xx, stm32f1xx, stm32f4xx, stm32f4xx_cube, stm32f7xx, stm32l0xx, stm32l475, stm32l4xx_cube, sv6266, swm320, windows, wm_w600, xm510, xmc, xr808, xr871, xr872,
Jest też strona generująca paczkę SDK pod konkretną platformę:
https://aliosthings.iot.aliyun.com/
Spróbuję wkrótce to uruchomić, ale to już w osobnym temacie.
Przy sekcji zasilania układu widać duży dławik oraz układ podpisany W2TG. Nie znalazłem jego noty katalogowej (może ktoś znajdzie?), ale to jest pewnie przetwornica step up która zapewnia stałe napięcia zasilania dla układu (gdyż napięcie ogniw spada wraz z ich wyładowywaniem). Ten dławik też świadczy o tym, że to przetwornica:

Druga część czujnika to (jak już wspominałem) tylko magnes w obudowie:



Działanie czujnika - scenariusze i integracja z innymi urządzeniami IoT
Oczywiście czujnik ten pozwala na znacznie więcej. Można go połączyć z dowolnym innym urządzeniem smart wspieranym przez aplikację i utworzyć im odpowiednie dla nas scenariusze działania, np. można włączać światło gdy zostaną otwarte drzwi. W scenariuszach działania można uwzględnić większą ilość urządzeń, oraz można też ustawić opóźnienia (np. włączać światło a potem gasić po minucie).
Tutaj to zademonstruję, ale w tym celu potrzebuje drugiego urządzenia SmartLife, dla przykładu użyję prostego przekaźnika który pozwala włączać i wyłączać światło, konkretniej WL-SW01_16:


Sparowałem go z aplikacją i przetestowałem czy działa:



Aby rozpocząć tworzenie scenariuszy, trzeba mieć co najmniej te dwa urządzenia zarejestrowane w aplikacji:

Scenariusze dodaje się z menu "Inteligentny", zakładka "Automatyzacja", mała ikonka plusa w górnym rogu:

Najpierw wybieramy warunek który wyzwoli scenariusz:

Warunkiem może być:
- stan pogody (np. gdy spadnie temperatura lub wilgotność):


- zmiana lokacji (np. moment opuszczenia domu przez użytkownika):

- harmonogram (można wybrać czas i dni tygodnia):

- zmiana statusu urządzenia (najpierw wybieramy jakiego urządzenia, a potem jaka zmiana. Można nawet wyzwalać zdarzenie poprzez zmianę stanu baterii)




Warunkiem wyzwolenia może też być 'tapnięcie' użytkownika w aplikacji, czyli tzw. 'Tap to run'.
Po wybraniu warunku wyzwolenia następuje pora na wybranie akcji które wtedy się wykonają. Na liście urządzeń wykonujących akcje nie ma np. czujnika drzwi, gdyż on nie może wykonać żadnej akcji:

Akcji też jest dość dużo:

Można włączać, wyłączać i przełączać (odwracać stan) przekaźnika:

Tak wygląda gotowy scenariusz:

Można nawet wybrać mu osobno czas obowiązywania (np. otworzenie drzwi będzie zapalać światło, ale tylko w nocy). Potem zapis zmian:

Spis wszystkich scenariuszy:

Tak ustawiony scenariusz działa - włącza żarówkę gdy zamkniemy drzwi:


To nie wszystko, można też zrobić bardziej zaawansowany scenariusz i dodać kilka innych akcji.
Opcja "Wykonaj opóźnienie" pozwala nam dodać odstęp czasowy pomiędzy kolejnymi akcjami w scenariuszu:

Tak wygląda gotowy scenariusz złożony z 4 akcji (w tym dwóch opóźnień):

Jego działanie demonstruje filmik:
Po odsunięciu czujnika najpierw wykonuje się oczekiwanie 5 sekund, potem włącza się przekaźnik, potem znów system oczekuje 5 sekund i na koniec wyłącza przekaźnik.
Oczywiście telefon nie musi być włączony by scenariusz zadziałał (to się wykonuje poprzez serwery producenta).
Pobór prądu czujnika
Na koniec zweryfikujemy, czy producent miał rację z tymi 35mA w trakcie pracy i 30µA w trakcie uśpienia. W celu dokonania pomiaru odizolowałem część koszyka na baterie taśmą i wpiąłem się tam miernikiem:

Pomiary zostały dokonane przy zasilaniu z dwóch ogniw 1.2V, napięcie na ogniwach:

W trakcie komunikacji - około 60mA:

Też w trakcie komunikacji (nieco częściej niż 60mA) - 20mA

W czasie uśpienia - 45µA:

... ale to wszystko jest zrozumiałe, bo na płytce jest mała przetwornica, pewnie step up, która zapewnia stabilne 3.3V dla modułu WiFi, więc to nic dziwnego, że wraz ze spadkiem napięcia ogniw będzie rósł pobierany z nich prąd:

Wyniki pomiarów w miarę zgadzają się z tym co było na opakowaniu (30µA w uśpieniu), natomiast całkiem nie zgadzają się z tym co niektórzy sprzedawcy piszą na swoich stronach (<5µA w uśpieniu).
Zapowiedź kolejnej części
Wkrótce też szczegółowo opiszę użyty tutaj (tylko w ramach demonstracji) moduł przekaźnika Smart Switch WL-SW01_16 - pokażę jego wnętrze, a jeśli się uda to też spróbuję wgrać mu Tasmotę lub podobny wsad:

Będzie też seria o Zigbee - seria Aqara i Home Assistant.
Podsumowanie
Czujnik otwarcia drzwi/okna WiFi model AW201 jest prosty w montażu i użyciu. Nie ma żadnych problemów ze sparowaniem go z aplikacją Smart Life. Aplikacja Smart Life pozwala tworzyć w oparciu o ten czujnik różne zaawansowane scenariusze, np. "zapal światło po otwarciu drzwi, odczekaj minutę i zgaś światło (ale wykonuj to wszystko tylko w godzinach 22-6)". Do robienia tych scenariuszy nie jest potrzebna żadna wiedza programistyczna, wszystko wyklikuje się w aplikacji SmartLife.
Czujnik ten zrealizowany jest na układzie XR809, w środku nie ma niestety ESP, więc nie wgramy tam zwyczajowo np. Tasmoty. Jest jednak pewna nadzieja, że XR809 też moglibyśmy poprogramować, gdyż SDK jest dostępne na Githubie.
Cool? Ranking DIY