Пререлиз симулятора IoTRobotWorld и пример сервера управления
Timur.Idiatullov — пн, 05/09/2022 - 12:32
Вторая версия симулятора мобильного робота с поддержкой управления с отдельного приложения (сервера) по протоколу UDP. Теперь нет необходимости устанавливать ThingWorx, если вы хотите испытать свои алгоритмы движения.
Симулятор обменивается с удаленным приложением, выступая в качестве клиента. Запросы отправляются и принимаются в виде JSON-строки с фиксированным набором параметров. Обмен идет по UDP.
Достаточно открыть слушающий сокет (порт remote) в своём приложении для получения данных с виртуального робота, а команды отправлять на слушающий сокет (порт local) в симуляторе.
Для корректной обработки строки команд в неё конце нужно добавлять символ Lf (т.е. "\n" ).
Пример UDP сервера (на языке C# + WinForms):
IoTRobotWorld2UDPServer_bin (bin, 30kb), IoTRobotWorld2UDPServer_src (src, 30kb)
Симулятор IoTRobotWorld:
IoTRobotWorld2 (prerelease) (bin, 300kb)
Комментарии к запуску симулятора
Не забудьте загрузить параметры виртуальных вещей перед подключением. За это отвечает кнопка "Load parameters" на вкладке ThingWorxConnection. Без данных параметров обмен данными с сервером будет невозможен.
Затем можно переключиться на вкладку UDPServerConnection и настраивать подключение по UDP.
За управление роботом отвечают параметры F (скорость) и B (баланс, степень поворота руля). Остальные параметры пока не задействованы.
Не забывайте увеличивать номер каждой новой отправленной команды, иначе они будут игнорироваться сервером.
- Войдите на сайт для отправки комментариев