Arduino без Ethernetshield-а

Arduino 1 комментарий

На данной странице описывается схема использование контроллера Arduino без дополнительного Ethernet-модуля.

Итак, если ваш контроллер работает без Ethernet-модуля, то его можно подключить к компьютеру через USB-порт. После установки драйверов, в системе появится дополнительный COM-порт, через которых происходит "общение" компьютера с контроллером.

Задача в следующем -- сохранив общий принцип программирования контроллера обеспечить передачу данных от него в систему. Для этого можно использовать программу, представленную ниже (только для Windows-системы).

Данная программа подключается к выбранному COM-порту, считывает информацию, поступающую с него и при обнаружении строк, обозначающих вызов HTTP-запросов, перенаправляет эти запросы на указанный сервер сети.

Переделка кода

Update: Полный код (уже с переделкой) данной прошивки контроллера без Ethernet-модуля можно найти здесь.

1. Удаляем приведённые ниже строки, т.к. они нам не понадобятся без etherner-модуля

2. Изменяем функцию отправки HTTP запроса на следующую:

Программа ArduinoGW

Скачать (350Kb) Исходный код (Delphi 6)

В настройках программы указывается номер COM-порта, к которому подключен контроллер, а так же скорость соединения с устройством. После нажатия кнопки Connect, будет произведено подключение к устройству и в рабочей области программы будут отображаться данные, получаемые с устройства.

При обнаружении в потоке данных строки вида:

Будет сформирован HTTP-запрос по адресу <BASEURL>/<параметры_запроса>

Например, если Base URL у нас http://localhost/ , а строка пришла вида

То будет отправлен запрос:

Кроме того, при обнаружении строки вида

Программа не будет использовать настройку Base URL, а сформирует запрос по указанному адресу, т.е.

Таким образом, данная программа позволяет подключить Arduino к любому из компьютеров сети и перенаправлять запросы на "головной" сервер для последующей обработки в рамках общей системы.

Update: последнюю версию программы можно использовать ещё и для отправки команд в Arduino следующим образом:
1. Запускаем приложение, настраиваем, соединяемся с Arduino (так работало и раньше)
2. Если нужно что-то послать в открытое соединение, то просто из командной строки запускаем это же приложение, но в качестве параметров указываем строчку, которую нужно послать.

Update: Появилась возможность запускать в программе собственный веб-сервер, чтобы отправлять на него запросы, которые будут переданы в подключенное устройство. Пример запроса:

При этом на устройство будет отправлена строка "someData". В качестве someData могут так же выступать управляющие команды. Пример:

Чтобы иметь возможность работать с несколькими портами, можно скопировать программу в разные каталоги.

Программа не завязана на системе MajorDoMo и может быть установлена совершенно автономно и использоваться вне общего комплекса, например посылая запросы на сервер, расположенный в сети Интернет.

Настройка "Auto connect at startup" обозначает, что программа после запуска будет автоматически стартовать сессию связи с контроллером и прятаться в системную облать.

Все настройки программы сохраняются от запуска к запуску в ini-файле, расположенном там же, где находится исполяемый exe-файл.

Поделитесь в соц сетях

Теги:

 

 

One thought on - Arduino без Ethernetshield-а

  • Как скачать "Полный код (уже с переделкой) данной прошивки контроллера без Ethernet-модуля можно найти здесь?." ?
    При переходе по ссылке выдает пустую страницу с заголовком Arduino Code No Ethernet

Комментарий