Якщо ваші дані проходять через XBees, вам слід перевести модулі в режим API з символами втечі, розділити свої дані на логічні пакети і скористатися тим, що в режимі API пакет, який надається XBee, або надійде цілим, або зовсім не. Створіть свій протокол навколо передачі фрагментів 1-255 байт, і нехай модулі XBee турбуються про те, як доставити дані в кожен фрагмент. Не турбуйтеся про збереження цілісності окремих пакетів або підрозділів між ними. Модулі Digi добре справляться з цим. Найбільше, про що потрібно турбуватися, - це той факт, що навіть якщо вузол, який передає пакет, вважає, що він не був доставлений, і надсилає заміну, одержувач може в будь-якому випадку отримати його - можливо, навіть після отримання заміни. Речі можуть бути найпростішими, якщо ви розробляєте свій протокол так, щоб одна сторона була "господарем"; якщо господар запитує частину даних, раб повинен надіслати їх один раз і не турбуватися про те, чи отримає господар. Якщо майстер не отримує потрібних даних, він може їх запросити ще раз.
Ведений повинен присвоювати деяким видом послідовних номерів дані, а ведучий повинен присвоювати порядкові номери запитам про стан зміни підлеглого. Якщо запит господаря має форму "надіслати перший елемент, порядковий номер якого більше, ніж XXX", і кожен фрагмент даних підлеглого містить свій власний порядковий номер та номер попереднього елемента (якщо вони не нумеруються послідовно ), пізні пакети, що надходять, можуть призвести до того, що підлеглий надсилає дані ведучому, але у ведучого не виникне труднощів ігнорувати відповідні відповіді, що надходять із запізненням. Якщо підлеглий отримує запит на зміну стану, порядковий номер якого нижчий від попереднього запиту, він повинен ігнорувати цей запит, оскільки він був замінений ще до його отримання.