Репка / Repka-Pi

  • Автор темы Репка / Repka-Pi
  • Дата начала
ну и это-бы проверить, может недоставилось:
$ apt search libboost-python
Сортировка… Готово
Полнотекстовый поиск… Готово
libboost-python-dev/focal 1.71.0.0ubuntu2 arm64
Boost.Python Library development files (default version)

libboost-python1.67-dev/focal 1.67.0-17ubuntu8 arm64
Boost.Python Library development files

libboost-python1.67.0/focal 1.67.0-17ubuntu8 arm64
Boost.Python Library

libboost-python1.71-dev/focal 1.71.0-6ubuntu6 arm64
Boost.Python Library development files

libboost-python1.71.0/focal 1.71.0-6ubuntu6 arm64
Boost.Python Library


Всё установлено
 
Ради смеха поставил qemu-system-i386. По моему опыту самый быстрый эмулятор х86 на арме, быстрей даже фастдосбокса. Запустил демку MARS.EXE. Грузится одно ядро проца. На несколько потоков пока не нашёл как. Может и не работает вовсе. Проц указал -486

Работает как 10МГц 80386. Ну может 16МГц 80386. Даже Windows95 будет идти еле-еле )))
 
в config.log'е linuxcnc что конкретно не понравилось скрипту? что-нибудь типа /usr/bin/ld: cannot find -lboost_python или другая ошибка?
 
Там сперва автоген, потом конфигуратор. Вот конфигуратор проверяет и под конец ругается на boost::python shared library

В config.log как будто бустпитон вообще не найден
 
стоить проверить вывод sudo ldconfig -v | grep -i boost
 
Да, в системе нет libboost для python2.7, только для 3.8
 
попробуй доставить apt install libboost-python1.67*
 
в нём должен быть libboost для второго питона
 
Поставил libboost1.67-dev, старые пакеты 1.71 снёс через autoremove.

Поставил libboost-python1.67

Теперь жалобы на boost::python shared library пропали

Благодарствую
 
Там ещё тройку пакетов понадобилось поставить по opengl и х11, но щас вроде всё
 
Запустил сборку, пошёл пить чай
 
До конца не собирается, вылетает в ошибку. По всей видимости несовместимость второго и третьего питона.

Как даунгрейдить весть третий питон на второй?

python3.8->python2.7
 
До конца не собирается, вылетает в ошибку. По всей видимости несовместимость второго и третьего питона.

Как даунгрейдить весть третий питон на второй?

python3.8->python2.7


На малине два питона вместе живут. И в иной задаче я менял ссылку на директорию на питон2 в конфиге.
 
Доброе утро!
Работаю над полуавтономным IOT устройством с промышленным микроскопом, подключённым через USB к Репке. После выключения питания система перестаёт определять только камеру, есть ли возможность переинициализировать порт? Попробовал на распберри, такой проблемы не наблюдалось.
 
Доброе утро! Хочу управлять GPIO с помощью веб-интерфейса, но по какой-то причине Flask и gpiod не хотят работать вместе, хотя по отдельности работают корректно. Кто-нибудь сталкивался с данной проблемой? Ошибка:
Код:
root@Repka-Pi:~/Рабочий стол/Стенд/flask-vue-crud# python3 app.py
* Serving Flask app 'app'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:5000
Press CTRL+C to quit
* Restarting with stat
Traceback (most recent call last):
File "/root/Рабочий стол/Стенд/flask-vue-crud/app.py", line 17, in <module>
    led.request(config)
File "/usr/local/lib/python3.8/dist-packages/gpiod/libgpiodcxx/init.py", line 553, in request
    rv = libgpiod.gpiod_line_request(_m_line, conf, default_val)
File "/usr/local/lib/python3.8/dist-packages/gpiod/libgpiod/init.py", line 479, in gpiod_line_request
    return gpiod_line_request_bulk(bulk, config, [default_val])
File "/usr/local/lib/python3.8/dist-packages/gpiod/libgpiod/init.py", line 522, in gpiod_line_request_bulk
    return _line_request_values(bulk, config, default_vals)
File "/usr/local/lib/python3.8/dist-packages/gpiod/libgpiod/init.py", line 387, in _line_request_values
    status = ioctl(fd, GPIO_GET_LINEHANDLE_IOCTL, req)
OSError: [Errno 16] Device or resource busy
Сам код
Код:
python

from flask import Flask, jsonify
from flask_cors import CORS
from flask import request
import gpiod
import sys
import time

LED_CHIP = 0
LED_LINE_OFFSET = 11

chip = gpiod.chip(LED_CHIP)
led = chip.get_line(LED_LINE_OFFSET)

config = gpiod.line_request()
config.consumer = "test"
config.request_type = gpiod.line_request.DIRECTION_OUTPUT
led.request(config)

# configuration
DEBUG = True

# instantiate the app
app = Flask(name)
app.config.from_object(name)

# enable CORS
CORS(app)

# sanity check route
@app.route('/launch')
def launch_ulka():

    frequency = request.args.get('frequency')
    time = request.args.get('time')

    if time != '' and frequency != '':
        print(frequency, time)
        return jsonify(frequency)
    else:
        return jsonify("Отстуствует(ют) параметр(ы) в запросе")

if name == 'main':
    app.run()
 
Доброе утро! Хочу управлять GPIO с помощью веб-интерфейса, но по какой-то причине Flask и gpiod не хотят работать вместе, хотя по отдельности работают корректно. Кто-нибудь сталкивался с данной проблемой? Ошибка:
Код:
root@Repka-Pi:~/Рабочий стол/Стенд/flask-vue-crud# python3 app.py
* Serving Flask app 'app'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:5000
Press CTRL+C to quit
* Restarting with stat
Traceback (most recent call last):
File "/root/Рабочий стол/Стенд/flask-vue-crud/app.py", line 17, in <module>
    led.request(config)
File "/usr/local/lib/python3.8/dist-packages/gpiod/libgpiodcxx/init.py", line 553, in request
    rv = libgpiod.gpiod_line_request(_m_line, conf, default_val)
File "/usr/local/lib/python3.8/dist-packages/gpiod/libgpiod/init.py", line 479, in gpiod_line_request
    return gpiod_line_request_bulk(bulk, config, [default_val])
File "/usr/local/lib/python3.8/dist-packages/gpiod/libgpiod/init.py", line 522, in gpiod_line_request_bulk
    return _line_request_values(bulk, config, default_vals)
File "/usr/local/lib/python3.8/dist-packages/gpiod/libgpiod/init.py", line 387, in _line_request_values
    status = ioctl(fd, GPIO_GET_LINEHANDLE_IOCTL, req)
OSError: [Errno 16] Device or resource busy
Сам код
Код:
python

from flask import Flask, jsonify
from flask_cors import CORS
from flask import request
import gpiod
import sys
import time

LED_CHIP = 0
LED_LINE_OFFSET = 11

chip = gpiod.chip(LED_CHIP)
led = chip.get_line(LED_LINE_OFFSET)

config = gpiod.line_request()
config.consumer = "test"
config.request_type = gpiod.line_request.DIRECTION_OUTPUT
led.request(config)

# configuration
DEBUG = True

# instantiate the app
app = Flask(name)
app.config.from_object(name)

# enable CORS
CORS(app)

# sanity check route
@app.route('/launch')
def launch_ulka():

    frequency = request.args.get('frequency')
    time = request.args.get('time')

    if time != '' and frequency != '':
        print(frequency, time)
        return jsonify(frequency)
    else:
        return jsonify("Отстуствует(ют) параметр(ы) в запросе")

if name == 'main':
    app.run()


Я бы предположил, что вы запускаете веб-сервер от юзера, который не имеет прав трогать gpio напрямую. Посмотрите права доступа и внесите юзера в соответствующую группу.
 
Ради смеха поставил qemu-system-i386. По моему опыту самый быстрый эмулятор х86 на арме, быстрей даже фастдосбокса. Запустил демку MARS.EXE. Грузится одно ядро проца. На несколько потоков пока не нашёл как. Может и не работает вовсе. Проц указал -486

Работает как 10МГц 80386. Ну может 16МГц 80386. Даже Windows95 будет идти еле-еле )))


что-то припоминаю, что в 486 вообще не было понятие "несколько ядер", максимум что было это smp