• Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal

22 проекта на Omega2

  • записей
    10
  • комментария
    2
  • просмотров
    3 125

Об этом блоге

Данный материал представляет собой переведенную книгу от компании Onion - производителя Omega2. Статьи содержат простые и посложнее примеры устройств, выполненных на данном микрокомпьютере. Если будут какие-то точности, не судите строго. Надеемся Вам будет интересно!

Записи в этом блоге

Админ

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

1.png

Из этой книги мы узнаем, как использовать Python, чтобы превратить текст в QR-код и вывести его на OLED Expansion.

1.jpg

Получившийся в результате код можно отсканировать, чтобы прочитать закодированный текст. Если это закодированный URL, то большинство считывателей QR-кодов в смартфонах откроет этот URL в браузере. Очень удобно, если у вас сложный URL! 

Уровень навыков: начинающий

Необходимое время: 10 минут

Этот проект основан на коде, который полностью можно найти в хранилище Onion GitHub по этой ссылке

Что потребуется:

  • Onion Omega2 или Omega2+
  • Любая док-станция Onion, которая поддерживает расширения: Expansion Dock, Power Dock, Arduino Dock
  • Onion OLED Expansion

1. Подготовим все необходимое

Ваш Omega2 должен быть готов к работе. Выполните все действия из инструкции по подключению Omega2, чтобы подключиться к WiFi и обновить последнюю прошивку.  
Для этого проекта необходима работа с командной строкой (терминалом) Omega2.  Для того чтобы больше узнать о работе с командной строкой Omega2, прочитайте эту инструкцию

2. Установим необходимые пакеты

Нам потребуется поддержка для git, Python и модуля Onion OLED Expansion Python. Подключитесь к командной строке Omega и запустите следующую команду:

opkg update
opkg install python-light python-codecs pyOledExp git git-http ca-bundle

3. Скачиваем код 

Теперь нам нужно скачать код Python из GitHub, который и сделает всю основную работу.  Подключитесь к командной строке Omega и клонируйте проект из GitHub при помощи следующей команды: 

cd /root
git clone https://github.com/OnionIoT/oledQrCodeGenerator.git

4. Запускаем код

Наконец, мы сможем создать несколько QR-кодов! Перейдите в директорию хранилища:

cd oledQrCodeGenerator

И запустите программу. Аргументом к скрипту является текст, который будет закодирован по шаблону QR-кода:

root@Omega-18C2:~/oledQrCodeGenerator# python main.py 'Wow, my first QR Code'
> Encoding 21 characters
> Generated QR Code: 31x31 pixels
> Doubled QR Code size: 62x62
> Initializing display
> Setting display mode to inverted
> Writing buffer data to display

В результате, данные будут закодированы и отображены в виде QR-кода на OLED Expansion:

1.jpg

Подробнее о программе

Работа кода, которая остается за кадром:

  1. Кодирование введенного текста в матрицу, представляющую собой QR-код. Размер QR-кода зависит от количества введенного текста
  2. Конвертация матрицы QR-кода в данные, которые можно отобразить на OLED дисплее
  3. Отображение получившейся картинки на OLED дисплее
  • Инициализация дисплея
  • Инвертирование цветов отображения
  • Отображение сгенерированного файла изображения

Для более простого и быстрого сканирования была добавлена дополнительная опция: если QR-код маленький (меньше половины высоты OLED дисплея), то изображение будет увеличено в размере вдвое, чтобы каждый пиксель QR-кода высвечивался на OLED дисплее как четыре пикселя.

QR-код, сгенерированный по умолчанию будет кодом версии 3 с низким уровнем коррекции ошибок. Код будет иметь размер 31х31 пикселей. Если количество текста, который нужно закодировать не вписывается в код версии 3, то программа выберет следующую подходящую версию кода. Более подробно узнать о версиях QR-кодов можно на сайте Wikipedia.

5. Использование кода в качестве модуля Python

Код oledQrCodeGenerator можно также импортировать как модуль в ваши Python проекты!

Функция dispQrCode() выполнит все те же действия, что были описаны выше. Небольшой пример, демонстрирующий, как использовать этот модуль:

import sys
sys.path.append("/root")
import oledQrCodeGenerator

print 'Now using the oledQrCodeGenerator'
oledQrCodeGenerator.dispQrCode('Hello!')

print 'All done!'

Обратите внимание, что код выше предполагает, что код проекта может быть найден по следующему пути /root/oledQrCodeGenerator.  К sys.path, который Python использует для поиска модулей, которые нужно импортировать, добавляется /root. Если строки sys.path.append("/root") нет, то Python вернет ошибку ImportError: No module named oledQrCodeGenerator, так как он не сможет найти модуль там, где обычно осуществляет поиск.

Считывание QR кодов

Совершенно не интересно видеть QR-код и не иметь возможности его прочитать, правда?  Однако не стоит переживать, так как ваш смартфон прекрасно справиться с этой задачей и считает код с OLED:

  • На Android, можно воспользоваться приложениями QR Code Reader и QR Barcode Scanner
  • На iOS: QR Reader App

Если в форме QR-кода зашифрован большой текст, то телефон может сканировать чуть дольше. Лучше всего здесь действовать методом проб и ошибок: попробуйте подводить телефон к OLED дисплею на разных расстояниях и под разными углами.

 

Админ

Теперь, когда вы уже немного познакомились с Омега 2, давайте попробуем использовать его беспроводные возможности и производительность, чтобы создавать более сложные проекты. Так как в микрокомпьютере Omega нет видео выводов, как в традиционных компьютерах, то мы прибегнем к OLED Expansion, как главному способу передачи информации пользователю.

Мы можем сгенерировать картинки для отображения:

1.jpg

Или отображать данные из онлайн источников или подключенной аппаратуры:

2.jpg

Основные моменты, которые будут охвачены в этих проектах: 

  • Получение данных от датчика
  • Отображение данных датчика на OLED дисплее
  • Генерация изображений для отображения на OLED дисплее
  • Установка дополнительного ПО на Omega2
  • Использование API для получения данных из онлайн сервисов
  • Сообщение данных IoT платформе Ubidots

Проекты

  1. Генератор QR-кодов. Создавайте-QR коды с вашим текстом и показывайте их на OLED экране
  2. Новостные флеш-заголовки. Показывайте последние новостные заголовки при помощи Omega
  3. Биржевой аппарат. Получайте данные от ваших любимых компаний
  4. Отображение новостной ленты Twitter. Оставайтесь в курсе событий с самыми последними твитами от пользователей Twitter
  5.  Измерение окружающей температуры. Измеряйте и отображайте показатели окружающей температуры. Перенесите данные на IoT платформу Ubidots и просматривайте их где бы вы не находились!
Админ

В этом уроке мы создадим миниатюрный светофор при помощи LED-индикаторов и Omega. Мы также познакомимся с основами управления GPIO в Omega при помощи программ на языке Python. 

4.jpg

Уровень навыков: начинающий

Необходимое время: 10 минут

Мы будем работать с модулем Python Onion GPIO. Это самый востребованный модуль для любого проекта, где необходимо управление и взаимодействие с другими электросхемами! 
Полный код для проекта «Светофор для начинающих» можно найти на GitHub по этой ссылке

Что потребуется:

  • Onion Omega2 или Omega2+
  • Любая док-станция Onion, которая работает с GPIO: Expansion Dock, Power Dock, Arduino Dock 2, Breadboard Dock
  • 1 макетная плата
  • 3 светодиода (красный, желтый, зеленый)
  • 4 соединительных провода (папа-папа)
  • 3 резистора 200 Ом (примерно)

5.jpg

1. Подготовим все необходимое

Ваш Omega2 должен быть готов к работе. Выполните все действия из инструкции по подключению Omega2, чтобы подключиться к WiFi и обновить последнюю прошивку.  
Для этого проекта необходима работа с командной строкой (терминалом) Omega2.  Для того чтобы больше узнать о работе с командной строкой Omega2, прочитайте эту инструкцию

Соединяем LED

  1. Подключаем LED к макетной плате, при этом катод находится слева, а анод справа. Убедитесь, что красный провод расположен над желтым, а желтый над зеленым.
  2. Подключаем один конец резисторов 200 Ом к шине катодов, а другой конец — к минусовой шине слева на плате.
  3. Подключаем GPIO к LED следующим образом:
  • Красный к GPIO 2
  • Желтый к GPIO 1
  • Зеленый к GPIO 0

6.jpg

2. Устанавливаем Python

Устанавливаем Python, необходимый модуль Python и Git при помощи следующих команд: 

opkg update
opkg install python-light pyOnionGpio git git-http ca-bundle

Данные команды "подкачают" с сервера интерпретатор Python-ligt и другие необходимые пакеты.

3. Скачиваем код проекта 

Код для этого проекта можно найти на GitHub по этой ссылке. Используйте git, чтобы скачать код на свой Omega: перейдите в директорию /root и клонируйте репозиторий GitHub: 

cd /root
git clone https://github.com/OnionIoT/starter-traffic-light.git

Так как код проекта – это всего лишь один файл, то вы можете скачать код напрямую без установки и работы с git:

mkdir /root/starter-traffic-light
cd /root/starter-traffic-light
wget https://raw.githubusercontent.com/OnionIoT/starter-traffic-light/master/main.py

4. Запускаем проект

Введите директорию проекта и запустите файл main.py:

cd starter-traffic-light
python main.py

После этого, вы должны увидеть как меняются цвета!

Подробнее о коде

Мы используем модуль Python Onion GPIO для управления GPIO. Этот модуль наделяет объект удобными функциями, такими как setOutputDirection() и setValue(), что позволяет контролировать GPIO в Omega2 и сэкономить много времени на те задачи, которые остаются, что называется, за кадром.
Для того чтобы подробнее узнать, как работает GPIO, заглянем в файл main.py:

  • Во-первых, были созданы объекты OnionGpio и присвоены GPIO номера. Теперь мы видим три объекта OnionGpio, каждый контролирует один GPIO.
  • Затем, все три GPIO настроены на вывод, значение по умолчанию 0 или OFF. Это осуществляется за счет вызова функции setOutputDirection() для каждого из объектов OnionGpio.
  • После этого в любое время можно изменить значения GPIO, вызвав функцию setValue(). Функция setSignal() задает значение для всех трех GPIO, в зависимости от цвета, который будет показывать миниатюрный светофор.
Админ

Азбука Морзе — это двоичное кодирование, которое позволяет передавать сообщение по буквам при помощи звука или мигающего света. 
В этом проекте мы напишем скрипт, чтобы получить мерцание светодиодного индикатора Omega2 для передачи азбуки Морзе при помощи интерфейса командной строки Omega. 

2.jpg

Уровень навыков: начинающий

Необходимое время: 15 минут 

Что потребуется:

  • Onion Omega2 или Omega2+
  • Любая док-станция Onion. Для этого проекта мы выбрали Mini Dock.  

В этом проекте будем использовать LED утилиту morse, которая уже загружена в Omega. Мы проверим, как это работает, затем напишем скрипт для перевода текста по мере его ввода! 

1. Подготовим все необходимое

Ваш Omega2 должен быть готов к работе. Выполните все действия из инструкции по подключению Omega2, чтобы подключиться к WiFi и обновить последнюю прошивку.  
Для этого проекта необходима работа с командной строкой (терминалом) Omega2.  Для того чтобы больше узнать о работе с командной строкой Omega2, прочитайте эту инструкцию

2. Управление LED при помощи команды Morse

В Omega2 уже установлен модуль ядра, который может переводить текст в код Морзе и вызвать мигание LED индикаторов, но вам нужно будет дать ядру инструкцию, какой именно индикатор должен мигать. Ядро раскрывает состояние оборудования и опции конфигурации через виртуальную файловую систему в каталоге /sys.

Файлы в /sys фактически не являются файлами, но они выглядят и действуют, как файлы, чтобы к ним можно было легко получить доступ из командной строки, а также в скриптах и программах. 

Для того чтобы дать ядру указание, что мы собираемся использовать модуль азбуки Морзе, задайте условие для триггера LED при помощи команды echo. Настройки будут прописаны в виртуальном файле:  

echo morse > /sys/class/leds/omega2\:amber\:system/trigger

Если вы работаете на Omega2+, то в коде omega2 необходимо заменить на omega2p
В этом случае, команда будет выглядеть так: 

echo morse > /sys/class/leds/omega2p\:amber\:system/trigger

Вы можете убедиться, что все работает, используя cat, заглянуть в виртуальный файл: 

root@Omega-2757:~# cat /sys/class/leds/omega2\:amber\:system/trigger                                                              
none mmc0 timer default-on netdev transient gpio heartbeat [morse] oneshot

Квадрантные скобки указывают, что сейчас выбран триггер morse. Текст в этом файле показывает и другие доступные опции, которые можно применить к данной конкретной части ядра (в данном случае - режиму мигания встроенным в Омегу светодиодом).

Итак, у нас все настроено! 

Как только будет выбрана опция morse, ядро начнет создавать новый виртуальный файл под названием message. Команда echo выведет нужный нам текст: 

echo Hello, Onion > /sys/class/leds/omega2\:amber\:system/message

Теперь посмотрите на светодиод!

Цикл будет продолжаться бесконечно. Для того чтобы его остановить, вы можете либо полностью очистить файл message:

echo > /sys/class/leds/omega2\:amber\:system/message

или изменить триггер LED на что-то еще: 

echo default-on > /sys/class/leds/omega2\:amber\:system/trigger

Если мигание LED индикаторов слишком быстрое или слишком медленное, то вы можете изменить скорость при помощи файла delay:

root@Omega-12D9:~# cat /sys/class/leds/omega2\:amber\:system/delay
50

Для того чтобы немного замедлить работу, мы пропишем большее число: 

root@Omega-12D9:~# echo 100 > /sys/class/leds/omega2\:amber\:system/delay

3. Shell-скрипт вместо echo

В корневой директории создайте файл под названием morse.sh при помощи следующей команды: 

vi /root/morse.sh

Вы откроете пустой файл. Для того чтобы начать печатать, можете ввести a.

С более удобным способом работы с файлами вы можете ознакомиться в статье Знакомство с Терминалом и Редактором Omega 2.

Скопируйте код ниже в терминал. 

. /lib/ramips.sh
board=$(ramips_board_name)

# устанавливаем функцию, которая приведет светодиод в необходимый режим мерцания
_MorseMain () {

    echo morse > /sys/class/leds/$board\:amber\:system/trigger
    echo 120 > /sys/class/leds/$board\:amber\:system/delay
    echo $* > /sys/class/leds/$board\:amber\:system/message
}


##### Основная программа #####

# Запускаем функцию _MorseMain с аргументом $*
_MorseMain $*

exit

Эта схема показывает шаги, которые совершает функция _MorseMain:

1.png

Теперь, для того чтобы сохранить файл, вы должны войти в режим команд, нажав на клавишу ESC на своей клавиатуре. 
Режим команд в редакторе vi позволяет нажимать на клавиши и выполнять такие команды, как сохранить и выйти, выйти без сохранения или удалить строки. 
Введите :wq и нажмите enter, чтобы сохранить файл и выйти. 

2.png

Теперь вы готовы конвертировать текст в азбуку Морзе!

4. Запуск!

Для запуска своего скрипта, введите следующую команду: 

sh /root/morse.sh <VASH TEKST>

Введите сообщение, которое нужно передать азбукой Морзе:   

root@Omega-2757:~# sh /root/morse.sh Hello World

2.jpg

Как только вы закончили, вы можете вернуть мигание индикаторов обратно в режим default-on (по умолчанию) при помощи следующей команды: 

echo default-on > /sys/class/leds/omega2\:amber\:system/trigger

Не забывайте, что в Omega2+, LED имеет название omega2p:amber:system, в отличие от omega2:amber:system, поэтому команда будет выглядеть так:

/sys/class/leds/omega2p\:amber\:system/trigger

 

Админ

Omega2 — это отличная платформа, чтобы научиться работать с электроникой, писать программы и взаимодействовать с системами Linux. Давайте начнем с нескольких проектов, чтобы лучше познакомиться Омегой.

1.jpg

Моменты, которые мы охватим в проектах для начинающих: 

  • Использование скриптов для внедрения логики и выполнения специфических действий
  • Контроль внешней электроники при помощи Omega2

Проекты 

Проекты для тех, кто только начинает работать с Omega: 

  1. Азбука Морзе на светодиоде. Для нашего самого первого проекта мы напишем скрипт, который берет текст, конвертирует его в код Морзе и показывает сообщение в формате азбуки Морзе при помощи встроенных светодиодных индикаторов. 
  2. Светофор на светодиодах. Начнем создавать проекты с внешней цепью и сделаем миниатюрный светофор с несколькими светодиодными индикаторами.
Админ

1.4 Немного о Python

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

Как мы будем использовать Python

Для экспериментов будет предоставлен уже готовый код, который можно просто скопировать в Omega и запустить. Наиболее интересные части кода мы обсудим более подробно.

Синтаксис языка Python

import time

# print ('This line will not be printed')

greeting = 'Hello world!'

print (greeting)

for count in range(0,10):
    if (count % 2 == 0):
        print ('Tick')
    else:
        print ('Tock')
    print (count)
    time.sleep(0.5)

Это часть кода языка Python со всеми строительными блоками этого языка. Давайте рассмотрим код по частям. 

greeting = 'Hello world!'

Знак равенства (=) приписывает строку «Hello world!» переменной с названием greeting. 
Все переменные в Python создаются именно таким образом при помощи оператора присваивания. 

# This is a comment

Комментарии в Python начинаются с символа #. Любой текст после решетки в той же самой строке будет проигнорирован интерпретатором. 

print ('just a function')

Функции в языке Python состоят из двух частей: название функции и список аргументов. Количество аргументов, которые принимает функция может быть равно нулю. Некоторые функции возвращают значение, которое вы можете приписать переменной.  

if (count % 2 == 0):
    print ('Tick')
else:
    print ('Tock')

Структура if/else используется для оценки переменных и принятия решений на их основе. Все строки после утверждения if будут исполнены при удовлетворении условия. После строки else все строки будут исполнены, когда условие утверждения if не удовлетворено. Таким образом, в коде выше исполняется только одна опция, когда  интерпретатор дойдет до этой части кода. Какая именно опция зависит от значения count. Дополнительные утверждения оценки можно вставить как elif блок следующим образом:

if (count % 2 == 0):
    print ('Tick')
elif (count == 3):
    print ('Tack')
else:
    print ('Tock')

Это дает нам третью опцию – все строки после утверждения elif будут исполнены при одновременном выполнении двух условий:

  • Условие if неудовлетворено
  • elif условия удовлетворены

Теперь одна из трех опций будет исполнена - «Tick», «Tock» или «Tack», в зависимости от значения count.

Организация циклов 

# For-loop with a counter variable
for count in range(0,9):
    print (count)

# While-loop - checks condition first, then starts the loop
while (count <= 9):
    print (count)

For выполняет находящиеся в ней операции (в данном случае функция print) с присвоением переменной count различных значений в диапазоне range (т.е. от 0 до 9).
Цикл for в примере выше запустится 10 раз. Этот оператор цикла распечатает числа от 0 до 9. Цикл while проверяет условие, поэтому он полезен для бесконечных циклов и проверки уникальных условий. Так как переменная count не меняется во время цикла while, то она будет запущена вечно, постоянно распечатывая неизменное значение count,при условии, что count не более 10.

Библиотеки

# Importing a library
import time

Утверждение import добавляет все функции стандартной библиотеки time, которые будут доступны в вашей программе. 
Вызов функции из библиотеки осуществляется при помощи обозначения. Например, time.sleep() вызовет функцию sleep() библиотеки time

Админ

Перед тем как приступить к реализации проектов на Omega2 немного прелюдии. 

Командная строка

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

В Omega мы взаимодействуем и выполняем операции, используя интерфейс командной строки (CLI). CLI — это точка доступа пользователя к операционной системе, используя текстовую терминальную программу.  Все взаимодействие пользователя интерпретируется и выполняется ОС посредством инструкций или команд. Пользователь вводит команду в терминал, чтобы произошло какое-то действие. 
CLI выглядит примерно так, как на изображении ниже. Это версия терминальной программы для Windows

7.png

Мы рассмотрим, как выполнять следующее: 

  • Осуществлять навигацию по файловой системе
  • Создавать (и удалять) файлы и директории
  • Создавать и изменять текстовые файлы

Файловая система

В Linux все является файлами, поэтому естественно, что файловая система — это то место, где происходит практически все. Файловая система LEDE организована в виде древа. В самом низу древа — корень, то же самое и в нашей файловой системе. 
/ - это универсальный символ для самой нижней части файловой системы — корневой директории (root directory). Все файлы, к которым у ОС есть доступ, можно найти в директории с символом /
Не стоит путать это с директорией root. В LEDE, каждый пользователь получает свою собственную «домашнюю» директорию, где он хранит все свои личные файлы. В Omega, по умолчанию путь к этой директории выглядит как /root/. Когда мы подключаемся к командной строке Omega через ssh, мы подключаемся, как корневой каталог и размещаемся в папке /root/. (Если подключаться через последовательный порт, то путь размещения будет /.)
В системах Linux, символ ~ представляет собой название домашней директории и может использоваться в скриптах и программах. Например, вызов файла в ~/myProject аналогичен вызову /root/myProject.   
В Omega, все, что содержится в директории /root/ будет сохраняться после любого обновления. Поэтому для проведения наших экспериментов, мы попробуем хранить наши файлы именно в этой директории, чтобы они сохранялись без изменений! 
Домашняя директория в других Linux системах может иметь следующий вид /home/<username>

Навигация в файловой системе

Навигация означает поиск нашего местоположения, поиск ориентиров и затем установка пути для нашего назначения. Для этого, обратимся к командам pwd, ls и cd
Когда мы впервые видим командную строку, то мы не сможем получить достаточно информации, чтобы понять, где именно мы сейчас находимся. Мы только знаем, что мы в root@omega-ABCD. Команда pwd подскажет, какое конкретно это местоположение относительно /
Сразу же, как только мы войдем в систему, команда pwd выдаст примерно следующее:

root@Omega-ABCD:~# pwd
/root

Из этой строки мы понимаем, что мы в папке /root/, на один уровень ниже /.Обратите внимание на подсказку (все, что идет до символа #), она уже говорит нам, где мы находимся. ~ - это наша рабочая директория /root.

Итак, теперь мы в курсе о своем местоположении, поэтому мы должны посмотреть на то, что нас окружает. Для получения списка всех файлов в директории нужна команда ls
Например, вот что выдаст команда ls у меня: 

root@Omega-ABCD:~# ls
MAK01-dimmingLeds.py  checkAS6200Temp.sh
binify.sh             checkTemp.py

Отлично, теперь мы знаем, что в нашей рабочей директории четыре файла. 
Подождите, есть кое-что еще! Команда ls может давать информацию не только по рабочей директории. Если мы зададим ей переменную адреса path (путь), то команда проведет поиск и по этому адресу.  
Path — это полное местоположение объекта в файловой системе, начиная с корневого раздела (root).
Предположим, мы хотим заглянуть в нашу директорию /, мы можем использовать / как аргумент:

ls /

И получим следующее:
root@omega-7CCB:~# ls /

root@omega-7CCB:~# ls /
bin                lib             rom           tmp 
mnt                root            usr           dev
overlay            sbin            var            etc
proc               sys             www

Подсказка говорит нам, что мы все еще в ~, но это все папки, которые расположены в директории /

Как и куда можно попасть

Конечно, можно вообще не выходить никуда за пределы рабочей директории. Однако есть команда cd, которая позволяет нам передвигаться по разным директориям. Cd означает — сменить директорию.
Чаще всего команда cd используется совместно с path в качестве аргумента:

cd /root

Эта команда меняет рабочую директорию на / root.
Ранее мы уже говорили о path (пути). Путь (или абсолютный путь) — это своего рода полный адрес к любому объекту в файловой системе. Например, если у вас есть директория kittens в вашей папке /root, то путь к этой директории /root/kittens. Аналогично для файла adorable.jpg в /root/kittens путь будет /root/kittens/adorable.jpg
Будет утомительно каждый раз вбивать полный путь, поэтому есть много сокращений, которые понимает команда cd, и эти сокращения представлены в форме «относительных путей». Есть такие название путей, которые меняют то место, куда они приводят, в зависимости от контекста. 

  • Для того чтобы попасть в /root (или домашнюю папку под другим пользователем), нам понадобится команда cd без аргумента.
  • Относительный путь «директория выше» имеет вид .. (две точки), поэтому команда cd .. всегда переведет нас на один уровень выше, где бы мы не находились.
  • Для того чтобы попасть в любую поддиректорию рабочей директории, вместо абсолютного пути мы зададим команду cd <название директории>

Все эти сокращения работают также и друг с другом! 
Предположим, мы хотим перейти на две директории выше:

cd ../..

Первые .. переводят нас на один уровень выше в этой директории, а вторые .. переводят еще на один уровень выше.  
Мы также можем попасть в другие директории, которые содержатся в родительских директориях. 
Если мы хотим перейти на уровень выше и попасть в директорию kittens, то мы можем использовать путь ../kittens, то есть на один уровень выше и затем в kittens уровнем ниже.

Навигация – это интересный и полезный процесс, но, чтобы наши проекты работали, нам нужно научиться работать с файлами! Поэтому мы рассмотрим команды для создания и удаления директорий, а также создания и удаления файлов. 

Создаем директории

Команда mkdir позволяет нам создавать пустые директории. Запускаем команду следующим образом:

mkdir <название дирректории>

Вы можете использовать как абсолютный, так и относительный пути. См. пример ниже: 

root@Omega-ABCD:~# mkdir hello               # Относительный путь
root@Omega-ABCD:~# ls
hello
root@Omega-ABCD:~# mkdir /root/hello/world   # Абсолютный путь
root@Omega-ABCD:~# cd hello
root@Omega-ABCD:~/hello# ls
world

Создаем файлы

Команда touch может использоваться для создания файлов. Синтаксис будет таким: 

touch <название файла>
  • Если файла пока не существует, то будет создан пустой файл.
  • Если файл уже существует, то он обновится после последнего изменения, когда вы запускали команду. 

Вы можете проверить время последнего изменения файла при помощи команды ls -l, см. пример ниже: 

root@Omega-ABCD:~# touch hello.txt
root@Omega-ABCD:~# ls -l
-rw-r--r--    1 root     root             0 Mar 23 23:38 hello.txt    # мы создали наш файл
root@Omega-ABCD:~# cat hello.txt
root@Omega-ABCD:~#                    # ничего не происходит, файл пустой
...
(wait a minute or two)
...
root@Omega-ABCD:~# touch hello.txt    # обновите время последнего изменения
root@Omega-ABCD:~# ls -l
-rw-r--r--    1 root     root             0 Mar 23 23:41 hello.txt    # время изменения обновлено

Удаляем файлы и директории

Удалите файл при помощи команды rm:

rm <имя файла>

Для удаления директории и всех файлов в ней, запустите команду:

rm -rf <имя директории>

Ниже дано объяснение этим двум опциям: 

  • - r — рекурсивный режим (recursive)
    - Это означает вход в директорию и удаление всех файлов внутри нее. 
    - Если будут найдены другие директории, то их содержимое тоже будет удалено. 
    - Эта команда используется для удаления директорий, в противном случае, система выдаст ошибку.
  • - f — принудительный режим (force)
    - Программа будет продолжать работать, если при попытке удаления файлы возникнет ошибка.  

Редактирование файлов в Omega

Проекты основаны на коде, который хранится в файлах, поэтому логично, что нам придется редактировать файлы для всех наших проектов. 
В Omega 2 по умолчанию стоит один текстовый редактор Vim. Он отличается от знакомых нам визуальных редакторов, поэтому мы кратко расскажем, как он работает, чтобы дела с созданием проектов пошли быстрее!

Создаем или открываем файл

Для работы с файлами достаточно вызвать функцию vim <имя файла> . Также все получится, если вы вызовете vi <имя файла>
Если файл уже существует, то он откроется в Vim. Если нет, то откроется пустой временный файл с заданным именем. 
Временный файл не станет постоянным пока вы его не сохраните! 
Если вы сразу же начнете что-то печатать, как только запустится Vim, ничего не выйдет. Как же мы можем ввести текст? 

Ввод текста 

Нажмите на кнопку i, чтобы войти в режим вставки (insert mode). Теперь можно начинать вводить текст! 
Если вы раньше пользовались notepad, то работа в режиме вставки будет вам знакома. При помощи клавиш вводятся символы, стрелки помогают в навигации, клавиши home/end/pgup/pgdn также выполняют свои соответствующие функции.
Vim работает в разных режимах. Ввод символов и возможность вставки при помощи ctrl-shift-v будет работать  только в режиме вставки. 
Запускается Vim в обычном режиме, когда все нажатия на клавиши считаются командами. Поэтому любой введенный вами текст будет понят, как команда, а это приведет к самым разным непредсказуемым изменениям файла. 
Если мы сделали ошибку, как ее можно исправить?

Отмена и исправление

Отмена (undo) — это функция обычного режима. Нажмите ESC и u, чтобы отменить последнюю часть внесенных изменений. Для возврата отмененного нажмите ctrl-r в обычном режиме. 
Как только код зафиксирован, можно сохранять. 

Сохраняем изменения

 Нажимаем  ESC, чтобы вернуться в обычный режим, затем :w и кнопку Enter
Вводя : (двоеточие), мы вызываем «командную строку» Vim, где мы можем запускать реже используемые функции. Команда, которую мы задаем, а именно w, означает записать в файл (write to file). Так как : работает, как команда, мы должны нажать enter.
Наиболее распространенные команды в Vim связаны с навигацией, действием копировать/вставить и редактированием частей текста (например, u для отмены). 
Итак, теперь, когда мы все сохранили, нам нужно выйти из редактора vim, чтобы протестировать скрипт. 

Админ

Док-станции

Для того чтобы работа с Omega2 была простой и приятной, ее можно подключить напрямую к целому ряду док-станций, предоставленных Onion. Все доки могут запитываться от обычного MicroUSB кабеля. Док-станции обеспечивают Омегу напряжением 3.3 В. Доки позволяют вывести контакты Omega2 на удобные, привычные всем 2.54 мм контакты (Expansion Header). О дополнительных бонусах каждой из док-станций чуть позже.

Expansion Dock

Expansion Dock, пожалуй, можно считать самой главной док-станцией для Omega. Как понятно из названия, она поддерживает подключение расширений (Expansion) для Омеги, так как имеет группу GPIO пинов (Expansion Header).

1.jpg

Это расширение будет вашей основной платформой для этапа разработки вашего проекта или продукта. Оно оснащено встроенным чипом USB-to-Serial, что позволяет получить доступ к командной строке через Micro-USB соединение. Последовательная связь может использоваться для получения доступа к загрузчику, если ОС Omega повреждена или не может удачно запуститься. Эта док-станция также имеет разъем USB типа А для соединения с USB устройствами. 

Arduino Dock

Arduino Dock2 имеет микроконтроллер ATmega328P (тот же самый, что используется на Arduino Uno), который можно запрограммировать на работу в тандеме, в качестве сопроцессора.

2.jpg

В Arduino Dock 2 контакты микроконтроллера располагаются в том же порядке, что и в Arduino Uno, поэтому его можно использовать с любыми существующими Shield-платами Arduino. Также, благодаря Expansion Header, Arduino Dock можно использовать со всеми расширениями Omega. Кроме того, здесь присутствует разъем для USB типа А для соединения Omega с USB устройствами.

Power Dock

Power Dock обеспечивает мобильность благодаря питанию Omega от любого аккумулятора 3.7В LiPo (литийионный полимерный аккумулятор). Когда подключение к питанию осуществляется через Micro-USB кабель, то аккумулятор будет заряжаться. Если аккумулятор отсутствует, то Omega может питаться от Micro-USB, аналогично Expansion Dock.

3.JPG

Используйте Power Dock, чтобы реализовать собственные проекты, обеспечив непрерывное аккумуляторное питание для критически важных систем. Также можно использовать Expansion Header для поддержки всех расширений Omega. Как и в других док-станциях, здесь есть разъем USB типа А для соединения со всеми USB устройствами.

Mini Dock

Как ясно из названия, Mini Dock — это самый маленький док для Omega2. Он не обеспечивает прямой доступ к GPIO, но открывает USB порт, поэтому является идеальным инструментом для работы с сетью и USB.

4.JPG

Breadboard Dock

Я думаю, для вас не станет неожиданностью, что Breadboard Dock позволяет пользователю подключать свой Omega напрямую к макетной плате. Питание Omega может осуществляться через Micro USB подав напряжение 5В (макетная плата имеет регулятор мощности), либо питание может осуществляться непосредственно с макетной платы, при этом напряжении должно быть 3.3В.

5.jpg

Данная док-станция удобна для тех, кто любит проектировать свои устройства на на макетной плате.

Расширения (шилды)

Именно расширения делают Омегу такой гибкой и модульной. Шилды добавляют дополнительные функции системе, причем без лишних проблем. Если док-станция, используемая с Omega, имеет Expansion Header (30-контактная группа), она сможет автоматически поддерживать конфигурируемые расширения Omega. 

Док-станции, которые поддерживают расширения (имеют Expansion Header):

  • Power Dock
  • Expansion Dock
  • Arduino Dock

Servo (PWM) Expansion

Генерируйте до 16 разных несинхронизированных ШИМ-сигналов (широко-импульсная модуляция) при помощи Servo Expansion. ШИМ-сигналы управляются по умолчанию 5-ю вольтами док-станции. Здесь также реализована поддержка внешней подачи питания (до 12 вольт постоянного тока).

5.png

Используйте Servo (PWM) Expansion для управления сервоприводами, LED-устройствами, транзисторами, всем, что поддерживает ШИМ. Встроенный генератор помогает воспроизводить ШИМ-сигналы с частотой от 24 Гц до 1526 Гц. Частота по умолчанию 50 Гц, что совместимо с большинством сервоприводов. Обратите внимание, что для работы с несколькими сервоприводами рекомендуется использовать внешний источник питания.

Relay Expansion

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

6.jpg

Эти реле могут переключаться до 60 ватт, максимальный ток 2 Ампера, а максимальное напряжение 220В постоянного тока или 250В переменного. Реле включают в себя I2C переключатель адреса, что позволяет использовать до восьми Relay Expansions на одной Омеге. То есть, пользователь может контролировать до 16 внешних цепей (т.к. в шилде 2 реле).

Технические характеристики:

  • количество реле - 2
  • максимальная сила тока - 2А
  • максимальное напряжение - 220 (DC), 250 (AC)
  • максимальная мощность нагрузки - 60 Вт, 62.5 ВА
  • стандартное время переключения - 1 мс
  • максимальное время переключения - 3 мс

OLED Expansion

D Expansion — это монохромный OLED дисплей диагональю 0.96 дюймов, малой потребляемой мощностью и разрешением 128х64. Используется для отображения текста и картинок. 

6.png

Имеется возможность настройки яркости пикселей, так же как и установки инверсии изображения. Содержание всего экрана можно прокручивать влево, вправо или по диагонали влево и вправо.

При отображении текста на экране умещается 7 строк по 21 символу.

Ethernet Expansion

Добавьте Ethernet-порт для удобного соединения по проводной сети при помощи Ethernet Expansion.

7.JPG

Omega имеет Ethernet-порт 10/100, это означает, что поддерживается передача со скоростью как 10 Мб/сек, так и 100 Мб/сек. Omega обладает широкими сетевыми возможностями, используйте Ethernet Expansion, чтобы обеспечить взаимный доступ между проводной и беспроводной сетями. Или просто обеспечьте проводное сетевое соединение для Omega2.

GPS Expansion

GPS Expansion на основе USB предоставляет данные о местоположении, используя информацию группировки спутников GPS (система глобального позиционирования).

8.jpg

Встроенная антенна соединяется при помощи разъема u.FL. Это означает, что ее можно легко отсоединить и заменить на более большую и мощную антенну.

Модуль GPS Expansion обеспечивает:

  • Точность определения координат 1,8 м
  • 66 поисковых каналов
  • 22 канала отслеживания
  • Чувствительность -165 дБм
  • скорость обновления до 10 Гц

На этом краткий док-станций и расширений окончен. Надеюсь эта информация была полезной!

Админ

1.1 Знакомство с Omega2

Вам интересно узнать, что такое Omega2? Тогда вы открыли нужную статью!

 2.png

Что такое компьютер для IoT?
Компьютер для IoT — это компьютер для  Linux, разработанный специально для создания приложений для IoT (Internet of things или "интернет вещей"). Интернет вещей можно назвать следующей большой технологической волной. IoT включает в себя интеллектуальную обработку данных и интернет-соединение с любыми физическими устройствами, в том числе бытовые приборы, автомобили, здания, все, что угодно. Новые умные устройства смогут собирать данные и обмениваться ими, а также принимать инструкции. И все это делается с одной целью — улучшить нашу жизнь за счет совместной работы устройств. Это может быть автоматическая система полива вашей лужайки, автоматическое приготовление кофе в кофеварке, ранний звонок будильника, если в этот день на дорогах пробки или даже повышение эффективности вашего производственного бизнеса или бизнеса в сфере перевозок. 

Итак, для чего конкретно используется IoT компьютер? IoT компьютер Omega2 предназначен для разработки универсальной платформы для IoT от постановки экспериментов до создания любопытных устройств или прототипирования и создания более серьезных IoT продуктов. 
Почему Omega можно назвать IoT компьютером: 

  • Миниатюрный форм-фактор
  • Мощность
  • Возможности обработки, кодировки и сетевые возможности
  • Гибкость благодаря запуску в Linux
  • Поддержка нескольких языков программирования и одновременный запуск нескольких процессов

Сравнения 

Если вы знакомы с существующими макетными платами, то Omega2 стоит где-то между Arduino и Raspberry Pi.
Если сравнивать с Arduino Uno, то Omega обладает рядом преимуществ, так как это компьютер, а Uno — микроконтроллер:

  • Имеет процессор, а не микроконтроллер
  • Запускает операционную систему Linux в режиме реального времени
    - Поддерживает несколько языков программирования  
    - Имеет файловую систему с хранением
  • Встроенная поддержка сетевых возможностей (проводные и беспроводные), можно программировать. 

Возможности, которые есть у Arduino Uno, но нет у Omega:

  • Поддержка аналогового ввода и вывода
  • Обеспечивает точное чередование сигналов для управления низкоуровневой аппаратурой.

Omega больше похожа на Raspberry Pi, так как это компьютеры. Так как Omega — это IoT компьютер, то Omega работает несколько иначе, чем одноплатный компьютер Raspberry Pi:

  • Встроенная флеш-память и заранее установленная ОС. У вас уйдет не более пары минут, чтобы понять и запустить компьютер в первый раз
  • Встроенный WiFi приемопередатчик (не все модели Raspberry Pi имеют такие встроенные функции)
  • Низкое потребление энергии.

Так как Omega не является универсальным компьютером общего назначения, то в нем отсутствуют некоторые возможности, которые есть у Raspberry Pi:

  • Видеовыход в формате HD
    - Ориентация Omega на Интернет вещей означает, что этот компьютер может работать с небольшими экранами, но не с компьютерными или телевизионными мониторами.
  • Работает с графической оболочкой Linux
    - Omega не является компьютером общего назначения, то есть главная цель его использования заключается в установлении взаимодействия и более низком потреблении энергии.
  • В целом, система на кристалле (SoC) у Raspberry Pi обладает большей производительностью.
    - У Omega энергетическая эффективность, а не производительность является приоритетной.

Таким образом, Omega более мощный и гибкий, чем Arduino Uno с готовыми возможностями подключения к Интернету и сети. Однако этот компьютер не такой мощный, как Raspberry Pi и не имеет видео выхода для подключения к телевизору или монитору, так как он, в первую очередь, рассчитан на экономию энергии. Однако у Omega есть встроенная память, заранее установленная ОС и WiFi. Самое главное, Omega — это очень доступный модуль, цены на него на порядок ниже цен на другие микрокомпьютеры.

Железо

И так, что же у нас "на борту"?

3.png

  Omega2 Omega2+
Процессор 580MHz MIPS CPU 580MHz MIPS CPU
Память ОЗУ 64 МБ 128 МБ
Память хранения 16 МБ 32 МБ
USB USB 2.0 USB 2.0
MicroSD слот Нет Да
WiFi адаптер b/g/n Wi-Fi b/g/n Wi-Fi
Рабочее напряжение 3.3 В 3.3 В

Система на кристалле (SoC)

В Omega2 используется чипсет Mediatek MT7688AN. Процессор MIPS 24KEc, с прямым порядком байтов, 32-битная RISC-архитектура, работающая с частотой 580 МГц. Тем, кому это действительно интересно, у компьютера имеется кэш-память команд (I-cache) 64 КБ и кэш-память данных (D-cache) 32 КБ. 
Хотя это семейство чипсетов традиционно используется  в роутерах, это настоящий процессор (а не микроконтроллер), такой, какой есть в смартфоне или ноутбуке. У него просто другая архитектура (MIPS в отличие от ARM в смартфонах или x86 в ноутбуках и PC) и он работает при более низкой частоте — примерно четверть от скорости процессора в современном ноутбуке. 
Именно благодаря более низкой тактовой частоте и MIPS архитектуре SoC, Omega отличается низким потреблением энергии и низкой выработкой тепла. Это делает компьютер идеальным для использования в ограниченном пространстве и условиях ограниченного потребления энергии, что часто и является требованиями для IoT приложений.

SoC  
SoC MediaTek MT7688AN
Архитектура MIPS 24KEc (RISC, 32-бит)
Порядок следования байтов Обратный
Тактовая частота 580 МГц
I-Cache 64 КБ
D-Cache 32 КБ

Память ОЗУ

В Omega2 установлена память 128 МБ, в Omega2+ 256 МБ. Обе модели используют DDR2 DRAM (синхронную динамическую память с произвольным доступом и удвоенной скоростью передачи данных).

Память хранения информации

Хотя технически это память ОЗУ, мы все же считаем встроенную SPI флеш-память в Omega памятью хранения информации, так как она гарантирует постоянное, энергонезависимое хранение информации, которая не будет уничтожена, если компьютер Omega будет отключен. В этой памяти хранится операционная система (ОС), программы и все остальные файлы. Данная память для Omega — то же самое, что жесткий диск для ноутбука. 

Omega2 оснащен флеш-памятью 16 МБ, а Omega2+ имеет память 32 МБ. 

Разъем для MicroSD

У Omega2+ дополнительно встроен разъем для MicroSD, который можно использовать для увеличения памяти. Омегу также можно запустить с SD картой.

Сетевое подключение

Omega2 поддерживает беспроводное и проводное сетевое подключение.

WiFi

Omega поддерживает WiFi стандарта IEEE 802.11 b/g/n со скоростью работы на физическом уровне 150 Мбит/сек. Антенна 1T1R позволяет использовать WiFi как для передачи, так и приема данных благодаря временному мультиплексированию. По умолчанию, в Omega используется встроенная керамическая чип-антенна. Также имеется u.FL разъем специально для тех, кто предпочитает использовать внешние антенны. 

WiFi интерфейс микрокомпьютера поддерживает режим своей точки доступа WiFi, может соединяться с доступными WiFi сетями или делать все одновременно. 

Ethernet

Omega поддерживает проводное соединение с 10М/100М Ethernet-сетью, а также работает при использование док-станции или Ethernet расширения.

GPIO 

В Omega2 есть двенадцать интерфейсов ввода/вывода общего назначения (GPIO, general-purpose input/output), которые управляются пользователем. Контакты расположены по двум сторонам модуля.

4.png

Прежде чем приступить к взаимодействию с внешней электроникой, следует узнать об электрических характеристиках Omega. Самая важная часть — это GPIO с постоянным уровнем напряжения 3.3 В, а не привычные 5 В. Взаимодействие с устройствами 5В напрямую может повредить GPIO в компьютере Omega! 

В Таблице ниже представлены уровни напряжения цифрового сигнала для GPIO: 

Параметр Минимум, В Максимум, В
Напряжение ВЫСОКОГО уровня на ВХОДЕ 2.0 3.6
Напряжение НИЗКОГО уровня на ВХОДЕ -0.3 0.8
Напряжение ВЫСОКОГО уровня на ВЫХОДЕ 2.4 3.3
Напряжение НИЗКОГО уровня на ВЫХОДЕ - 0.4

ВНИМАНИЕ: подключение сигнала к контактному входному соединителю  ниже минимального допустимого значения (для НИЗКОГО напряжения) и выше максимального допустимого значения (для ВЫСОКОГО напряжения) может повредить вашу Омегу!

Логические устройства со стандартным напряжением 5В обычно принимают 3.3В как ВЫСОКИЙ уровень, однако диапазон напряжения ВЫСОКОГО уровня на выходе этих устройств варьируется от 4.4В до 5В. Это означает, что Omega может выдавать сигнал на устройства с напряжением 5В, но входной сигнал от этих устройств может повредить Омегу. 

У GPIO в Omega есть некоторые ограничения: интерфейсы могут выдавать или поглощать ток силой 8 мА. Хотя на практике применялись токи и побольше.

USB

Omega поддерживает протокол USB 2.0. Используйте USB устройства, чтобы расширить возможности вашей системы. Большинство док-станций имеют разъем для USB типа А для простого и беспроблемного соединения.

I2C

В модуле присутствует поддержка интерфейсной шины I2C (последовательная асимметричная шина для связи между интегральными схемами), которая сейчас используется повсеместно. I2C — это протокол шины типа «главный-подчиненный», который позволяет главному устройству взаимодействовать и контролировать сразу несколько подчиненных устройств. Это быстрый и надежный протокол и данные в нем передаются в двух направлениях: SCL для синхронизации и SDA для последовательно поступающих данных.

Сигнал Цель Номер пина
SCL Линия синхронизации 4
SDA Последовательная линия 5

Omega работает как ведущее устройство на шине I2C, отдавая команды и читая запросы от других устройств и чипов. Например, Omega контролирует сервопривод (PWM), реле и OLED расширения. 

UART

Имеется также поддержка универсального асинхронного приемопередатчика (UART). UART предназначен для прямого взаимодействия между двумя устройствами без использования режима «главный-подчиненный». В нем используются две линии данных: одна для передачи, другая для приема. Обратите внимание, что передающий контакт одного устройства должен соединяться с принимающим контактом другого устройства и наоборот. 

В Omega есть два отдельных UART, поэтому вы можете подключить микрокомпьютер через UART сразу к двум отдельным устройствам. По умолчанию, UART0 настроен на интерфейс для последовательной передачи данных командной строке Omega. В расширениях и мини док-станциях, UART0 переходит с USB на последовательный порт, что позволяет получить доступ к командной строке через Micro-USB соединение. UART1 располагается в так называемом Expnsion Header (30-контактная группа) расширения и его можно использовать для связи с другими устройствами. В  Arduino Dock 2 он соединен жесткой логикой с микроконтроллером ATmega для прямой и надежной связи. 

Сигнал Номер пина
UART0 TX 12
UART0 RX 13
UART1 TX 45
UART1 RX 46

SPI

Наконец, Omega поддерживает протокол SPI (последовательный периферийный интерфейс). SPI — это четырехпроводный, последовательный синхронный стандарт передачи данных в режиме «главный-подчиненный», который способен работать с высокой скоростью и передавать множество данных. Обычно он используется для соединения микропроцессоров или микроконтроллеров с датчиками, памятью и другими периферийными устройствами. Главное устройство может соединяться сразу с несколькими подчиненными устройствами, для каждого соединения требуется свой сигнал выбора подчиненного (или выбора кристалла ), который указывает, что конкретные устройства на данный момент являются предметом взаимодействия. Omega использует SPI для связи со встроенной флеш-памятью, которая служит местом хранением операционной системы и всех файлов. 

Сигнал Описание Номер контакта
SCK Тактовый сигнал 7
MOSI Данные от главного устройства к подчиненному  8
MISO Данные от подчиненного устройства к главному  9
CS0 Выбор кристалла 0 внутренне соединено с флеш-памятью 
CS1 Выбор кристалла 1  6

Программное обеспечение

Omega 2 работает с операционной системой Linux, а точнее LEDE (Linux Embedded Development Environment), это встраиваемая среда разработки Linux, разработанная специально под Onion. В основе лежит Open WRT. "Операционка" в Omega по умолчанию настроена, как веб-сервер, поэтому другие устройства в локальной сети смогут взаимодействовать с Omega посредством браузера.

Поддерживаемые языки программирования

  • C & C++
  • PHP
  • Python
  • NodeJS
  • Rust
  • Ruby
  • Perl
  • GoLang

Установка программного обеспечения

Так как архитектура процессора относится к MIPS, то все приложения необходимо компилировать специально для MIPS архитектуры. Поэтому, к сожалению, у вас не получится просто скачать обычные пакеты установки Linux и запустить их на Omega. Однако, у LEDE есть своя система управления пакетами в программе opkg. Opkg позволяет пользователям получать онлайн доступ к архиву с пакетами и устанавливать их. По умолчанию, поиск происходит только в архиве Onion, но можно без проблем активировать LEDE архивы с пакетами.

Админ

Раздел 1. Что такое Omega2

Не знаете зачем нужен и что делать с Omega 2? Посмотрите наши уроки, и вы узнаете, как использовать Omega2 и создавать множество IoT устройств!

1.jpg

Эта книга проектов содержит в себе 22 проекта, которые описаны в курсе из 28 уроков. Проекты разделены по пяти категориям:

1. Проекты для начинающих
• Два проекта, которые ближе познакомят вас с Omega.

2.  Проекты с расширением OLED
• Проекты, в которых используется расширение OLED для передачи разной информации пользователям. 

3. IoT проекты
• Проекты, связанные с Интернетом вещей, которые придают интеллект привычным предметам или существующим технологиям.

4. Аудио проекты
• Воспользуйтесь тем преимуществом, что Omega достаточно хорошо оборудован, чтобы справиться с вводом и выводом, так как компьютер работает с операционной системой Linux.

5. Беспроводные проекты
• Используйте широкие сетевые возможности Omega, чтобы создавать самые разнообразные компьютерные сетевые инструменты.