Skip to content

Разработка

Вопросы связанные с разработкой ПО для Raspberry Pi

35 Темы 141 Сообщения

Подкатегории


  • 6 Темы
    31 Сообщения
    piP

    @Sailwork#6598 Есть у кого какие-нибудь идеи реализации такого алгоритма

    Да какие тут идеи?! 🙂 Ситуация обсосанная тысячу раз. Без привязки к языку программирования:

    Создаём переменную, управляющую повторением цикла и присваиваем ей значение TRUE Создаём нить, которая висит на ожидании ввода с клавиатуры. По нажатию Enter проверяется, что введено. Если это команда остановки, то переменной цикла присваиваем FALSE и завершаем нить. Запускаем основной цикл, который крутится пока управляющая переменная TRUE
  • 19 Темы
    78 Сообщения
    piP

    Решил освоить raspberry, при этом не использовать компилируемые языки, выбор невольно остановился на Python 3. Поскольку изначально планировалось задействовать OpenCV, то на текущий момент это возможно только с OpenCV 3.0 beta которая рекомендует использовать с ней Python 3.4. Ни того ни другого в репозитории нет и пришлось собирать из исходников, по пути осваивая данный процесс. Идущим по моим следам посвящается:

    Установка Python 3.4

    Устанавливаем пакеты необходимые для Python:

    sudo apt-get install zlib1g-dev libbz2-dev libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev libgdbm-dev liblzma-dev tk-dev

    Качаем и распаковываем исходники:

    wget https://www.python.org/ftp/python/3.4.2/Python-3.4.2.tgz tar -zxvf ./Python-3.4.2.tgz cd ./Python-3.4.2/

    Более свежие исходники можно взять с оф.сайта

    Готовим к компиляции

    ./configure --prefix=/usr/local

    Компилируем

    make

    Ближе к концу компиляции может появится сообщение о том что каких-то пакетов не хватает: "the necessary bits to build these modules were not found:" их можно до установить если они вам нужны, после чего повторить процедуру.

    Cобираем пакет

    sudo make install

    По правильному надо собирать при помощи checkinstall, но не получилось как ни старался. setup_tools и pip ставятся автоматически

    Создаем удобные симлинки в системе:

    rm /usr/bin/python3 ln -s /usr/local/bin/python3 /usr/bin/ ln -s /usr/local/bin/pip3 /usr/bin/

    OpenCV необходим питоновский модуль numpy - ставим

    pip3 install numpy

    Устанавливаем необходимые OpenCV пакеты (поставил все что просил)

    sudo apt-get install cmake git build-essential pkg-config libpng12-0 libpng12-dev libpng++-dev libpng3 libpnglite-dev \ zlib1g-dbg zlib1g zlib1g-dev pngtools libtiff4-dev libtiff4 libtiffxx0c2 libtiff-tools libeigen3-dev libjpeg8 \ libjpeg8-dev libjpeg8-dbg libjpeg-progs ffmpeg libavcodec-dev libavcodec53 libavformat53 libavformat-dev \ libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev libxine1-ffmpeg libxine-dev libxine1-bin \ libunicap2 libunicap2-dev swig libv4l-0 libv4l-dev python-numpy libpython2.7 python-dev python2.7-dev libgtk2.0-dev

    Скачиваем исходники

    wget https://github.com/Itseez/opencv/archive/3.0.0-beta.zip unzip 3.0.0-beta.zip cd opencv-3.0.0-beta

    Собираем (поскольку на raspbian несколько питонов, необходимо указать какой из них где)

    sudo cmake \ -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local/ \ -D PYTHON2_EXECUTABLE=/usr/bin/python2 \ -D PYTHON2_INCLUDE_PATH=/usr/include/python2.7/ \ -D PYTHON2_LIBRARIES=/usr/lib/python2.7 \ -D PYTHON2_PACKAGES_PATH=/usr/local/lib/python2.7/site-packages/ \ -D PYTHON2_NUMPY_INCLUDE_DIRS=/usr/local/lib/python2.7/dist-packages/numpy/core/include \ -D PYTHON3_EXECUTABLE=/usr/local/bin/python3 \ -D PYTHON3_INCLUDE_PATH=/usr/local/include/python3.4m/ \ -D PYTHON3_LIBRARIES=/usr/local/lib/python3.4/ \ -D PYTHON3_PACKAGES_PATH=/usr/local/lib/python3.4/site-packages/ \ -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.4/dist-packages/numpy/core/include/ . sudo make sudo make install

    Cборка на raspberry занимает порядка 10-12 часов. checkinstall как и в случае с питоном работать отказался.

    Чтобы Raspberry Camera стала стандартным V4L устройством /dev/video0, нужно выполнить:

    sudo modprobe bcm2835-v4l2

    RASPBIAN
    PYTHON
    OPENCV

  • 1 Темы
    5 Сообщения
    piP

    Большое спасибо. Работает.

  • 2 Темы
    6 Сообщения
    K

    @Чёрный-Лукич изначально я использовал версию 2.7.0
    даунгрейд до 2.6.0, 2.5.0. ожидаемо, не помог

    implementation ("com.pi4j:pi4j-core:2.6.0") implementation ("com.pi4j:pi4j-plugin-raspberrypi:2.6.0") implementation ("com.pi4j:pi4j-plugin-gpiod:2.6.0")
  • 7 Темы
    21 Сообщения
    piP

    Время (часы) на малинке? Надо попробовать!