Тестирование устройств
-
Всем привет!
Хотел протестировать связь между малиной и компьютером по протоколу Modbus RTU подключив модуль MAX485 (ttl to rs485) к GPIO и к переходнику RS485/USB компьютера. Но, после запуска ПО для тестирования выходит ошибка «Connection timed out». В качестве ПО использовал Libmodbus.
Является ли данная схема подключения правильной? Как можно прочекать ошибка тут программная или аппаратная (не рабочий модуль, usb переходник, схема подключения)? Имеются ли какие-нибудь другие программы/библиотеки для проверки связи между ними? -
Привет!
Здесь подключал как раз таким образом. Нужно правильно задействовать выводы GPIO, которые подключены к выоходм DE,RE переходника, а имено активировать на них RTS и CTS (подробности в той теме). Без этого связь работала только в одну сторону (мог послылать через uart, но не мог читать из него).
У меня работало в обе стороны при связи с компьютером, правда я использовал ser2net на малине и Putty на компьютере. -
Спасибо, попробую. А надо ли редактировать файлы /boot/cmdline.txt и /etc/inittab? Просто в raspberry pi 2 не смог найти файл inittab. Говорят, без этого GPIO не будет работать должным образом.
-
Из boot/cmdline.txt нужно удалить опции вроде такой «console=ttyAMA0,115200» (все что связано с ttyAMA0), после этого перезагрузиться.
У меня inittab тоже нету. Я просто проверил что etc/init.d, etc/init и в etc/rc.local нету упоминания ttyAMA0, например так:
pi@raspberrypi /etc$ grep -r -i ttyAMA0
Также освободить uart можно командой
sudo raspi-config
Затем выбрать «9 Advanced options»,«A8 Serial» и выбрать «No».Это всё нужно чтобы освободить UART (по-умолчанию он используется ядром как консоль) (здесь можно поподробнее почитать, раздел Preventing Linux using the serial port).