Python Modul für GPIO

Mardor

Well-Known Member
Hallo,

ich setze auf meinem Raspberry Pi 2 aktuell RaspBSD (FreeBSD-armv6-11.0-RPI2-286145.img) von http://raspbsd.org/# ein.
Soweit funktioniert alles und ich bin auch sehr begeistert. Das einzige was ich nicht hinbekomme ist die GPIO des Raspberry anzusteuern weil das python Modul RPi.GPIO fehlt.

Laut freshports.org sollte es ein Paket geben das "raspberrypi-userland" heisst, allerdings kann ich keines in den Ports finden.
Was mich verwundert ist der Kommentar auf freshports:

A package is not available for ports marked as: Forbidden / Broken / Ignore / Restricted
PKGNAME: raspberrypi-userland

Irgendwie wiederspricht sich diese Aussage (es gibt kein Paket aber der Name ist raspberrypi-userland).
Sollte ich das Paket wirklich via portmaster kompilieren müssel und mit portsnap die Ports holen müssen, so wäre für mich die Frage ob es irgendwie geht via portsnap nur diesen einen Port zu holen um nicht zu viel MicroSD Platz zu verbrauchen ?

Gruß Mardor
 
Hallo darktrym,

leider führt die Installation des GPIO Moduls über PIP immer wieder zu Fehlermeldungen.

Code:
  File "/tmp/pip-build-ro2fe_sd/numpy/numpy/distutils/command/build_src.py", line 299, in build_library_sources
  sources = self.generate_sources(sources, (lib_name, build_info))
  File "/tmp/pip-build-ro2fe_sd/numpy/numpy/distutils/command/build_src.py", line 386, in generate_sources
  source = func(extension, build_dir)
  File "numpy/core/setup.py", line 669, in get_mathlib_info
  raise RuntimeError("Broken toolchain: cannot link a simple C program")
  RuntimeError: Broken toolchain: cannot link a simple C program

  ----------------------------------------
Command "/usr/local/bin/python3.4 -c "import setuptools, tokenize;__file__='/tmp/pip-build-ro2fe_sd/numpy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-mh0bu7uq-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-ro2fe_sd/numpy

Gruß Marcus
 
Auch das auf "https://github.com/gonzoua/freebsd-gpio" beschriebene Verfahren funktioniert nicht weil hier irgendetwas geht.

Code:
python3.4 setup.py build
running build
running build_py
running build_ext
building '_bsdgpio' extension
/nxb-bin/usr/bin/cc -Wno-unused-result -DNDEBUG -fPIC -I/usr/local/include/python3.4m -c _bsdgpiomodule.c -o build/temp.freebsd-11.0-CURRENT-arm-3.4/_bsdgpiomodule.o
unable to execute '/nxb-bin/usr/bin/cc': No such file or directory
error: command '/nxb-bin/usr/bin/cc' failed with exit status 1

Gruß Mardor
 
Das FreeBSD GPIO Device ist sehr einfach und mit wenigen ioctl() Aufrufen zu bedienen. Sollte Python dir die Möglichkeit bieten direkt Systemcalls auszuführen ist es vermutlich einfacher ohne Gluecode direkt mit dem GPIO Device zu reden.
 
Direkt Syscalls aufrufen? Nö, entweder bastelt man sich hier was selbst(mit riesen Aufwand) um die Brücke C(Kernel) und Python-Userland zu schaffen oder fixt das gleich selbst. Du wirst ja sicher nicht der einzige mit dem Problem sein.
 
Zurück
Oben