Skip to content

Nikita-Presnov/uRPC

 
 

Repository files navigation

uRPC

https://v10.urpc.ximc.ru/help

uRPC - это RPC для работы с микроконтроллерами. Имея описание протокола (имя отправляемой команды, тип передаваемых данных и проч.) с помощью этого инструмента можно быстро сгенерировать: прошивку для микроконтроллера, C библиотеку для работы с микроконтроллером по описанному протоколу, Qt отладчик, документацию и проч.

Запуск c помощью Docker

Запустить веб-интерфейс для генерации прошивок, библиотеки и проч. можно с помощью docker:

sudo docker build . -t urpc
sudo docker run --name urpc --publish 8888:8888 urpc

Сервер появится на http://localhost:8888

Запуск без Docker

Для отладки может быть удобно запустить сервер без Docker

  1. Для начала нужно установить python3 и сопутствующие:
sudo apt-get install python3
sudo apt-get install python3-pip
sudo apt-get install python3-venv

Сервер запускали и тестировали на python3.6, именно эту версию лучше и использовать

  1. Создать venv для запуска сервера
python3.6 -m venv venv

(второй аргумент - путь до venv, в случае команды выше venv создастся в папке venv текущей директории)

  1. В новосозданный venv установить все необходимые для работы пакеты:
./venv/bin/python -m pip install -r requirements.txt

Дождаться окончания установки.

  1. Запустить сервер:
./venv/bin/python main.py

Если всё в порядке, никаких сообщений не появится, main.py просто запустится

По умолчанию сервер запустится на 127.0.0.1:8888. Префикс и номер порта можно изменить. Для этого рядом с файлом main.py создать файл settings.py и в него написать: url_prefix = "<ПРЕФИКС>" port = <НОМЕР_ПОРТА>

Если во время запуска возникают ошибки, убедитесь, что:

  1. Вы используете именно python3 и pip3

  2. На локальной машине не запущен другой сервер

  3. Вы указали адекватные значения url_prefix и port (или не меняли их)

  4. Вы скачали рабочую версию с репозитория xigen2

  5. Всё готово. В любом браузере зайдите на 127.0.0.1:8888 (по умолчанию), увидите страницу uRPC.

Заметьте, нельзя запустить два сервера на одной машине, возникнет ошибка Address already in use, перед новым запуском нужно остановить рабочий сервер. Для этого нажать Ctrl+C в окне терминала, где он запущен.

Запуск сервера на Windows Общий смысл тот же, что и на linux: скачать python, установить все пакеты, запустить

  1. Скачать python https://www.python.org/downloads/, желательно версии 3.6
  2. Установить в любую папку
  3. Открыть командную строку и установить все зависимости: <путь до python.exe> -m pip install -r <путь до requirements.txt из этого проекта> Для установки пакетов понадобятся права администратора, если вы установили python в один из системных путей
  4. Запустить сервер: <путь до python.exe> <пусть до main.py>

About

Simple RPC for microcontrollers

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 71.0%
  • Mako 11.1%
  • Python 11.1%
  • HTML 3.2%
  • Assembly 2.0%
  • C++ 1.4%
  • Other 0.2%