1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/hihopeorg-harmonyos-ssd1306

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Библиотека для OLED-экрана SSD1306, поддерживающая аппаратные интерфейсы IoT HarmonyOS

  • Библиотека имеет встроенную 128 * 64-битную буферную память и поддерживает полное обновление экрана.
  • Оптимизирована скорость обновления экрана, максимальная измеренная частота кадров — 10 кадров в секунду.
  • Libm_port использует реализацию sin и cos из musl libc для решения проблемы с ошибкой в libm_flash.a в Hi3861 SDK.
  • Программа gif2imgs.py может использоваться для разделения кадров анимированных GIF-файлов. Для установки требуется пакет pillow, который можно установить командой pip install pillow.
  • Программа img2code.py может быть использована для преобразования изображений в массивы C, где каждый байт представляет 8 пикселей. Для работы требуется пакет opencv-python, который устанавливается командой pip install opencv-python.

Как скомпилировать

  1. Клонируйте проект в каталог исходного кода openharmony: git clone https://gitee.com/hihopeorg/harmonyos-ssd1306.

  2. Измените файл build/lite/product/wifiiot.json в каталоге исходного кода openharmony, заменив //applications/sample/wifi-iot/app на //harmonyos-ssd1306:app и сохраните изменения.

  3. В каталоге исходного кода openharmony выполните команду python build.py wifiiot.

Решение проблем при компиляции

В этом проекте используется API-интерфейс I2C подсистемы IoT от HarmonyOS, который должен быть подключен к интерфейсу I2C на Hi3861. По умолчанию конфигурация I2C для Hi3861 не включена, что приводит к ошибкам при компиляции: riscv32-unknown-elf-ld: ohos/libs/libhal_iothardware.a(hal_wifiiot_i2c.o): in function .L0 ': hal_wifiiot_i2c.c:(.text.HalI2cWrite+0x12): undefined reference to hi_i2c_write' riscv32-unknown-elf-ld: hal_wifiiot_i2c.c:(.text.HalI2cInit+0x12): undefined reference to `hi_i2c_init' scons: *** [output/bin/Hi3861_wifiiot_app.out] Error 1 BUILD FAILED!!!!

Решение: необходимо изменить файл vendor\hisi\hi3861\hi3861\build\config\usr_config.mk, установив CONFIG_I2C_SUPPORT=y вместо # CONFIG_I2C_SUPPORT is not set.

Демонстрация эффекта

  1. Воспроизведение GIF: https://www.bilibili.com/video/BV1Af4y1B7TD/.
    • Используйте скрипт преобразования в этом проекте для извлечения каждого кадра из GIF и преобразования его в массив bitmap. Программа будет воспроизводить кадры в цикле.
  2. Воспроизведение видео: https://www.bilibili.com/video/BV1DK4y1f7yw/.
    • Архитектура C/S, где плата разработки выступает в роли клиента, а ПК — в роли сервера. Кадр передаётся по TCP (видео содержит слишком много кадров, чтобы поместиться в кэш платы разработки).
    • Исходный код проекта для воспроизведения видео: https://gitee.com/hihopeorg/harmonyos_oled_player.

Ссылки

Этот проект основан на stm32-ssd1306 от afiskon, но с некоторыми изменениями и улучшениями. Исходный проект можно найти здесь: https://github.com/afiskon/stm32-ssd1306.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/hihopeorg-harmonyos-ssd1306.git
git@api.gitlife.ru:oschina-mirror/hihopeorg-harmonyos-ssd1306.git
oschina-mirror
hihopeorg-harmonyos-ssd1306
hihopeorg-harmonyos-ssd1306
master