6. Автоматизируйте работу с Omega2 при помощи USB накопителя и сценариев автозапуска
В то время как сама Omega2 представляет собой полноценный компьютер с памятью, хранилищем и операционной системой, зачастую для взаимодействий с ним требуется дополнительный компьютер, будь то доступ к командной строке или OnionOS. Для выполнения небольших одноразовых действий это вполне нормально, но если вы решите повторить алгоритм действий сразу для нескольких Omega2 (например, единовременное подключение к WiFi), то процесс обещает быть утомительным.
Благодаря новым возможностям автоматического запуска USB-накопителя на Omega2 можно решить эту проблему. Если USB-накопитель содержит правильно настроенный сценарий автоматического запуска, Omega2 автоматически выполнит его сразу после подключения накопителя.
По сути автозапуск через USB позволяет не использовать компьютер для компиляции определенного кода или скрипта, что повышает гибкость разработки и значительно экономит ваше время.
Плюсом данного метода является ещё и то, что USB накопитель сохраняет свои обычные функции и может быть использован по своему стандартному назначению, как и прежде.
Рассмотрим подробнее как это работает.
Что вам понадобится:
-
USB-накопитель
-
Док-станция расширения
-
Расширение OLED дисплея
Автозапуск через USB поддерживается на Omega2, начиная с версии v0.2.1 b199 и выше. Чтобы перейти на новейшую прошивку, подключитесь к командной строке и выполните следующую команду:
oupgrade
Предупреждение. Когда выполняется обновление, сохраняются только файлы из папок /root и /etc. До обновления создайте резервную копию ваших файлов на Omega2, если вы не хотите потерять какие-либо данные.
После обновления ваша Омега будет оборудована для работы с USB-накопителями, настроенными для автоматического запуска!
Настройка USB-накопителя для автоматического запуска
Чтобы настроить USB-накопитель для автоматического запуска, вам просто нужно создать и заполнить два файла на диске: файл учетных данных и файл скрипта автоматического запуска .
Файл учетных данных
Файл учетных данных является механизмом безопасности, гарантирующим, что только авторизованные пользователи могут использовать автоматический запуск USB (задумка в том, чтобы посторонние не могли загружать автозапуском свои скрипты). Файл учетных данных должен быть назван auth.txt и должен находиться в корневом каталоге USB-накопителя. Он должен содержать имя пользователя и пароль для устройства Omega2, с которым будет использоваться USB-накопитель. Для Omega2 с учетными данными по умолчанию, в которых указано имя пользователя “root” и пароль “onioneer”, файл будет выглядеть так:
root
onioneer
Это все! Если файл учетных данных отсутствует или содержит неправильный пароль - сценарий автоматического запуска не будет запущен!
Скрипт автозапуска
Скрипт автоматического запуска - это сценарий, который будет автоматически выполняться при подключении USB-накопителя. Скрипт автозапуска должен быть назван autorun.sh и должен находиться в корневом каталоге USB-накопителя. Что касается содержимого скрипта, то это зависит от вас!
Поскольку сценарий автоматического запуска находится на USB-накопителе, то вы можете иметь несколько USB-накопителей с разными сценариями, и затем запускать их в любой последовательности.
Если сценарий автоматического запуска не работает, то проблема может быть в следующем:
-
Файл учетных данных отсутствует или неправильно указан
-
Файл учетных данных содержит неверные учетные данные
-
Скрипт автоматического запуска отсутствует или неправильно указан
-
Сценарий автозапуска имеет синтаксическую ошибку
Автозапуск в действии
Когда USB-накопитель настроен для автоматического запуска, подключите его к USB-порту Omega USB, а Омега сделает всё сама.
Когда Omega2 обнаруживает наличие сценария автоматического запуска, она начнет мигать светодиодом. Когда скрипт автозапуска полностью загрузится, светодиод вернется к включению. Вот autorun.sh код из приведенного выше примера:
#!/bin/sh
echo "_ _ _ _ _ " > /dev/ttyS0
echo "| | | | ___| | | ___ | | " > /dev/ttyS0
echo "| |_| |/ _ \ | |/ _ \| | " > /dev/ttyS0
echo "| _ | __/ | | (_) |_| " > /dev/ttyS0
echo "|_| |_|\___|_|_|\___/(_)_ _ _ _ " > /dev/ttyS0
echo "| | | / ___|| __ ) / \ _ _| |_ ___ _ __ _ _ _ __ | | |" > /dev/ttyS0
echo "| | | \___ \| _ \ / _ \| | | | __/ _ \| '__| | | | '_ \| | |" > /dev/ttyS0
echo "| |_| |___) | |_) | / ___ \ |_| | || (_) | | | |_| | | | |_|_|" > /dev/ttyS0
echo "\___/|____/|____/ /_/ \_\__,_|\__\___/|_| \__,_|_| |_(_|_)" > /dev/ttyS0
echo "" > /dev/ttyS0
oled-exp -i write "`date`\n\nHello!\nUSB Autorun!!"
Взять его вы также можете на GitHub
Также не забудьте вписать свои учетные данные Omega2 в файл auth.txt .
Применение автозапуска в ваших проектах
Несколько идей о том, как вы можете использовать автозапуск USB для автоматизации взаимодействия с вашими Omega2:
-
Настройка пула Omega для подключения к сети Wi-Fi, а затем установка определенного набора пакетов;
-
Использование в роли триггера для запуска программы или скрипта;
-
Настройка Omega для запуска конкретной программы - например, установка Python , клонирование Git-repo, а затем настройка Омеги для запуска программы из repo при запуске;
-
Передача показаний с датчика, фотографий или определенных данных из файловой системы Omega2 на USB-накопитель;
Всем спасибо за внимание и удачной компиляции
0 Comments
There are no comments to display.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign In Now