Skip to content

Latest commit

 

History

History
134 lines (75 loc) · 9.75 KB

File metadata and controls

134 lines (75 loc) · 9.75 KB

Быстрый старт

Шаг 1 — Подготовка устройства

Одноплатный компьютер должен работать под управлением дистрибутива Debian или Ubuntu, Linux. Для удаленного доступа необходимо установить OpenSSH сервер и задать определенные настройки. В качестве терминала для удаленного доступа можно использовать MobaXterm. Все последующие действия выполняются на одноплатном компьютере.

  1. Если пакет sudo не установлен, то установите данный пакет от имени пользователя root, с помощью команд:
apt-get update
apt-get install -y sudo
  1. Для установки OpenSSH сервера и настройки доступа выполните следующие команды:
sudo apt-get update
sudo apt-get install -y openssh-server mc
sudo mcedit /etc/ssh/sshd_config
  1. В открывшемся редакторе задайте следующие параметры:
PermitRootLogin yes
PasswordAuthentication yes

Остальные необходимые параметры добавятся автоматически при первом подключении к устройству, используя расширение.

  1. Затем сохраните изменения F2 и выйдите из редактора F10.

  2. Перезапустите OpenSSH сервер для применения новых настроек:

sudo systemctl reload ssh
sudo systemctl status ssh

Последняя команда выводит текущий статус службы.

Шаг 2 — Добавление устройства

Добавление устройства

VSCode dotnet FastIoT

Все настройки, включая приватные ключи, шаблоны, по умолчанию располагаются в папке профиля пользователя по пути %userprofile%\fastiot (расположение можно изменить в настройках). При первом подключении к устройству создается пара ключей: приватный и публичный. Приватный ключ копируется в папку %userprofile%\fastiot\settings\keys и используется для конфигурирования устройства и запуска удаленной отладки, публичный ключ хранится на самом удаленном устройстве.

Важный момент заключается в выборе учетной записи для создания на устройстве, которая будет использоваться для управления устройством и удаленной отладки. Первый вариант это учетная запись debugvscode (название можно изменить в настройках), второй вариант это root:

Выбор учетной записи для создания на устройстве

VSCode dotnet FastIoT

При выборе варианта debugvscode создаетcя файл настройки прав доступа 20-gpio-fastiot.rules к устройствам используя подсистему udev. Создается группа с названием iot, и в нее добавляется пользователь debugvscode. Затем группе iot выдаются права доступа к gpiochip, led и pwm. Далее для доступа к другим аппаратным интерфесам пользователь debugvscode добавляется в соответствующие группы с доступом такие как: video, i2c, spi, spidev, kmem, tty, dialout, input, audio, для доступа к I2C, SPI, и т.д.

В связи с тем, что тестирование выполнялось только на Armbian, возможно не все права доступа были добавлены. Поэтому, если возникнут проблемы с правами доступа к gpiochip, PWM и т.д., то выбирайте — root.

Шаг 3 — Установка пакетов

Для запуска .NET IoT приложении и выполнения удаленной отладки необходимо установить:

  • Среду исполнения - .NET Runtime;
  • Удаленный отладчик - .NET Debugger (vsdbg).

Минимальный набор пакетов для запуска .NET приложений

VSCode dotnet FastIoT

Шаг 4 — Создание проекта

  1. Теперь необходимо создать проект. Для создания проекта необходимо нажать на кнопку Create project:

VSCode dotnet FastIoT

  1. Выбрать устройство для удаленной отладки:

VSCode dotnet FastIoT

  1. Выбрать шаблон для проекта:

VSCode dotnet FastIoT

  1. Задать название проекта:

VSCode dotnet FastIoT

  1. Указать папку сохранения проекта:

VSCode dotnet FastIoT

  1. Выбрать версию .NET framework:

VSCode dotnet FastIoT

  1. Доступные Launch для запуска удаленной отладки:

VSCode dotnet FastIoT

  1. Теперь переходим в Run and Debug:

VSCode dotnet FastIoT

  1. Выбираем конфигурацию Launch для запуска:

VSCode dotnet FastIoT

  1. Запускаем проект на отладку меню Run > Start Debugging:

VSCode dotnet FastIoT

  1. Пример вывода сообщений при удаленной отладки:

VSCode dotnet FastIoT

Примеры проектов с добавленной конфигурацией Launch (/.vscode/launch.json) и Tasks (/.vscode/tasks.json) располагаются в папке samples.

В папке с проектом будет размещен файл template.fastiot.yaml. Этот файл необходим для определения идентификатора шаблона при добавлении Launch. Если его удалить, то не будет точного определения шаблона из которого был сформирован проект. Из файла template.fastiot.yaml берется только строка идентификатор шаблона id: dotnet-console.

Перестройка (Rebuild) Launch

Конфигурации Launch (/.vscode/launch.json) и Tasks (/.vscode/tasks.json) содержат абсолютные пути к бинарным файлам, которые загружаются на устройство, например /cygdrive/d/Anton/Projects/Tests/DotnetConsoleAppRuntimeInfo/bin/Debug/net5.0/linux-arm/. В связи с этим, если вы изменяете путь к папке Applicationdatafolder в настройках или переименовываете/перемещаете папку с проектом, то пути становятся несуществующими. В этом случае необходимо перестроить (Rebuild) Launch. Выбрать необходимый Launch и затем вызвать контекстное меню, нажать на пункт меню Rebuild.

Вызов команды Rebuild

.NET FastIoT Launch Rebuild"

Опции Launch

Некоторые опции Launch можно изменить из окна LAUCHS. Изменяются следующие опции:

  • Console (terminal) - параметр определяет, в каком окне консоли (терминала) запускается конечное приложение. Значение по умолчанию: internalConsole. Более подробно Console (terminal) window;
  • Just My Code - отладка только моего кода. Значение по умолчанию: true. Более подробно How to disable the “Just My Code” setting on the VS Code debugger;