Мне нужно отправить данные (целое число) из Arduino в программу C на ПК. Я знаю, что связь в порядке, потому что с X-CTU работает отлично. Мне нужно сделать это в режиме AT, но я не знаю, как начать.
Связь XBee AT между ПК и Arduino
Ответы (1)
Если вы используете модули XBee в режиме AT, то это не сильно отличается от того, что вам пришлось бы делать с прямым последовательным кабельным соединением между Arduino и ПК. Найдите примеры программ, демонстрирующих последовательную связь для обеих платформ.
Работающее соединение с X-CTU является отличной отправной точкой, так как вы подтвердили, что радиомодули взаимодействуют правильно.
На ПК вы можете посмотреть XBee Host Library с открытым исходным кодом на GitHub. Он включает пример программы под названием «xbee_term», которая демонстрирует простой последовательный терминал для использования XBee в режиме AT. Он также имеет многоуровневый API, позволяющий легко использовать модули XBee в режиме API, который вам потребуется, если ПК будет взаимодействовать с несколькими узлами Arduino, работающими в режиме AT.
Что касается отправки int
, вы можете использовать sprintf()
, чтобы отформатировать его как строку для отправки по беспроводной связи, и strtol()
, чтобы преобразовать его обратно в int
на стороне ПК.