Доброго времени суток! Может кто-нибудь подсказать мне: возможно ли реализовать работу arduino с GPRS shield через протокол Modbus в режиме TCP? (я имею в виду не принципиальную возможность написания протокола с нуля, а реальное наличие соответствующих библиотек, другими словами - были ли прецеденты?) Нужно для того, чтобы заставить arduino обмениваться данными с каким-нибудь сервером Modbus, установленным на компьютере, ну например Lectus Modbus server посредством интернета, т.е. через TCP-соединение. При этом сам arduino будет modbus-master, будет писать и читать данные, а компьютер - modbus-slave и будет соответственно иметь постоянный ip. Я знаю, что есть библиотека modbus rtu https://sites.google.com/site/jpmzometa/arduino-mbrt Но подходит ли она для таких целей? Ведь фактически нужен modbus tcp - по крайней мере на сервере именно эта реализация, там нет физического уровня serial, но arduino использует serial соединение с gprs shield вместо tcp на физическом уровне, поэтому я вот пытаюсь понять годен ли modbus rtu для такого соединения, ну, например, использовать вместо обычного сообщения modbus сообщение типа 'AT + CIPSTART = "TCP","IP-сервера","порт-сервера" ' (установка TCP соединения с заданным сервером MODBUS через GPRS) и затем 'AT + CIPSEND <sent data message> ' (посылка данных), где вместо <sent data message> будет само сообщение modbus. Т.е. я имею в виду - в заданные временные интервалы посылаем обычным println AT команды для установки соединения и AT + CIPSEND затем ждем 100 ms для усвоения команды и после вызываем метод записи modbus rtu из библиотеки, который запишет в порт нужные данные, упакованные по MODBUS для обычного serial режима. Вот мне нужно понять насколько это бредово. И если возможно для реализации, то сколько времени это может занять. Потому что если на это могут уйти месяцы, то для меня это не вариант, я буду пробовать поднимать web-сервер на arduino и через http передавать данные на компьютер, а там уже обрабатывать их на php и т.д.
по идее, RTU некритичен к паузам между "словами". если научить библиотечку писать в grps-шилд, то может получиться
Здравствуйте! Такая же проблема. Serial ModBus Slave для Arduino попробовал - коечто получается. В качестве мастера использовал OPC сервер. Tакже LABvIEW попробовал через I/O Server DSC модуля. Вижу нормально 5 аналоговых входов, а вот светодиод на 13 ноге зажечь не могу. Также не вижу пин настроенный на цифровой вход. Какаято непонятка с адресацией пространства ардуины и описания адресов в LV. Вижу в LV модбасовские библиотеки, но как имаи пользоваться пока не пойму, да и не понятно зачем если все можно делать через глобальные переменные LV.? Клиентом через OPC сервер доступны 5 аналоговых, и 13 пин светодиод. Буду разбираться с МодБасом-до этого дела не имел. Может кто знает, как получить доступ не к физическим входам-выходам Ардуины, а к переменным? Ну и главный вопрос-Можно ли перенаправить Modbus Serial RTU в Ethernet Shild? Или может есть библиотека для Modbus через Ethernet для Arduino? Буду рад любым свежим идеям...