Planuję protokół komunikacyjny, który będzie używany pomiędzy urządzeniem z Androidem a niestandardowym czujnikiem, który będzie korzystał z komercyjnego modułu Bluetooth. Chciałbym użyć profilu SPP, który ma "zapewnić prosty, niezawodny strumień danych dla użytkownika, podobny do TCP".Propozycje obsługi błędów Bluetooth RFCOMM/SPP Bluetooth
Nie jestem zaznajomiony z technologią Bluetooth i mam kilka pytań na temat projektowania takiego protokołu.
Przede wszystkim nie jest dla mnie jasne, czy muszę się martwić o uszkodzone dane przesyłane, czy nie. Czy podstawowy stos protokołów zagwarantuje mi, że bajty, które czytałem z podanych w Androidzie InputStream
, są takie same, jak UART odbiera po stronie czujnika? Czy muszę definiować własne pakiety danych chronione CRC lub inne, czy może byłoby to przesadą?
Nie jest dla mnie jasne z dokumentacji Android Bluetooth, co dzieje się w mojej aplikacji, jeśli sygnał jest słaby i zaginie na chwilę. Czy dostanę od razu IOException
, czy platforma zapewnia mi pewne ukryte błędy i odzyskiwanie, które spowodowałoby, że takie krótkie przestoje byłyby dla mnie niewidoczne?
Dzięki za radę.
Dziękuję bardzo, ta odpowiedź jest bardzo jasna i obejmuje wszystko, co chciałem wiedzieć. – jabal
Nie ma za co –