Telefon opisuje się zazwyczaj poprzez to, co robi — połączenia, zdjęcia, aplikacje. Spróbujby jednak opisać go przez to, co zawiera: wystarczająco skalibrowany mikrofon z próbkowaniem 48 kHz, dwa lub trzy aparaty, jasną latarkę LED, silniczek wibracyjny, akcelerometr oraz ekran zdolny do migania z precyzyjną częstotliwością. To nie jest telefon. To małe laboratorium z ekranem dotykowym.
Większość aplikacji korzysta z tych elementów pojedynczo, zgodnie z ich przeznaczeniem. Ciekawe pomiary zaczynają się wtedy, gdy używasz ich niekonwencjonalnie i w połączeniu: latarki jako źródła światła dla aparatu, silniczka wibracyjnego jako wzbudnika dla akcelerometru czy drugiego telefonu jako drugiej połowy eksperymentu. Ten wpis to mapa tego obszaru, podzielona na trzy poziomy o rosnącym stopniu zaawansowania.
Poziom 1: jeden czujnik, pasywny nasłuch
Najprostsze narzędzia kierują jeden czujnik na otoczenie i analizują to, co do niego wraca:
- Widmo dźwięku — nagraj dźwięk, oblicz widmo i zobacz, jak rozkłada się energia. To uniwersalny koń roboczy: silniki, przydźwięki, grzechotanie, tony wybrzmiewania uderzonych obiektów.
- Testy opukiwania — puknij w owoc lub uderz w materiał i przeanalizuj wybrzmiewanie: dominujący rezonans oraz szybkość jego zanikania mówią o wnętrzu obiektu znacznie więcej niż sama głośność. (Więcej we wpisie o testach opukiwania.)
- Wibracje — połóż telefon na pralce, kompresorze lub drukarce 3D, a akcelerometr zarejestruje charakterystykę wibracji.
- Kolor i światło z aparatu — punktowy pomiar koloru, wykrywanie migotania i częstotliwości migania ekranów oraz oświetlenia LED, natężenie oświetlenia, liczenie powtarzających się obiektów, odczytywanie mierników analogowych, szacowanie wymiarów.
Nadrzędna zasada: rejestracja musi być tak surowa, jak to tylko możliwe na danej platformie. W systemie Android oznacza to żądanie nieprzetworzonej ścieżki mikrofonu — bez automatycznej regulacji wzmocnienia i bez tłumienia szumów, które modyfikowałyby sygnał, który chcesz zmierzyć — oraz blokowanie automatycznej ekspozycji i balansu bieli aparatu zawsze, gdy pomiar zależy od niezmienności poziomu światła.
Poziom 2: telefon wzbudza, a następnie mierzy własne wzbudzenie
Telefon posiada również elementy wykonawcze, a połączenie takiego elementu z czujnikiem zamienia pasywny nasłuch w aktywne narzędzie pomiarowe:
- Latarka + współczynnik odbicia z aparatu — przechwyć parę klatek przy wyłączonej i włączonej latarce; różnica między nimi pozwala wyizolować to, jak powierzchnia odbija znane światło, co niemal całkowicie eliminuje wpływ oświetlenia otoczenia na wynik.
- Latarka jako oświetlacz: puls i półprzezroczystość — przyciśnij opuszkę palca do aparatu przy włączonej latarce, a aparat zamieni się w fotodetektor obserwujący zmiany objętości krwi przy każdym uderzeniu serca. Ten sam układ optyczny pozwala zmierzyć, jak półprzezroczysty jest dany materiał.
- Silniczek wibracyjny + akcelerometr + mikrofon — telefon wibruje, opierając się o obiekt, jednocześnie rejestrując jego reakcję zarówno mechaniczną, jak i akustyczną. Pusty panel i lity odpowiedzą zupełnie inaczej.
Narzędzia aktywne mają cechę, której brakuje pasywnym: bodziec jest znany. Gdy kontrolujesz wzbudzenie, możesz budować funkcje w oparciu o stosunki wartości i odpowiedzi, a nie o poziomy bezwzględne — dzięki temu wyniki można porównywać między różnymi modelami telefonów bez konieczności kalibracji każdego urządzenia.
Poziom 3: dwa telefony, jeden eksperyment
Niektóre wielkości fizyczne wymagają pomiaru z dwóch stron: ilość dźwięku blokowana przez ścianę czy ilość światła przepuszczana przez okno. Jeden telefon nie może być w dwóch miejscach naraz — ale dwa już tak, a większość gospodarstw domowych ma pod ręką dwa urządzenia.
Trikiem, który pozwala na taki pomiar bez sprzętu laboratoryjnego, jest stosunek pomiarów tego samego odbiornika. Telefon nadający odtwarza charakterystyczny bodziec — krokowy sweep tonowy lub ekran migający ze stałą częstotliwością. Telefon mierzący rejestruje go dwukrotnie: raz przy bezpośrednim kontakcie z nadajnikiem (jako odniesienie), a drugi raz przez ścianę lub okno. Jako wynik wykorzystuje się wyłącznie stosunek tych dwóch rejestracji wykonanych na tym samym mikrofonie lub aparacie. Głośność nadajnika, czułość odbiornika, akustyka pomieszczenia — wszystko to się redukuje. Dzięki temu oba telefony nie wymagają synchronizacji zegara, kabli ani wzajemnej kalibracji. (Pełny opis we wpisie o izolacyjności akustycznej.)
Zasada projektowa stojąca za wszystkimi trzema poziomami: nigdy nie ufaj poziomom bezwzględnym. Mikrofony i aparaty w telefonach różnią się w zależności od modelu; rezonanse, tempo zanikania, wzorce w dziedzinie rzędu i stosunki pomiarów tego samego odbiornika w większości pozostają bez zmian. Funkcje oparte na wartościach względnych sprawdzają się na różnych urządzeniach; te oparte na wartościach bezwzględnych wymagałyby nieustannej kalibracji dla każdego modelu.
Od pojedynczych odczytów do katalogu
Pojedynczy odczyt to tylko ciekawostka. Odczyty stają się wiedzą dopiero wtedy, gdy przypiszemy je do konkretnych rzeczy: tego melona, tego koła, tej ściany, zmierzonych dzisiaj i ponownie za tydzień. Dzięki temu każdy pomiar można przypisać do obiektu w katalogu — Kategoria → Obiekt → Przypadek użycia → Pomiar — a dowolny pomiar może zostać po fakcie zweryfikowany rzeczywistym wynikiem: pukasz w melona, rozkrajasz go, a potem zapisujesz to, co było w środku. Taka zamknięta pętla, powtórzona przez wielu użytkowników i dla wielu obiektów, pozwala trenować klasyfikatory testu opukiwania na prawdziwych owocach, a nie na próbkach laboratoryjnych.
W przypadku konkretnych zadań, a nie tylko odczytów — takich jak centrowanie koła rowerowego czy sprawdzanie izolacji pomieszczenia — guided aktywności łączą ze sobą kilka narzędzi w odpowiedniej kolejności i prowadzą Cię krok po kroku między pomiarami, zapisując wyniki w tym samym katalogu. Pierwszy taki przypadek opisuje wpis o naciągu szprych na słuch.
Dokąd to zmierza
Lista narzędzi stale rośnie, a architektura została zaprojektowana tak, aby dodawanie nowych narzędzi miało charakter wyłącznie przyrostowy: to po prostu nowy wpis w rejestrze, bez konieczności modyfikowania zapisanych wcześniej danych. Wszystko działa lokalnie na urządzeniu, offline, a wyniki otrzymujesz w ułamek sekundy; wpis o podejściu offline-first wyjaśnia, dlaczego to ograniczenie ma charakter fundamentalny, a nie jest tylko kolejną pozycją na liście funkcji.