Jak byłem dzieckiem bardzo lubiłem z Tatą bawić się w elektronika… znaczy Tato robił coś na poważnie, a ja mu w tym „pomagałem”. Robiliśmy radyjka z diody i słuchawek oraz bardziej zaawansowane projekty.

Po tych eksperymentach został mi sentyment do „elektronicznych zabawek”. Dziś dzięki SensorTag i iPhone mogę połączyć pasję majsterkowicza-elektronika z programowaniem!

Wiodący producent wszelakich układów elektronicznych, firma Texas Instruments wpadła na genialny pomysł jak zachęcić do realizacji własnych pomysłów deweloperów, którzy chcą coś zrobić z użyciem technologi sensorów i Bluetooth LE ale się boją. Boją się np. programowania mikrokontrolerów, doboru układów i tym podobnych strasznych rzeczy. Do tej grupy należę i ja.

SensorTag (bo taką nazwę nadano temu urządzeniu) jest też wspaniałą pomocą naukową przydającą się w wielu dziedzinach (od fizyki przez matematykę stosowaną po informatykę i telekomunikację). Idealne narzędzie dla edukacji. Kolejna zaleta SensorTag to cena urządzenia: 25$ + 14$ za przesyłkę kurierem (niestety teraz zaczęli doliczać 14$ za przesyłkę, gdy kupowałem w maju nie pobierali dodatkowej opłaty). Takie podejście sprawia, że po eksperymentach z tym zestawem od Texas Instruments wielu pomysłodawców będzie wdrażać swoje rozwiązania korzystając właśnie z układów TI i wsparcia jakie ta firma oferuje. I właśnie taka jest rola tego urządzenia. Ma zachęcać do tworzenia i realizacji własnych projektów, edukować i „przywiązać” dewelopera do Texas Instruments. Nie mam nic przeciwko ;-)

UWAGA! Obecnie gdy TI dolicza za wysyłkę do Polski i przy obecnym kursie dolara, oferty sprzedaży SensorTag w Polsce wydają się być atrakcyjniejsze. Najlepiej je znaleźć wpisując w wyszukiwarkę „SensorTag cena”. Znalazłem już po ~110 zł + wysyłka.

Teraz konkrety, a dla niecierpliwych film: SensorTag czyli poligon doświadczalny naszpikowany sensorami dla iPhone lub iPad

Poligon doświadczalny

SensorTag od Texas Instruments składa się z maleńkiej (55 mm x 25 mm) płytki z układami zasilanej baterią CR2032 i ważącej (z baterią) tylko 9 g. Dodatkowo dostajemy obudowę plastikową z silikonowym etui (masa całości 31 g).

SensorTag od Texas Instruments

W tym zestawie deweloperskim udało się producentowi zmieścić poza mikrokontrolerem z modułem Bluetooth LE aż 6 sensorów:

  • Bezdotykowy termometr IR – pirometr.
  • Termometr wewnętrzny (wbudowany w układ).
  • Wilgotnościomierz.
  • Barometr (ciśnienie powietrza, altimetr).
  • Żyroskop trzyosiowy.
  • Magnetometr trzyosiowy (kompas).
  • Przyśpieszeniomierz trzyosiowy.
  • A! I jeszcze dwa przyciski.

Zestaw komunikuje się z urządzeniami wyposażonymi w Bluetooth 4.0 (LE) czyli np. iPhone 4s, New iPad (3), iPod Touch 5 gen. (i wszystkie nowsze) oraz z komputerami z tym interfejsem. Działa też z pewną ilością urządzeń na Androidzie (ale wymaga najnowszych systemów co bardzo limituje krąg odbiorców). Oczywiście jak jesteśmy bardziej biegli to możemy podłączyć SensorTag bezprzewodowo z Arduino lub innymi mikrokomputerami dla hobbystów.

My zajmiemy się oczywiście współpracą SensorTag z urządzeniami Apple.

Aby wykorzystać możliwości SensorTag na szczęście nie musimy zgłębiać tajników Objective C czy Swift (główne języki programowania dla iOS i OS X). Na początek mogą wystarczyć dostępne w App Store aplikacje od Texas Instruments i niezależnych deweloperów.

SensorTag App Software

Ale oczywiście więcej radości sprawi nam pisanie własnych programów za pomocą np. techBASIC (poświęcę mu dodatkowo następny wpis w tej serii). Jest to całkiem prosty język programowania w którym za pomocą kilkunastu linijek kodu można uzyskać efekty jak przy kilkudziesięciu w ObjC. Zresztą niebawem sami zobaczycie (lub już wiecie, jeżeli jak ja zdecydowaliście się na książkę Mika Westerfielda: Projekty elektroniczne na iPhone i iPad. Niekonwencjonalne gadżety z technologią Arduino i techBASIC.

Czujniki

Teraz trochę więcej o tym czego można się po czujnikach w SensorTag spodziewać.

  • Pirometr (bezdotykowy termometr) podaje temperaturę obiektu na podstawie jago promieniowania w podczerwieni (-40° do 125°C). Obiekt powinien znajdować się w odległości do 50 cm i mieć wymiary z dwa razy większe od odległości (to zalecenia ale w praktyce jest lepiej). Dodatkowo ten sam sensor ma wbudowany termometr lokalny (w układzie). Czyli dostajemy dwa odczyty temperatury: zdalną (obiektu na który SensorTag „spogląda”) i lokalną temperaturę otoczenia. Odczyt obu temperatur może być wysyłany z częstotliwością od 0,3 do 2,5 sekundy.
  • Barometr podaje ciśnienie w zakresie od 0,3 do 1,1 atmosfery. Może służyć do pomiaru wysokości na podstawie ciśnienia (altimetr) i dobrze sobie z tym radzi. Dane mogą być przesyłane co 0,1 - 2,5 s. Uwaga: również ma wbudowany termometr (temperatura jest potrzebna przy precyzyjnym obliczaniu ciśnienia).
  • Wilgotnościomierz podaje wilgotność względną w procentach. Do jej obliczenia również potrzebna jest temperatura, mamy więc kolejny (trzeci) termometr! Dane jest sens doczytywać nie częściej niż co 0,7 s.
  • Przyśpieszeniomierz (akcelerometr) podaje przyśpieszenie w trzech osiach czyli możemy np. sprawdzić pozycję SensorTag względem ziemi (jak jest względnie nieruchomy) lub poznać przyśpieszenie czyli np. drgania, potrząsanie itp. Standardowo mamy zakres do 2 g (2x przyśpieszenie ziemskie) ale możemy je zmienić wymieniając oprogramowanie w SensorTag do 8 g (jak w rakiecie). Dane można odczytywać maksymalnie z częstotliwością 0,1 sek.
  • Magnetometr (w uproszczeniu kompas) podaje silę pola magnetycznego w trzech osiach (3D) co maks. 0,1 sekundy. Można to wykorzystać jako kompas lub wykrywać inne zmiany pola magnetycznego w pobliżu SensorTag.
  • Żyroskop wysyła informacje o zmianach położenia SensorTag względem trzech osi. Nie podaje położenia (do tego lepiej użyć przyśpieszeniomierza) lecz prędkość obrotu. Dane są dostępne z rozdzielczością maks 0,1 sek.
  • No i na deser dwa przyciski których stan możemy odczytywać i użyć do sterowania aplikacją.

Jak wydać jest to bardzo pokaźny zbiór czujników o różnorakich zastosowaniach. Naprawdę można się wykazać pomysłowością!

Teraz trochę o ograniczeniach.

Urządzenia Bluetooth LE są bardzo energooszczędne. SensorTag i inne urządzenia tego typu zazwyczaj są zasilane baterią „pastylką” CR2032. Zasięg sygnału w otwartej przestrzeni i przy sprzyjających okolicznościach (odpowiednie ułożenie urządzenia i iPhone) jest ograniczony do 30-40 metrów. W budynku zazwyczaj sygnał przejdzie przez jedną ścianę plus jakieś 7-10 metrów.

Każdy z sensorów zużywa prąd, dlatego włącza się je i wyłącza w zależności od potrzeb. Najbardziej energochłonny jest żyroskop. Gdy jest włączony pobiera „aż” 7 mA. Pozostałe sensory mieszczą się w 0,3 mA (barometr tylko 0,005 mA). Co do zasilania to nie musimy ograniczać się do „pastylki”. Możemy doprowadzić zasilanie przez np. złącze diagnostyczne. Napięcie musi być w zakresie od 2,2 V do 3,9 V czyli np. dwie baterie lub akumulatorki „paluszki” będą w sam raz. Można pokusić się też o zasilanie ogniwami fotowoltaicznymi (słonecznymi).

Ostatnie ograniczenie to konieczność „parowania” urządzeń. Standardowo SensorTag oznajmia swoją obecność Światu (przez dwie minuty) po wciśnięciu guzika z boku obudowy. W tym czasie może nastąpić połączenie z programem. Połączenie może trwać bardzo długo i ma bardzo niewielki wpływ na baterię w iPhone ale np. po rozłączeniu lub „zabiciu” programu mamy na nawiązanie kolejnego połączenia znów tylko 2 minuty. Po tym czasie trzeba wcisnąć przycisk. O ile jak SensorTag jest w pobliżu nie jest to problemem to gdy znajdziemy dla niego jakieś zastosowanie „zdalne” może być kłopot. Na to też jest sposób. Należy zmodyfikować firmware SensorTag aby wysyłał sygnały cały czas (ma to pewien wpływ na jego baterię ale jak zasilimy go czymś mocniejszym to problem z głowy).

UWAGA: Dla własnych potrzeb zrobiłem wersje oprogramowania SensorTag, które gdy straci połączenie lub zaraz po uruchomieniu wysyła „rozgłoszenie” stale co 1 lub 1,5 sekundy. Zwiększa to nieco zużycie baterii ale nadal potrafi ona wytrzymać kilka miesięcy. Chętnych na taką wersję proszę o kontakt.

Teraz znając te możliwości i ograniczenia SensorTag możecie pomyśleć o zastosowaniach dla tego urządzenia.

W App Store już można znaleźć sporo programów wykorzystujących to urządzenie. Od stacji pogody przez sterowniki i urządzenia wspomagające ćwiczenia fizyczne! Np. SensorTag przymocowany do „sztangi” za pomocą przyśpieszeniomierzy i odpowiedniej aplikacji, potrafi wyliczyć moc i pracę jaką wykonaliśmy ćwicząc.

SensorTag Box

Dla zwolenników natywnego programowania w ObjC Texas Instruments zapewnia wsparcie w postaci kodu źródłowego i „gotowców” dla XCode.

SensorTag Kilka przykładów działania SensorTag zobaczycie na filmie (w tym jedno niezamierzone lądowanie SensorTag w rynnie): SensorTag czyli poligon doświadczalny naszpikowany sensorami dla iPhone lub iPad