RIOT - бесплатная ОС с открытым кодом для встраиваемых устройств Интернета вещей


В эту эпоху Интернета вещей (IoT) мы используем различные встроенные устройства и системы для выполнения и получения данных из различных областей. Всякий раз, когда мы говорим о встроенных и IoT-устройствах, мы всегда думаем о том, какой микроконтроллер/микропроцессор мы использовали и, что наиболее важно, какую прошивку мы собираемся использовать для точного получения данных без какой-либо задержки по времени. Поэтому, когда дело доходит до задержки по времени в любом встроенном проекте IoT, мы всегда выбираем встраиваемую ОС, которая лучше подходит для этого конкретного приложения, что значительно повышает производительность нашей системы.

Операционная система с открытым исходным кодом RIOT

Встраиваемая операционная система (ОС)  — это операционная система, которая разработана для эффективного использования ресурсов и надежного выполнения определенной задачи для устройства. На открытом рынке доступны различные встраиваемые ОС (например, FreeRTOS, μ-Clinux, ARMmbed, MONGOOSE-OS, RIOT-OS и т. д.). В статье мы обсудим RIOT-OS и ее разрушительные эффекты в индустрии IoT.

Если же вы приверженец FreeRTOS, то об ней есть несколько познавательных статей на нашем сайте:

Что такое RIOT OS?

RIOT OS — это небольшая операционная система для встраиваемых систем. Эта ОС — бесплатная операционная система с открытым исходным кодом, выпущенная под лицензией GNU Lesser General Public License (LGPL) и разработанная  сообществом "низовых" разработчиков , объединяющим компании, академические круги и любителей, распространенная по всему миру. Эта ОС поддерживает маломощные устройства IoT и различные микроконтроллеры, такие как 8-битные, 16-битные и 32-битные, и разработана для систем с ограниченной памятью с упором на маломощные беспроводные устройства IoT.

Стек технологий RIOT OS

Различные функции, поддерживаемые ОС RIOT

RIOT — это дружественная ОС для приложений IoT, которая активно разрабатывается и поддерживается с 2013 года. Некоторые из ее функций включают бесплатную и открытую (LGPLv2.1) операционную систему, с помощью которой вы можете писать свой код на таких языках, как C и C++. Она имеет архитектуру Microkernel  (μ-kernel) (ядро использует ~1,5 КБ ОЗУ или 32-битную архитектуру). Она имеет сверхнизкую задержку обработки прерываний и поддерживает модульную архитектуру для потоковой передачи. Она также поддерживает различные сетевые стеки, такие как 6LoWPAN, IPV6, RPL, UDP, TCP, LoRaWAN, 802.15.4, MQTT и многое другое. Она также поддерживает различные технологии PHY (такие как Bluetooth, NFC, последовательный порт, CAN и т. д.). Она также поддерживает сторонние пакеты (такие как стек lwIP, uIP, стек Open-thread). Помимо упомянутых функций, она также поддерживает различные 32-битные платформы, а также 16-битные и 8-битные платформы (например, Arduino Nano/Uno, MSP430, x86, ARM, MIPS, AVR и т. д.)

RIOT OS предоставляет различные типы исходных кодов примеров. Таким образом, мы можем легко разрабатывать наш код, используя эти примеры кодов. Но главное преимущество использования этой ОС — «кодируйте свое приложение один раз и запускайте везде», это означает, что когда мы пишем код для Arduino/ESP, этот код теперь может запускаться на другом микроконтроллере для выполнения той же операции без каких-либо изменений в коде или конфигурации.

Установка RIOT OS в системе на базе Linux

Как только мы поймем, что такое RIOT OS, нам понадобится среда настройки для разработки приложений с использованием RIOT OS. Для настройки среды RIOT OS мы рекомендуем использовать систему на базе Linux/macOS, поскольку поддержка Microsoft Windows находится в стадии разработки.

Начало работы с RIOT OS на Linux: 

Итак, для начала мы используем Ubuntu 20.04.2 LTS-64bit, и для создания среды разработки нам необходимо установить необходимые компоненты перед настройкой RIOT OS.

Установка RIOT OS

Начало работы с RIOT OS

RIOT OS в Linux подобной ОС

После установки всех требований теперь мы можем настроить RIOT OS. Для этого нам нужно создать рабочую папку для загрузки и git clone последней версии RIOT OS. Для этого выполните следующие шаги:

Установка RIOT OS (часть 2)

Теперь пришло время настроить Hardware Toolchain, в зависимости от оборудования, которое вы хотите использовать. Сегодня, в нашем случае, мы используем ESP8266 для демонстрации примера RIOT OS. Для ESP8266 toolchain нам нужно создать папку с именем «esp».

Установка Hardware Toolchain

Итак, после создания папки, специфичной для оборудования, пришло время загрузить набор инструментов и кросс-компилятор для ESP8266.

Загрузите пакет компиляторов Xtensa GCC: 

Загрузка пакета компиляторов Xtensa GCC

Загрузите ESP8266 RTOS SDK: 

Загрузка ESP8266 RTOS SDK

Чтобы использовать компиляторы ESP8266 Xtensa и ESP8266 RTOS SDK, нам необходимо установить переменную среды.

Примечание: нам необходимо задать эти две переменные среды всякий раз, когда мы разрабатываем базовое приложение ESP8266 RIOT OS]

а) Для компилятора Xtensa GCC

б)  Для ESP8266 RTOS SDK

Соберите/прошейте пример «Hello World» для ESP8266:

После завершения установки RIOT OS & ESP8266 Toolchain, пришло время построить пример для ESP8266. Итак, нам нужно перейти в папку RIOT/examples/hello-world и задать переменные среды, упомянутые выше.

Установка переменных среды для RIOT OS

Теперь пришло время собрать приложение. Поэтому нам нужно вызвать команду make вместе с аргументом BOARD. В нашем случае мы используем ESP8266 Dev Board, поэтому значение платы — «esp8266-esp-12x» . Если вы используете другую плату, проверьте путь [$HOME/riot_workspace/RIOT/boards] для списка поддерживаемых плат.

Задание конфигурации RIOT OS

Теперь прошейте недавно собранный Hello_world Example в ESP8266. Для этого прошейте код, который нам нужен для вызова этой команды.

Прошивка примера Hello_world Example в ESP8266

[Примечание: Если возникает какая-либо ошибка типа «Permission denied: '/dev/ttyUSB0'», то для ее устранения вызовите эту команду «sudo chmod a+rw /dev/ttyUSB0»]

Получив сообщение «Type '/exit' to exit.», нажмите кнопку «RST» на плате разработки ESP8266, чтобы вывести журнал на экран.

RIOT OS установленная на ESP8266

Преимущества использования RIOT OS во встраиваемых системах и системах на базе Интернета вещей

В настоящее время то, что мы видим, то, что мы держим, все напрямую и косвенно связано с Интернетом. Таким образом, устройства IoT легко доступны для всех, а разработка всего этого также становится легкой с помощью среды разработки RIOS OS.

Используя RIOT OS, мы можем легко настроить наш проект, нет необходимости разрабатывать другой тип сетевого устройства для завершения операции. Это также минимизирует усилия по взаимодействию человека, взаимодействуя между устройствами IoT с помощью сетевого стека RIOT OS. RIOT OS является операционной системой реального времени, поэтому она экономит время между любыми операциями, что очень важно для проектов IoT.

И, конечно, самое главное — это безопасность. Итак, RIOT OS имеет встроенную защиту транспортного уровня DTLS, шифрование IEEE 802.15.4, безопасные обновления прошивки (SUIT), несколько криптографических пакетов и криптографические элементы безопасности.

(Проголосуй первым!)
Загрузка...
54 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *