Останнім часом дедалі більшої популярності набувають прилади інтернету речей ( IoT ) .
Однією із головних галузей їх використання є автоматизація або віддалене керування певними процесами у житлових приміщеннях .
Найголовнішою особливістю пристроїв , які можна віднести до категорії IoT , є наявність у них доступу до глобальної мережі .
Це відкриває цілу низку можливостей по керуванню ними .
Для отримання доступу до мережі Інтернет у пристроях IoT зазвичай використовується з’єднання по протоколу Wi-Fi .
Причиною цього є наявність WiFi точки доступу майже у будь-якій оселі .
В той же час , використання Wi-Fi – з’єднання додає складностей при проєктуванні пристроїв .
Причиною цього є висока вартість мікропроцесорів , достатньо потужних для забезпечення Wi-Fi – з’єднання у порівнянні зі звичайними мікроконтролерами , та їх високе енергоспоживання .
Одним із популярних рішень для керування пристроями IoT є OpenWRT . OpenWRT – це операційна система ( ОС ) , побудована на основі ядра Linux , щонабула широкого розповсюдження у вбудованих системах із доступом до Інтернету , а особливо у мережевих пристроях ( комутаторах , маршрутизаторах ) .
Вона включає стандартний для Linux – подібних ОС набір програм util-linux , що дозволяє працювати із нею користувачу , який має досвід роботи з іншими Linux – дистрибутивами [ 1 ] .
Головною перевагою OpenWRT перед звичайними дистрибутивами Linux для вбудованих систем є надзвичайно низькі вимоги до апаратури ( швидкодія , об’єм пам’яті , обчислювальні ресурси , тощо ) , на якій ОС може бути запущена .
Існують збірки OpenWRT під платформи із 4 МБ постійної flash – пам’яті та 32 МБ оперативної RAM .
Для функціонування із задовільною швидкодією достатньо процесора з частотою 360 МГц [ 2 ] .
Вартість найдешевших одноплатних комп’ютерів , здатних запустити OpenWRT та на яких присутня апаратура для роботи із Wi-Fi починається з 7$ [ 3 ] .
Це набагато нижче , ніж у одноплатних комп'ютерів , що розраховані на звичайні дистрибутиви Linux для вбудованих платформ .
Іншим можливим варіантом забезпечення доступу до мережі Wi-Fi є використання модулів , що працюють без операційної системи , наприклад , популярна серія систем на кристалі ESP8266 [ 4 ] .
Їх перевагою є низька вартість [ 5 ] .
Але , при цьому , розробка програмного забезпечення ( ПЗ ) для них можлива лише із застосуванням мов С , С++ та низькорівневого програмного інтерфейсу [ 6 ] .
Програмісту доводиться працювати на рівні близькому до апаратури , що збільшує вимоги до його кваліфікації та робить процес розробки набагато довшим і дорожчим .
Це знижує конкурентні переваги виробу .
При використанні одноплатного комп’ютера під керуванням OpenWRT розробнику стають доступні високорівневі мови програмування : Python , Javascript , Go , Lua , PHP , Ruby та інші [ 7 ] .
Для цих мов доступні пакети програмнихбібліотек , що дозволяють реалізовувати необхідний функціонал , певною мірою абстрагуючись від апаратури , на якій програма буде виконуватися .
В свою чергу , це дозволяє повторно використовувати вже розроблене ПЗ при зміні апаратної платформи , що значно зменшує вартість розробки пристроїв .
Також OpenWRT надає зручний інтерфейс для створення власних дистрибутивів – OpenWRT Buildroot .
Цей програмний засіб дозволяє за короткий час налаштувати ПЗ , що буде у образі ОС , який розробник отримає після компіляції .
Якщо необхідно створити образ ОС для декількох апаратних платформ – OpenWRT Buildroot автоматично завантажить та встановить набір ПЗ , специфічний для певної архітектури та скомпілює образ .
Це також знижує необхідну кваліфікацію інженера і вартість розробки продукту .
При роботі зі складними інтерфейсами передачі даних ( Wi-Fi , USB , Bluetooth ) , багато зусиль витрачається на розуміння принципу їх роботи та налаштування доступного апаратного забезпечення .
Це займає багато часу та потребує високої кваліфікації програміста .
У випадку OpenWRT , розробник має доступ до вже наявних драйверів апаратури інтерфейсів передачі даних .
Він може використати програмний інтерфейс для швидкої реалізації необхідного функціоналу .
Більша потужність мікропроцесорів , здатних запускати OpenWRT дозволяє обробляти великі масиви даних , що недоступно для простіших систем , типу ESP8266 .
Це дозволяє їм з легкістю виконувати задачі потокової передачі відео в реальному часі , або вести активний обмін даними із сервером та подальшу обробку цих даних на пристрої .
Враховуючи перелічені особливості , використання апаратури із ОС OpenWRT є оптимальним рішенням для контролю пристроїв IoT .
Це дозволяєзнизити час та вартість розробки продукту , а також дає можливість обробляти великі масиви даних у реальному часі .
При цьому , вартість апаратури , на якій можна запустити OpenWRT , є вищою , у порівнянні із простішими Wi-Fi – мікроконтролерами .
Тому їх використання є виправданим для масових пристроїв користувацької електроніки , для яких якнайнижча ціна є критичним фактором .
При цьому використання довшого та дорожчого процесу проєктування є виправданим
