- Sky
- Blueberry
- Slate
- Blackcurrant
- Watermelon
- Strawberry
- Orange
- Banana
- Apple
- Emerald
- Chocolate
- Charcoal
Blogs
Our community blogs
-
Уроки
A group blog by
Всем привет!
В данной статье ничего гениального не написано, но все же у некоторых людей возникают вопросы по подключению Омеги через последовательный порт (USB, а точнее microUSB). Поэтому покажу, как это делается.
Подключение по serial поддерживают только две док-станции: Expansion Dock и Mini Dick, так как на них есть USB-to-Serial микросхема CP1202.
Нам потребуется программа Putty. Качаем ее с официально сайта: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Берем кабель USB-microUSB и соединяем компьютер с microUSB-портом док-станции. Всегда рекомендую использовать короткий провод (я лично юзаю около 20 см). Включаем Омегу ползунком на док-станции.
В моем случае, на операционке Windows10 драйвера установились автоматически. Если Вам повезло меньше, установите драйвера Silicon Labs CP2102 driver for Windows.
В диспетчере устройств должно появиться новое устройство:
Устанавливаем и запускаем Putty. В настройках подключения выбираем тип подключения Serial, устанавливаем скорость передачи (Speed) равной 115200 и номер COM порта как в диспетчере устройств.
Клацаем кнопку Open.
Открывается терминал. Нажимаем Enter, и видим что-то такое:
Подключение установлено, спасибо за внимание
- Read more...
- 0 comments
-
22 проекта на Omega2
A blog by Админ
- 10
entries - 2
comments - 9842
views
Recent Entries
Обычно QR-коды представляют собой двухмерные штрихкоды, которые можно отсканировать любой камерой. Любой смартфон без труда справится с QR кодом.
Из этой книги мы узнаем, как использовать Python, чтобы превратить текст в QR-код и вывести его на OLED Expansion.
Получившийся в результате код можно отсканировать, чтобы прочитать закодированный текст. Если это закодированный 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:
Подробнее о программе
Работа кода, которая остается за кадром:
- Кодирование введенного текста в матрицу, представляющую собой QR-код. Размер QR-кода зависит от количества введенного текста
- Конвертация матрицы QR-кода в данные, которые можно отобразить на OLED дисплее
- Отображение получившейся картинки на 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 дисплею на разных расстояниях и под разными углами.
- 10