#transfer #xbee #zigbee
#передача #xbee #zigbee
Вопрос:
У меня Raspberry Pi 3 модели B. Я хочу отправить файл с Raspberry на ноутбук. Я настроил свои устройства XBee (Zigbee), и я могу отправлять текст ASCII между собой по XCTU.
Я хочу передать файл (1 МБ) без XCTU. Можете ли вы предложить мне источник для этого? Как я могу это сделать?
Ответ №1:
Вам нужно будет придумать какой-то протокол для Pi, чтобы сообщить ноутбуку, насколько велик файл, прежде чем он начнет отправлять. Вы могли бы начать действительно просто и отправить одну строку с именем файла, его размером и новой строкой, прежде чем записывать содержимое файла на последовательный порт. На принимающей стороне проанализируйте имя файла и размер, а затем начните считывать байты, пока не дойдете до конца.
Более сложный протокол позволил бы любой стороне прервать передачу. Вам не нужно беспокоиться об исправлении ошибок, поскольку вы, вероятно, используете интерфейс USB, в котором не будет помех на линии между контроллером FTDI и XBee, а при передаче по воздуху ошибка исправляется за вас.
Обязательно настройте модули XBee на обоих концах для использования управления потоком и ожидайте, что передача займет много времени. Вы хотите убедиться, что отправляете байты в XBee на Pi со скоростью, которую он может обрабатывать. Управление потоком на ноутбуке, вероятно, менее важно. Установите ATBD на 7 (115200 бит / с) или 8 (230400 бит / с), чтобы минимизировать время передачи между каждым устройством и модулем XBee, но будьте готовы к тому, что передача по воздуху будет осуществляться со скоростью около 10 КБ / с. 1 МБ / 10 КБ / с = 100 секунд.