Как получать данные от Xbee в режиме AT на Arduino Nano
Мне нужно распечатать данные на последовательном мониторе Arduino, полученные от Xbee в режиме AT. Я искал на большинстве форумов и не нашел ничего о том, как это сделать.
У меня есть Xbee tx, подключенный к Arduino nano Rx, а rx подключен к tx.
@Matthew Haywood, 👍1
1 ответ
Вы подключили Xbee к единственному аппаратному последовательному интерфейсу, который есть у Nano. Is также используется микросхемой USB to Serial, которая подключается к последовательному монитору. Таким образом, то, что вы отправляете на Xbee, также отправляется на последовательный монитор. То, что отправляет Xbee, отправляется только на Arduino (поскольку вывод Xbee TX подключен к RX Arduino, а также к TX ардуино USB к последовательному чипу).
Но вы можете отделить это, используя программный интерфейс на любых других контактах по вашему вкусу. Затем вы можете подключить к нему Xbee. Затем перенаправьте выходные
данные интерфейса SoftwareSerial на
последовательный
интерфейс. Чтобы увидеть, как это работает, взгляните на первый пример библиотеки SoftwareSerial
. Он в основном проверяет оба интерфейса, считывает доступные данные из одного интерфейса и записывает их в другой (обратите внимание на write()
в отличие от print()
, поскольку при пересылке вы не хотите снова интерпретировать данные в другой формат, как это делает print()
).
Кроме того, в Интернете есть множество примеров и руководств по SoftwareSerial
. Важным ограничением является то, что только один программный интерфейс может прослушивать данные в любое время. Аппаратный
последовательный
интерфейс не имеет такой проблемы.
- Загрузка Arduino Nano дает ошибку: avrdude: stk500_recv(): programmer is not responding
- В чем разница между библиотеками Software Serial? Какая из них совместима с Arduino Nano?
- Как отправить команду AT на sim800l с помощью SoftwareSerial
- Проблемы с последовательной связью от Arduino к Bluetooth HC-05
- Как синхронизировать несколько ардуино?
- Как Arduino может проверить, подключен ли он к ПК и включен ли компьютер?
- Как отправлять и получать беззнаковые целые (unsigned int) от одного arduino к другому arduino
- Использование последовательных контактов TX/ RX для связи по USB
Спасибо вам за ваш ответ. Я попробую это сделать. Вы сказали, что только один программный последовательный может одновременно прослушивать данные. Означает ли это, что я не смогу подключить модуль GPS к программному последовательному интерфейсу на разных контактах, а также к модулю Xbee? Как бы я решил эту проблему?, @Matthew Haywood
Когда вы взаимодействуете с модулем, который будет отправлять данные только по вашему запросу, вы можете реализовать совместное использование времени. Итак, слушайте один интерфейс, запрашивая информацию у соответствующего модуля и читая ее. Затем прослушайте другой интерфейс, запрашивая у этого модуля информацию и читая ее. Промойте и повторите процедуру. Хотя это работает только в том случае, если вы не можете пропустить данные из одного модуля во время чтения другого. Если вам не хватает данных, вы можете перейти на микроконтроллер с более аппаратными последовательными интерфейсами, такими как Arduino Mega., @chrisl
Хорошо, спасибо, в этом есть смысл., @Matthew Haywood
Как мне добавить библиотеку SoftwareSerial? Кажется, это не всплывает в менеджере библиотеки?, @Matthew Haywood
Потому что это уже часть ядра Arduino. Вам не нужно его устанавливать. Вы можете использовать его непосредственно с Arduino IDE., @chrisl