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

Библиотека

Библиотека сайта

  1. Don_Arturos
    Последняя запись

    Автор: Don_Arturos,

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

    tGMoodMdWLsy-v3tZyEGQVdUlS4J5Od7emajjD77iaE0T8BPZF61ugYBjDk1rJWxiFdZXiYHp_DKPeJ1nAHBkAOoL3G2GzVEsHchr0wl4vMQqtLY6XCNjbZUg7Ey3cg_-NGFCPfH

    Для разработчиков Omega2 простота и удобство работы с компьютером являются приоритетными качествами. Каждая плата Омега2 поставляется с универсальным сценарием конфигурации. Он позволяет выполнить самые необходимые задачи в кратчайшие сроки и без траты времени на изучение документации.

    Чтобы получить доступ к скрипту подключите ваш Power Dock с контроллером на борту к компьютеру и запустите командную строку в Omega2.

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

    oupgrade

    Внимание: во время обновления сохраняются только папки /root и /etc. Важно сделать резервную копию всех остальных файлов на компьютере.

    Запускать скрипт очень просто. Сейчас мы рассмотрим несколько его функций:

    • Часовой пояс системы;

    • Аппаратные контакты PWM;

    • Настройки Ethernet;

    • MJPG Streamer Utility;

    • OnionOS.

    Настройка часового пояса системы

    Настройка часового пояса, чтобы при запуске команды date выводились время и дата для вашего часового пояса!

    • Чтобы просмотреть список всех доступных часовых поясов и связанных часовых поясов:

    onion [OPTIONS] time list
    • Чтобы изменить часовой пояс системы:

    onion [OPTIONS] time set <TIMEZONE> <TIMEZONE STRING>
    • Чтобы обновить системное время на основе вашего часового пояса и интернет-серверов NTP:

    onion [OPTIONS] time sync

    Настройка выводов ШИМ

    На Omega2 вы можете настроить определенный номер ШИМ сигнала: в качестве параметров можно установить рабочий цикл и частоту сигнала, либо отключить его.

    • Параметры для ШИМ сигнала задаются следующим образом:

    onion [OPTIONS] pwm <CHANNEL> <DUTY CYCLE> <FREQUENCY>

    В этом случае применяется следующее:

    • CHANNEL - это номер канала ШИМ - может быть установлен на 0 (GPIO18) или 1 (GPIO19);

    • DUTY CYCLE - это рабочий цикл сигнала ШИМ, заданный в процентах от 0 до 100;

    • FREQUENCY - это частота сигнала ШИМ, выраженная в Гц.

    Например, если вы хотите установить коэффициент заполнения 50% и частоту 80 Гц на канале 1 ШИМ (GPIO19), команда будет выглядеть так:

    onion pwm 1 50 80
    • Чтобы отключить указанный канал ШИМ:

    onion [OPTIONS] pwm <CHANNEL> disable

    Настройка Ethernet

    Используйте расширение Ethernet для быстрого переключения Omega2 в проводной сети Ethernet между клиентом и хостом .

    • В режиме клиента Omega2 присоединяется к существующей проводной сети и принимает IP-адрес от маршрутизатора сети:

    onion [OPTIONS] ethernet client
    • В режиме хоста Omega2 сама становится маршрутизатором сети, который назначает IP-адреса другим устройствам.

    onion [OPTIONS] ethernet host

    Настройка MJPG Streamer

    Данная отвечает за копирование JPEG кадров.Обычно мы используем его для захвата видеокадров с USB-камеры и передачи их по IP. Например, приложение OnionOS Timelapse Camera использует эту утилиту для потоковой передачи видео с камеры, подключенной к Omega2, в браузер.

    Используйте скрипт Onion для быстрой настройки mjpg-streamer без необходимости иметь дело непосредственно с файлом конфигурации.

    • Данная функция используется, чтобы восстановить все настройки стримера с приемлемыми параметрами по умолчанию:

    onion [OPTIONS] mjpg-streamer setup
    • Изменить  параметры для потока:

    onion [OPTIONS] mjpg-streamer <SETTING> <VALUE>

     

    • Настройка параметров для потока поддерживает следующие функции:

    resolution <WIDTHxHEIGHT>
    fps <number>
    • Чтобы изменить разрешение потока:

    onion mjpg-streamer resolution <WIDTHxHEIGHT>
    • Например, чтобы установить разрешение потока до 800 × 600:

    onion mjpg-streamer resolution 800x600
    • Чтобы изменить настройку FPS (кадров в секунду) потока:

    onion mjpg-streamer fps <number>
    • Например, чтобы установить для потока FPS значение 40:

    onion mjpg-streamer fps 40

    Работа с настройками OnionOS

    Эта функция позволяет вам быстро проверить актуальность текущей версии OnionOS.

    • Для отображения информации о версии Omega2 и OnionOS:

    onion [OPTIONS] os version
    • Эта функция становится очень полезной, когда позволяет проверить текущую версию ОС, чтобы узнать, нужно ли запускать функцию обновления, выполнив:

    onion os version
    • После вызова функции на экране появится следующее:

    === Version Info ===
    Omega firmware: v0.2.2 b200
    onion-os - 1.0.5-1
    = OnionOS Apps =
    oos-app-power-dock-2 - 1.0.1-1
    oos-app-sensor-monitor - 1.0.1-1
    • Чтобы обновить OnionOS до последней доступной версии:

    onion [OPTIONS] os update
    • Если вы обнаружите, что используете не последнюю версию OnionOS, просто запустите команду обновления:

    onion os update

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

     

     

     

  2. Админ
    Последняя запись

    Обычно 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 дисплею на разных расстояниях и под разными углами.