Пример кода передвижения ровера
Этот код представляет собой асинхронное приложение на Python, использующее библиотеку socketio
для удаленного управления ровером Контакт через веб-сокеты. Подробный обзор основных частей кода:
Импорт библиотек:
time
иsignal
— стандартные модули Python.socketio
— для асинхронной работы с WebSocket.asyncio
— для работы с асинхронными функциями и циклами.aiofiles
— для асинхронной работы с файлами.datetime
— для работы с датами и временем.
Параметры подключения:
Адрес сервера хранится в переменной
server
.
Клиент Socket.IO:
Создается экземпляр асинхронного клиента
sio
.
Диаметр и окружность колеса:
Значения используются, возможно, для расчётов перемещения.
Функции для работы с файлами:
write_report
: асинхронно записывает сообщения в файл отчёта.
Обработчики событий Socket.IO:
connect
: реагирует на успешное подключение к серверу.on_move
,on_spin
,on_lights
: обработчики результатов выполнения команд движения, вращения и управления освещением соответственно.
Функции для отправки команд на сервер:
perform_movement
: отправляет команду на перемещение на определённое расстояние.perform_spin_angle
: отправляет команду на вращение на определённый угол.control_lights
: отправляет команду для включения или выключения света.
Асинхронный основной цикл (
main
):Соединяется с сервером и последовательно выполняет серию команд (движения, вращения, управление светом).
Запуск асинхронного цикла:
Используется
asyncio.run(main())
для запуска асинхронной функцииmain
.
Перед началом работы убедитесь, что все библиотеки у вас скачаны. Скорее всего, вам нужно будет установить библиотеку socketio:
Откройте терминал в Visual Studio Code (
Terminal - New Terminal
или комбинациейctrl + shift + `
)В открывшимся терминале пишем команду:
pip install python-socketio
Нажимаем Enter и ждем загрузки библиотеки. После завершения загрузки можно начинать работу с кодом
Процесс работы с кодом:
Создайте в иерархии файл с названием, например, move_example.py (НАПОМИНАНИЕ: обязательно прописывайте тип файла с названием, иначе по стандарту у вас создастся .txt файл)
Вставьте код в окно программирования
Сохраните свой код в любое место на компьютере (
ctrl + shift + s
)
Код организован таким образом, чтобы асинхронно управлять Ровером Контакт, реагируя на команды сервера и записывая результаты действий в файл отчета. Это может использоваться для тестирования или демонстрации возможностей удалённого управления ровером в реальном времени. Команды в этом коде выполнены таким образом: ровер сначала проезжает 1 метр, затем поворачивается на 90 градусов вправо (по часовой стрелке), а затем три раза мигает фарами.
Last updated