Interfejs ANT+ w bezprzewodowej komunikacji z czujnikami mobilnymi
Plan prezentacji Cele projektowe Główne zadania do wykonania Dziedzina, której dotyczy praca Odniesienie do innych projektów Plan pracy i ewentualne zagrożenia Stan zaawansowania
Cele projektowe Poznanie protokołu ANT (był to najbardziej problematyczny slajd, który jednak powinien być dla mnie oczywisty, ponieważ sam sobie wybralem ów temat...) Poznanie protokołu ANT Nabycie umiejętności z obszaru konfigurowania sieci czujników mobilnych Tworzenie aplikacji wysokopoziomowych współpracujących z warstwą sprzętu. Edukacja przyszłych pokoleń inżynierów
Główne zadania Zadania opcjonalne Zadania podstawowe Program do obsługi komunikacji bezporzewodowej czujników z interfejsem ANT+ Interfejs graficzny do zarządzania siecią czujników (wykrywanie czujnikow, tworzenie zdefiniowanej topologii, komunikacja z konkretnymi urzadzeniami itp.) Seria ćwiczeń laboratoryjnych Dla studenta: instrukcja laboratoryjna, plik wykonywalny ze zrealizowanym ćwiczeniem Dla prowadzącego: dokument z rozwiązaniem (dokumentacja opisująca szczegóły rozwiązania zadania), kod źródłowy programu Zadania opcjonalne Aplikacja tworząca wirtualne środowisko pracy czujników Apliakcja na telefon komórkowy (tu już bez możliwości tworzenia jakichs zaawansowanych konfiguracji sieci itp, raczej powinna ona służyć jako urządzenie zbierające dane z różnych sensorów podczas treningu)
Aplikacja obsługująca komunikację z czujnikami mobilnymi z interfejsem ANT+ Identyfikacja czujników (znajdujących się w zasięgu, na podstawie przechwyconych pakietów) Zarządzanie ustawieniami wykrytych urządzeń Tworzenie jednej z topologii sieci (topologia musi byc możliwa do zrealizowania na zestawie czujników, jaki mamy do dyspozycji) Wyświetlanie aktualnego stanu czujników Archiwizowanie danych w postaci plików z logami
Aplikacja symulująca pracę sieci czujników Tworzenie czujników Ustalanie ich właściwości (typ czujnika, częstotliwość wysyłania pakietów, sposób nadawania – ciągły, cykliczny) Stworzenie (wirtualnego) urządzenia – bramy, symulacja urządzenia podpiętego pod port RS232 Wizualizacja zdefiniowanych parametrów (i jakaś prosta wizualizacja zdefiniowanych paramatrów) (to wszystko umożliwi komunikację z aplikacją zarządzającą. Ma to być takie proste narzędzie, umożliwiające testowania własnego oprogramowania w wirtualnym środowisku)
Przegląd wiedzy z obszaru rozwiązywanego problemu Protokół stworzony przez Dynastream Innovations (a dokładniej jej oddział zajmujący się rozwojem produktu ANT) Dostępne źródła wiedzy Oficjalna dokumentacja twórców protokołu na stronie www.thisisant.com Źródła nieoficjalne (wszelkiej maści fora internetowe i strony ludzi chcących poznać protokół, którym zainteresowane są wielkie firmy informatyczne i nie tylko) Strony członków ANT Alliance (czyli stowarzyszenia, które mają pierszeństwo w testowaniu i co za tym idzie wypuszczaniu oprogramowania czy urządzeń implementujących interfejs ANT+)
ANT – podstawowe informacje Protokół ANT (wspiera takie aspekty, czy obszary jak) Bezpieczeństwo – kodowanie sygnału czujników Wielokanałowość (każde urządzenie w sieci komunikuje się z innymi w tzw. Kanale, i tylko urządzenia z tego samego kanału mogą ze soba rozmawiać. Dlatego aby sieć czujników tworzona dynamicznie czyli jeśli pojawi się jakies urządzeniw w zasięgu innych, to automatycznie staje się ono elementem sieci. Można by zadać pytanie, czy tworzona sieć jest jakoś uporządkowana. No więc czujniki z protokołem ANT mają prekonfigurowalną sieć typu practical mesh)
ANT – podstawowe informacje
Dlaczego ANT ? Cechy protokołu Niski pobór prądu, Iśr=5,45µA (co przekłada się na żywotność baterii/innych źródeł zasilania) Prosty interfejs szeregowy (kolejne 2 podpunkty są ze sobą nierozewralnie związane) Niewielkie koszty produkcji (układów implementujacych protokół ant, a to w dużej mierze dzięki bardzo małym wymiarom oraz wykorzystaniu krzemu jako głównego budulca układu ) Małe wymagania sprzętowe (osiągnięte dzięki prostej implementacji co jest powiązane z kolejnym podpunktem) Duża (prawie nieograniczona) skalowalność oraz łatwość użycia
Dlaczego ANT ?
Plan pracy
Ogólny opis – na czym polega moja praca CO MAM ZROBIĆ Wymagania obowiązkowe Aplikacja obsługująca komunikację z czujnikami mobilnymi (Java SE) Inicjalizowanie komunikacji Tworzenie określonej topologii sieci Przesyłanie pakietów danych – testowanie komunikacji Stworzenie ćwiczeń laboratoryjnych(nieokreślona ilość, około dwóch-trzech) zawierających: Dla studenta: Instrukcja laboratoryjna ( – szczegółowy opis zadań do rozwiązania) Przykładowa aplikacja (– działające rozwiązanie w postaci pliku wykonywalnego) Dla prowadzącego zajęcia: Rozwiązanie zadań Kody źródłowe Wymagania opcjonalne Aplikacja na telefon komórkowy będąca odpowiednikiem napisanej w Javie SE -> Java ME Stworzenie ćwiczenia laboratoryjnego
Co jest potrzebne do wykonania założonego celu CZEGO UŻYĆ (minimalne wymagania): Komputer z zainstalowaną wirtualną maszyną Java + jdk w wersji 1.5 Zestaw czujników z interfejsem ant+
JAK MAM TO ZROBIĆ Czujniki – jakie i co z nimi zrobic Jak to wszystko ma działać: Potrzebny program sterujący (który musi wiedzieć Informacja w jakiej postaci przesyłane są dane) Potrzebne czujniki (które przesyłają dane między sobą i otrzymują dane ) Rozwiązanie programowe – JAVA – jak sobie poradzić będąc fanatykiem tego języka (bo firma tworząca ANT+ nie pomyślała o programistach JAVA) – na pomoc przychodzi JNA – java native access.
Zidentyfikowane problemy Użycie bibliotek przeznaczonych dla języka C++ w Javie Zainicjalizowanie komunikacji (– szczegóły za moment) Określenie dokładnej informacji przekazywanej protokołem ANT+ (co tak naprawde dostajemy, nie mam dostępu do danych dot. Profili sprzętu, z tego też powodu należy zastosować inżynierię wsteczną do odczytania rzeczywistych wartości) Stworzenie poprawnej topologii sieciowej
Odniesienie do innych prac Wspomnienie o oficjalnych projektach wykorzystujących protokół ant+ Mój projekt – próba stworzenia oprogramowania komunikującego się z urządzeniami ANT+
Moja praca a te odniesienia do innych prac – może coś dodać
Protokół ANT – podstawowe informacje
Parametry urządzeń z zaimplementowanym rozwiązaniem ANT+
Moje zadanie – szczegóły rozwiązania Co będzie robił program – no właśnie Przeniesienie funkcji bibliotecznych z C++ do Javy Stworzenie podstawowej komunikacji na podstawie dokumentacji twórców ANT+ Skonfigurowanie sieci czujników do pracy w określonej topologii
Moje rozwiązanie – szczegóły komunikacji Typy budowanych sieci. Zamierzam stworzyć sieci o X, Y, Z topologiach (ich schematy/obrazki) Przykładowo w topologii X, moje zadanie będzie obejmowało kolejne kroki: Uruchomienie programu na PC Umieszczenie nadajniko-odbiornika w porcie USB komputera Ustawienie urządzeń w odległości nieprzekraczającej 10m
Moje rozwiązanie – szczegóły komunikacji Stworzenie kanałów komunikacyjnych zgodnie z definicją – ilustracja nadania kanałów poszczególnym urządzeniom