Forum: PC-Programmierung Über NetIO beim Raspberry eine LED einschalten


von gomany (Gast)


Lesenswert?

Moin Leute,

möchte gerne über Netio mein Raspberry schalten können. Es gibt echt 
viele Forum, aber ich komme einfach nicht klar und würde mich über jede 
Hilfe freuen. Bin auch ein sehr großer Anfänger. Also ich hab von der 
Seite http://netio.davideickhoff.de/tutorials ein vorgeschriebenes 
Programm womit man eine LED schalten kann für die App. Nur verstehe ich 
es nicht mit dem Netio_server.py! Wie installiere ich denn genau? wie 
kriege ich es hin das mein Netio-Controller App mit dem server arbeitet. 
Worauf muss ich achten?
Das alles verstehe ich einfach nicht und qäulle mich schon seid 2 Tagen.

Hoffe jemand hilft mir Hier endlich!!!

von dasdsdadadad (Gast)


Lesenswert?

raspberry ist zum Basteln da.
Wenn du nicht gewillt bist, zu lernen, so hat das doch keinen Sinn.
Wenn ich schon Kommentare lese a la "...hoffe es hilft mir ENDLICH 
wer..." sehe ich eigentlich nicht viel Sinn darin...

Also, auf der von dir genannten Seite steht ganz genau erklärt, wie es 
funktioniert.


---------------------------------------------------------------------
    Install python GPIO-package with the following steps:
        Download and unpack the latest package from 
http://pypi.python.org/pypi/RPi.GPIO so you get e.g. (depending on 
version) the folder 'RPi.GPIO-0.3.1a' in your working directory
        cd RPi.GPIO-0.3.1a/
        sudo python setup.py install
    Copy the file netio_server.py to your working directory
    Start the example by typing 'sudo python netio_server.py'
---------------------------------------------------------------------

Was soll man dir bitte dazu noch erklären, außer, dass du die absoluten 
Basics von Linux lernen solltest?
Du gehst auf die Seite, lädst das Archiv (also ZIP, 7z, oder was auch 
immer) runter, und entpackst es. Das kannst du über die GUI komfortabel 
erledigen.
Dann öffnest du das Terminal (dieses schwarze Ding), und gehst in das 
Verzeichnis rein, welches du gerade entpackt hast.
Das geht mit cd Verzeichnisname. cd steht für change directory.
Dort rufst du dann das Skript setup.py auf (du "startest" also ein 
"Programm"). Da du "Admin" (root) Rechte brauchst, schreibst du sudo 
davor. Und das install danach ist ein Parameter, das du dem Programm 
übergibst.
Dann klickst du ENTER und wartest.

Nun Schritt 2: Du ladest das Skript netio_server.py runter, und 
speicherst es wo auch immer du möchtest, am besten in deinem 
/home/benutzername Verzeichnis. Du öffnest wieder das magische schwarze 
Fenster, wechselst in das Verzeichnis mit dem nun bereits bekannten 
Befehl cd, und startest das Skript mit root Rechten, indem du sudo 
davorschreibst.

Einfacher kann ichs nicht beschreiben. Beschäftige dich bitte mit Linux 
Basics. Das ist nicht Windows 8 Klicki Bunti, eine minimale Einarbeitung 
ist in Linux nötig, da es ohne Shellkenntnisse nur halb so viel Spaß 
macht.

von gomany (Gast)


Lesenswert?

Danke für die schnelle Antwort schon mal.

Ja da hast Du recht das mir die Linux Basics fehlt. Will es aber lernen.

So und ich hab es nach der Anleitung gemacht. Nur bei sudo python 
setup.py install zeigt er mir immer wieder error an??? Und die datei 
server_netio.py soll ich ja in den sogenannten working directory 
kopieren. Ist das mein Desktop oder wie komme ich da rauf??? und beim 
starten von dem Netio_server.py zeigt er mir auch error an?

von Karl Käfer (Gast)


Lesenswert?

Hallo,

gomany schrieb:
> So und ich hab es nach der Anleitung gemacht. Nur bei sudo python
> setup.py install zeigt er mir immer wieder error an???

Ich weiß, das ist für Windows-Benutzer ein ganz neues, völlig 
ungewohntes Konzept, aber: unter Linux haben Fehlermeldungen durchaus 
einen Sinn und einen Inhalt, und sollten deswegen unbedingt gelesen 
werden. Auch bei der Beantwortung von Fragen zu einer Fehlermeldung ist 
es durchaus sinnvoll zu schreiben, was denn nun in der vermaledeiten 
Fehlermeldung steht. Also: welchen "error" zeigt er Dir an?

> Und die datei
> server_netio.py soll ich ja in den sogenannten working directory
> kopieren. Ist das mein Desktop oder wie komme ich da rauf???

Das "working directory" ist nichts anderes als die englische Bezeichnung 
für das aktuelle Arbeitsverzeichnis, das Du mit dem Befehl "pwd" (für 
"print working directory") abfragen kannst. Standardmäßig wird das 
Arbeitsverzeichnis auch in Deinem Shellprompt angezeigt, der etwa so 
aussieht:
1
benutzer@maschine:~/pfad$

Hier ist "~/pfad" das working directory. Dabei ist "~" ein Alias für das 
Homedirectory des Benutzers, und das working directory lautet dann also 
vollständig: "/home/benutzer/pfad".

Wenn Du Dich gerade frisch eingeloggt hast, ist das Arbeitsverzeichnis 
üblicherweise das Homedirectory des Benutzers, mit dem Du Dich 
angemeldet hast, für den Benutzer "pi" auf einem Raspbian-GNU/Linux wäre 
das dann "/home/pi". Wenn Du in Deiner Shell "cd" ohne Parameter 
eingibst, kommst Du immer wieder in dieses Homedirectory zurück.

> und beim starten von dem Netio_server.py zeigt er mir auch error an?

Siehe oben: welchen Fehler zeigt er Dir an?

HTH,
Karl

PS: Ein gutes Grundlagenbuch zu Linux ist "Linux" von Dr. Michael Kofler 
als gedrucktes Werk, oder das "Debian GNU/Linux Benutzerhandbuch" von 
Frank Ronneburg, welches Du unter http://debiananwenderhandbuch.de/ 
online lesen kannst. Zumindest Kapitel 3 des letztgenannten Werks 
solltest Du für die Basics unbedingt mal lesen und dabei ruhig auch ein 
wenig mit Deinem RasPi herumprobieren und -spielen. Wenn dabei etwas 
kaputt geht, ist das nicht schlimm: dann schreibst Du einfach ein neues 
Image auf die SD-Karte und fertig ist die Laube.

von gomany (Gast)


Lesenswert?

Hallo Karl Käfer,

ich denke das ich es mit dem Arbeitsverzeichnis verstanden habe:-)

Also ich kopiere jetzt mal das rein was ich in den LXTerminal 
reingeschrieben habe.



pi@raspberrypi ~ $ cd RPi.GPIO-0.5.4

pi@raspberrypi ~/RPi.GPIO-0.5.4 $ sudo python setup.py install
running install
running build
running build_py
creating build
creating build/lib.linux-armv6l-2.7
creating build/lib.linux-armv6l-2.7/RPi
copying RPi/__init__.py -> build/lib.linux-armv6l-2.7/RPi
running build_ext
building 'RPi.GPIO' extension
creating build/temp.linux-armv6l-2.7
creating build/temp.linux-armv6l-2.7/source
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall 
-Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c source/py_gpio.c 
-o build/temp.linux-armv6l-2.7/source/py_gpio.o
source/py_gpio.c:23:20: fatal error: Python.h: No such file or directory
compilation terminated.
error: command 'gcc' failed with exit status 1

pi@raspberrypi ~/RPi.GPIO-0.5.4 $ cd

pi@raspberrypi ~ $ sudo netio_server.py
sudo: netio_server.py: command not found

So sieht es grade bei mir aus! was mache ich falsch???


Und danke für den Tipp der Grundlagenbücher

von Karl Käfer (Gast)


Lesenswert?

Hallo gomany,

gomany schrieb:
> ich denke das ich es mit dem Arbeitsverzeichnis verstanden habe:-)

Prima.

> pi@raspberrypi ~/RPi.GPIO-0.5.4 $ sudo python setup.py install
> running install
> running build
> running build_py
> creating build
> creating build/lib.linux-armv6l-2.7
> creating build/lib.linux-armv6l-2.7/RPi
> copying RPi/__init__.py -> build/lib.linux-armv6l-2.7/RPi
> running build_ext
> building 'RPi.GPIO' extension
> creating build/temp.linux-armv6l-2.7
> creating build/temp.linux-armv6l-2.7/source
> gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall
> -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c source/py_gpio.c
> -o build/temp.linux-armv6l-2.7/source/py_gpio.o
> source/py_gpio.c:23:20: fatal error: Python.h: No such file or directory
> compilation terminated.

STOPP! Guckstu Fehler: die Datei Python.h konnte nicht gefunden, der 
Code deswegen nicht übersetzt und das Softwarepaket darum nicht 
installiert werden. Offensichtlich hast Du das Entwicklungspaket von 
Python nicht installiert. Das kannst Du mit
1
sudo apt-get install python-dev

nachholen und die Installation von RPi.GPIO dann neu anstoßen.

> pi@raspberrypi ~ $ sudo netio_server.py
> sudo: netio_server.py: command not found
>
> So sieht es grade bei mir aus! was mache ich falsch???

Aus Sicherheitsgründen ist das aktuelle Verzeichnis (.) nicht im PATH 
enthalten. Wenn Du das python-dev und RPi.GPIO installiert hast, benutze
1
sudo ./netio_server.py
. Das "./" sorgt dafür, daß die Shell im aktuellen Verzeichnis nach dem 
Programm sucht. Ach ja: wenn Du dabei die Fehlermeldung "permission 
denied" bekommst, mußt Du das Skript erst als ausführbare Datei 
markieren:
1
chmod a+x netio_server.py

Viel Spaß,
Karl

von gomany (Gast)


Lesenswert?

Hallo Karl Käfer,

also ich habe jetzt sogemacht, wie du es beschrieben hast.


pi@raspberrypi ~ $ sudo apt-get install python-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libexpat1-dev libssl-dev libssl-doc python2.7-dev
The following NEW packages will be installed:
  libexpat1-dev libssl-dev libssl-doc python-dev python2.7-dev
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 31.6 MB of archives.
After this operation, 42.2 MB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Get:1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main 
libexpat1-dev armhf 2.1.0-1+deb7u1 [210 kB]
Get:2 http://mirrordirector.raspbian.org/raspbian/ wheezy/main 
libssl-dev armhf 1.0.1e-2+rpi1 [1,500 kB]
Get:3 http://mirrordirector.raspbian.org/raspbian/ wheezy/main 
python-dev all 2.7.3-4+deb7u1 [920 B]
Get:4 http://mirrordirector.raspbian.org/raspbian/ wheezy/main 
libssl-doc all 1.0.1e-2+rpi1 [1,204 kB]
Get:5 http://mirrordirector.raspbian.org/raspbian/ wheezy/main 
python2.7-dev armhf 2.7.3-6 [28.7 MB]
Fetched 31.6 MB in 26s (1,192 kB/s)
Selecting previously unselected package libexpat1-dev.
(Reading database ... 69380 files and directories currently installed.)
Unpacking libexpat1-dev (from 
.../libexpat1-dev_2.1.0-1+deb7u1_armhf.deb) ...
Selecting previously unselected package libssl-dev.
Unpacking libssl-dev (from .../libssl-dev_1.0.1e-2+rpi1_armhf.deb) ...
Selecting previously unselected package libssl-doc.
Unpacking libssl-doc (from .../libssl-doc_1.0.1e-2+rpi1_all.deb) ...
Selecting previously unselected package python2.7-dev.
Unpacking python2.7-dev (from .../python2.7-dev_2.7.3-6_armhf.deb) ...
Selecting previously unselected package python-dev.
Unpacking python-dev (from .../python-dev_2.7.3-4+deb7u1_all.deb) ...
Processing triggers for man-db ...
Setting up libexpat1-dev (2.1.0-1+deb7u1) ...
Setting up libssl-dev (1.0.1e-2+rpi1) ...
Setting up libssl-doc (1.0.1e-2+rpi1) ...
Setting up python2.7-dev (2.7.3-6) ...
Setting up python-dev (2.7.3-4+deb7u1) ...

pi@raspberrypi ~ $ cd RPi.GPIO-0.5.4

pi@raspberrypi ~/RPi.GPIO-0.5.4 $ sudo python setup.py install
running install
running build
running build_py
running build_ext
building 'RPi.GPIO' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall 
-Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c source/py_gpio.c 
-o build/temp.linux-armv6l-2.7/source/py_gpio.o
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall 
-Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c source/c_gpio.c -o 
build/temp.linux-armv6l-2.7/source/c_gpio.o
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall 
-Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c source/cpuinfo.c 
-o build/temp.linux-armv6l-2.7/source/cpuinfo.o
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall 
-Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c 
source/event_gpio.c -o build/temp.linux-armv6l-2.7/source/event_gpio.o
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall 
-Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c source/soft_pwm.c 
-o build/temp.linux-armv6l-2.7/source/soft_pwm.o
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall 
-Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c source/py_pwm.c -o 
build/temp.linux-armv6l-2.7/source/py_pwm.o
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall 
-Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c source/common.c -o 
build/temp.linux-armv6l-2.7/source/common.o
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall 
-Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c source/constants.c 
-o build/temp.linux-armv6l-2.7/source/constants.o
gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro 
build/temp.linux-armv6l-2.7/source/py_gpio.o 
build/temp.linux-armv6l-2.7/source/c_gpio.o 
build/temp.linux-armv6l-2.7/source/cpuinfo.o 
build/temp.linux-armv6l-2.7/source/event_gpio.o 
build/temp.linux-armv6l-2.7/source/soft_pwm.o 
build/temp.linux-armv6l-2.7/source/py_pwm.o 
build/temp.linux-armv6l-2.7/source/common.o 
build/temp.linux-armv6l-2.7/source/constants.o -o 
build/lib.linux-armv6l-2.7/RPi/GPIO.so
running install_lib
creating /usr/local/lib/python2.7/dist-packages/RPi
copying build/lib.linux-armv6l-2.7/RPi/__init__.py -> 
/usr/local/lib/python2.7/dist-packages/RPi
copying build/lib.linux-armv6l-2.7/RPi/GPIO.so -> 
/usr/local/lib/python2.7/dist-packages/RPi
byte-compiling /usr/local/lib/python2.7/dist-packages/RPi/__init__.py to 
_init_.pyc
running install_egg_info
Writing /usr/local/lib/python2.7/dist-packages/RPi.GPIO-0.5.4.egg-info

pi@raspberrypi ~/RPi.GPIO-0.5.4 $ sudo ./netio_server.py
sudo: ./netio_server.py: command not found


habt doch jetzt alles installiert warum geht das jetzt nicht mit dem 
netio_server.py???

von Karl Käfer (Gast)


Lesenswert?

Hi gomany,

gomany schrieb:
> [...]

Super, die Installation von RPi.GPIO ist jetzt also also auch sauber 
durchgelaufen. Dann steht dem Vergnügen ja nichts mehr im Wege... ...

> pi@raspberrypi ~/RPi.GPIO-0.5.4 $ sudo ./netio_server.py
> sudo: ./netio_server.py: command not found
>
> habt doch jetzt alles installiert warum geht das jetzt nicht mit dem
> netio_server.py???

Flashces Verzeichnis, Du bist immer noch im Installationsverzeichnis von 
RPi.GPIO. Einmal "cd" eingeben und dann nochmal.

Wußtest Du eigentlich schon, daß Du durch Drücken der [PfeilHoch]-Taste 
die letzten eingegebenen Befehle zurückholen kannst? Und dann gib' doch 
mal in Deinem Homeverzeichnis "sudo ./neti" ein und drück' die 
Tabulator-Taste... ;-)

LG,
Karl

von gomany (Gast)


Lesenswert?

Moin Karl Käfer,

also ich hab es jetzt so gemacht wie du es gesagt hast aber ohne 
erfolg...


pi@raspberrypi ~/RPi.GPIO-0.5.4 $ cd

pi@raspberrypi ~ $ cd


pi@raspberrypi ~ $ sudo ./netio_server.py
sudo: ./netio_server.py: command not found


Mit dem PfeilHoch wusste ich garnicht. Danke für den hinweis...

mit der Tabulator-Taste geht es auch nicht :-(

von Karl Käfer (Gast)


Lesenswert?

Hi gomany,

gomany schrieb:
> pi@raspberrypi ~/RPi.GPIO-0.5.4 $ cd
> pi@raspberrypi ~ $ cd
> pi@raspberrypi ~ $ sudo ./netio_server.py
> sudo: ./netio_server.py: command not found
>
> Mit dem PfeilHoch wusste ich garnicht. Danke für den hinweis...
> mit der Tabulator-Taste geht es auch nicht :-(

Die so genannte Tab Completion funktioniert natürlich nur dann, wenn die 
Datei da ist, wo sie sein soll. Aber leider liegt die Datei gar nicht in 
Deinem Homeverzeichnis. Wohin hast Du sie denn gespeichert?

Wie dem auch sei, probier doch mal Folgendes:
1
wget 'http://netio.davideickhoff.de/media/projects/raspberry/netio_server.py'
2
sudo python netio_server.py

Mit dem wget(1)-Befehl lädtst Du die Datei ins aktuelle Verzeichnis 
herunter, und die zweite Zeile ruft den Python-Interpreter mit dem 
heruntergeladenen Skript auf.

Achtung: "sudo ./netio_server.py" wird immer noch nicht funktionieren. 
Dazu müssen die Windows-Zeilenumbrüche "\r\n" in UNIX-Umbrüche "\n" 
umgewandelt werden. Ein wohlerzogenens Skript würde auch am Ende noch 
"GPIO.cleanup()" aufrufen, um die benutzten Ressourcen damit wieder 
freizugeben. Aber eins nach dem anderen.

Liebe Grüße,
Karl

von gomany (Gast)


Lesenswert?

Moin Karl Käfer,

Bin leider unterwegs und kann es erst Nachmittag ausprobieren.:-(

Aber ich weiß aus dem Kopf heraus das ich die netio_server.py Datei im 
Verzeichnis /home/Pi gespeichert habe! Weil das doch mein 
Arbeitsverzeichnis ist oder verstehe ich es jetzt doch falsch?


Und kannst du mir erklären wie du das meinst mit dem 
Windows-Zeilenumbrüche in UNIX-Umbrüche?:-D

Hätte nicht gedacht das es so kompliziert ist;-)

Gomany

von Karlo (Gast)


Lesenswert?

Ein sehr mächtiger Befehl unter Unix/Linux:
1
ls -l

Damit musst du nicht mehr raten welche Dateien wo liegen, sondern kannst 
direkt nachschauen! In Verbindung mit
1
cd
 noch toller.

von gomany (Gast)


Lesenswert?

Moinsen,

also ich hab so gemacht wie Karl Käfer es beschrieben hat. Da kam 
fogendes raus.


pi@raspberrypi ~ $ wget 
'http://netio.davideickhoff.de/media/projects/raspberry/netio_server.py';
--2014-02-12 14:37:03-- 
http://netio.davideickhoff.de/media/projects/raspberry/netio_server.py
Resolving netio.davideickhoff.de (netio.davideickhoff.de)... 
188.40.180.242
Connecting to netio.davideickhoff.de 
(netio.davideickhoff.de)|188.40.180.242|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2361 (2.3K) [text/plain]
Saving to: `netio_server.py'

100%[======================================>] 2,361       --.-K/s   in 
0s

2014-02-12 14:37:03 (25.6 MB/s) - `netio_server.py' saved [2361/2361]


pi@raspberrypi ~ $ sudo python netio_server.py'
>
>

ist das jetzt richtig? hab ich jetzt den server gestartet und könnte 
jetzt mit dem Iphone GPIO PIN Steuern? Oder muss ich noch was mit 
Windows Zeilenumbrüche/UNIX Umbrüche machen



Zu Karlo: bei deinem Hinweis zeigt er mir das an!

pi@raspberrypi ~ $ ls -l
total 144
drwxr-xr-x 3 pi   pi    4096 Feb 11 14:53 Desktop
drwxr-xr-x 4 pi   pi    4096 Feb  8 19:50 indiecity
-rw-r--r-- 1 root root 73359 Feb  8 14:23 install-rtl8188cus-latest.sh
-rw------- 1 pi   pi       1 Feb 10 18:26 nano.save
-rw------- 1 pi   pi       1 Feb 10 18:28 nano.save.1
-rw------- 1 pi   pi       4 Feb 10 18:34 nano.save.2
-rw------- 1 pi   pi     675 Feb 10 18:37 nano.save.3
-rw-r--r-- 1 pi   pi    2361 Feb  3  2013 netio_server.py
-rw-r--r-- 1 pi   pi    2361 Feb 10 20:10 netio_server.py~
-rw-r--r-- 1 pi   pi    5781 Feb  3  2013 ocr_pi.png
drwxrwxr-x 2 pi   pi    4096 Mar 10  2013 python_games
drwxr-xr-x 6 pi   pi    4096 Feb 11 17:09 RPi.GPIO-0.5.4
-rw-r--r-- 1 pi   pi   18564 Feb 11 14:52 RPi.GPIO-0.5.4.tar.gz
drwxr-xr-x 8 root root  4096 Feb 10 15:02 wiringPi


ich sehe jetzt die netio_server.py aber woran sehe ich denn jetzt das 
Verzeichnis?


Danke euch beiden schonmal für eure Hilfe:-)

von gomany (Gast)


Lesenswert?

Bei dem Befehl zeigt er mir nur das an

pi@raspberrypi ~ $ cd
pi@raspberrypi ~ $ sudo python netio_server.py
Traceback (most recent call last):
  File "netio_server.py", line 11, in <module>
    GPIO.setmode(GPIO.BCM)
AttributeError: 'module' object has no attribute 'setmode'
pi@raspberrypi ~ $

von 65536 (Gast)


Lesenswert?

Hehehe, nomany ist der lebende Beweis, dass die Raspberry-Fanboys den 
Arduino-Jüngern fachlich in nichts nachstehen ;)

von gomany (Gast)


Lesenswert?

Na keiner eine Idee wie es Vllt gehen könnte damit ich auch mal froh 
sein kann was erreicht zu haben???:-(

von Karl Käfer (Gast)


Lesenswert?

Hallo gomany,

sorry, mußte mich zwischendurch um einen Server kümmern, der einen 
kleinen Schluckauf hatte.

gomany schrieb:
> Bei dem Befehl zeigt er mir nur das an
>
> pi@raspberrypi ~ $ cd
> pi@raspberrypi ~ $ sudo python netio_server.py
> Traceback (most recent call last):
>   File "netio_server.py", line 11, in <module>
>     GPIO.setmode(GPIO.BCM)
> AttributeError: 'module' object has no attribute 'setmode'
> pi@raspberrypi ~ $

Bizarr. Bitte gib' Folgendes in Deine Shell ein:
1
python -c 'import RPi.GPIO; print dir(RPi.GPIO)'

damit wir herausfinden, welche Version von RPi.GPIO-Moduls Du 
installiert hat.

Dann gibst Du
1
sudo apt-get update
2
sudo apt-get -y dist-upgrade
3
sudo /sbin/reboot

ein, um erst die Quellen des Paketmanagers und danach das gesamte System 
zu aktualisieren. Die ersten beiden Befehle können eine Weile dauern, 
der letzte rebootet das System.

Dann gibst Du bitte nochmal
1
python -c 'import RPi.GPIO; print dir(RPi.GPIO)'

ein, damit wir sehen können, ob sich da etwas getan hat.

HTH,
Karl

von gomany (Gast)


Lesenswert?

Hallo Karlo Käfer,

Freut mich das du mir weiter hilfst.

Mal eine Frage zuvor

Karlo schrieb:
Bizarr. Bitte gib' Folgendes in Deine Shell ein:

Die Shell ist doch mein LX Terminal oder ? Weil da zeigt er mir keine 
Version an

von Karl Käfer (Gast)


Lesenswert?

Hallo gomany,

gomany schrieb:
> Die Shell ist doch mein LX Terminal oder ? Weil da zeigt er mir keine
> Version an

Ja, die Shell ist LX Terminal. Der gibt da überhaupt gar nichts aus? 
Hast Du mal ein Update gemacht?

LG,
Karl

von Karl Käfer (Gast)


Lesenswert?

Karl Käfer schrieb:
> Hallo gomany,
>
> gomany schrieb:
>> Die Shell ist doch mein LX Terminal oder ? Weil da zeigt er mir keine
>> Version an
>
> Ja, die Shell ist LX Terminal. Der gibt da überhaupt gar nichts aus?
> Hast Du mal ein Update gemacht?

Oh, ich seh' gerade: mein Fehler, sorry. Statt
1
python -c 'import RPi.GPIO; print dir(RPi.GPIO)'
 bitte
1
python -c 'import RPi.GPIO; print RPi.GPIO.VERSION'
 eingeben.

> LG,
> Karl

von gomany (Gast)


Lesenswert?

Hallo Karlo Käfer,

Okay dann habe ich es ja richtig verstanden mit der Shell.

Bei der eingabe von: python -c 'import RPi.GPIO; print 
RPi.GPIO.VERSION'kam da folgendes raus.



pi@raspberrypi ~ $ python -c 'import RPi.GPIO; print RPi.GPIO.VERSION'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
AttributeError: 'module' object has no attribute 'VERSION'
pi@raspberrypi ~ $


Scheint mir so das ich da noch vergessen habe was zu installieren???

Gruß gomany

von Karl Käfer (Gast)


Lesenswert?

Hi gomany,

gomany schrieb:
> pi@raspberrypi ~ $ python -c 'import RPi.GPIO; print RPi.GPIO.VERSION'
> Traceback (most recent call last):
>   File "<string>", line 1, in <module>
> AttributeError: 'module' object has no attribute 'VERSION'
> pi@raspberrypi ~ $
>
> Scheint mir so das ich da noch vergessen habe was zu installieren???

Ja, die Updates. ;-)

Habe gerade mal ins Changelog von RPi.GPIO im Python Package Index 
(https://pypi.python.org/pypi/RPi.GPIO) geschaut: die Variable VERSION 
wurde dem Modul in Version 0.4.1a hinzugefügt.

Das Modul ist jedenfalls zweifellos installiert, sonst hätte schon der 
erste Befehl
1
import RPi.GPIO
 einen ImportError geworfen. Das heißt: das Modul ist vorhanden und kann 
geladen werden. Der zweite Befehl
1
print RPi.GPIO.VERSION
 hingegen wirft einen AttributeError, weil das geladene Modul die 
Variable VERSION nicht kennt.

Um ganz sicher zu gehen, gibt bitte noch
1
dpkg -l '*rpi.gpio'
 ein und poste die Ausgabe. Und dann, bitte, mach endlich ein Update mit 
den Befehlen, die ich oben beschrieben habe.

Liebe Grüße,
Karl

von gomany (Gast)


Lesenswert?

Hallo Karlo Käfer,

bei der eingabe von dpkg -l '*rpi.gpio' kam folgendes raus:


pi@raspberrypi ~ $ dpkg -l '*rpi.gpio'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig- pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=========================== 
======
ii  python-rpi.gpi 0.5.4-1      armhf        Python GPIO module for 
Raspberry
ii  python3-rpi.gp 0.5.4-1      armhf        Python 3 GPIO module for 
Raspberr


Gruß gomany

von Karl Käfer (Gast)


Lesenswert?

Hi gomany,

gomany schrieb:
> pi@raspberrypi ~ $ dpkg -l '*rpi.gpio'
> [...]
> ii  python-rpi.gpi 0.5.4-1      armhf        Python GPIO module for
> Raspberry

Dann hast Du aber zwischendurch ein Update gemacht, oder? Wenn nicht, 
ist jetzt der richtige Zeitpunkt. Und wenn Du das Update gemacht hast, 
dann probier das heruntergeladene Skript nochmal mit
1
sudo python netio_server.py

LG,
Karl

von gomany (Gast)


Lesenswert?

Hi Karl Käfer,

ja es stimmt ich habe zwischendurch schonmal ein update gemacht. Habe es 
ebend grade wieder durchgeführt und nach dem Befehl sudo python 
netio_server.py kam folgende Meldung.


pi@raspberrypi ~ $ sudo python netio_server.py
Traceback (most recent call last):
  File "netio_server.py", line 11, in <module>
    GPIO.setmode(GPIO.BCM)
AttributeError: 'module' object has no attribute 'setmode'


Gruß gomany

von Karl Käfer (Gast)


Angehängte Dateien:

Lesenswert?

Hi gomany,

gomany schrieb:
> ja es stimmt ich habe zwischendurch schonmal ein update gemacht. Habe es
> ebend grade wieder durchgeführt und nach dem Befehl sudo python
> netio_server.py kam folgende Meldung.
>
> pi@raspberrypi ~ $ sudo python netio_server.py
> Traceback (most recent call last):
>   File "netio_server.py", line 11, in <module>
>     GPIO.setmode(GPIO.BCM)
> AttributeError: 'module' object has no attribute 'setmode'

Potztausend, das ist wirklich seltsam. Ok, dann müssen wir wohl mal mit 
ein wenig Gewalt arbyten:
1
sudo apt-get purge python-rpi.gpio python3-rpi.gpio
2
sudo apt-get install python-rpi.gpio python3-rpi.gpio

...und dann nimmst Du bitte mal die im Anhang befindliche 
netio_server.py, die die korrekten Zeilenumbrüche, ein wenig 
Debugging-Code und auch sonst ein paar kleinere Verbesserungen hat.

HTH,
Karl

von gomany (Gast)


Lesenswert?

Hi Karl Käfer.

also ich hab es nach deiner Beschreibung getan.


pi@raspberrypi ~ $ sudo apt-get purge python-rpi.gpio python3-rpi.gpio
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  python-rpi.gpio* python3-rpi.gpio*
0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
After this operation, 249 kB disk space will be freed.
Do you want to continue [Y/n]? Y
(Reading database ... 70932 files and directories currently installed.)
Removing python-rpi.gpio ...
Removing python3-rpi.gpio ...


pi@raspberrypi ~ $ sudo apt-get install python-rpi.gpio python3-rpi.gpio
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  python-rpi.gpio python3-rpi.gpio
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 61.0 kB of archives.
After this operation, 249 kB of additional disk space will be used.
Get:1 http://archive.raspberrypi.org/debian/ wheezy/main python-rpi.gpio 
armhf 0.5.4-1 [38.3 kB]
Get:2 http://archive.raspberrypi.org/debian/ wheezy/main 
python3-rpi.gpio armhf 0.5.4-1 [22.7 kB]
Fetched 61.0 kB in 1s (52.3 kB/s)
Selecting previously unselected package python-rpi.gpio.
(Reading database ... 70905 files and directories currently installed.)
Unpacking python-rpi.gpio (from .../python-rpi.gpio_0.5.4-1_armhf.deb) 
...
Selecting previously unselected package python3-rpi.gpio.
Unpacking python3-rpi.gpio (from .../python3-rpi.gpio_0.5.4-1_armhf.deb) 
...
Setting up python-rpi.gpio (0.5.4-1) ...
Setting up python3-rpi.gpio (0.5.4-1) ...



pi@raspberrypi ~ $ sudo python netio_server.py
start
imported RPi.GPIO, dir() => ['IN', 'InvalidDirectionException', 
'InvalidPinException', 'OUT', 'WrongDirectionException', '_ExportedIds', 
'_GPIO_PINS', '_GetValidId', '__builtins__', '__doc__', '__file__', 
'__name__', '__package__', '__path__', '_unexport', 'atexit', 'input', 
'os', 'output', 'setup']
Traceback (most recent call last):
  File "netio_server.py", line 21, in <module>
    GPIO.setmode(GPIO.BCM)
AttributeError: 'module' object has no attribute 'setmode'


Scheint mir so das sich beim sudo python netio_server.py eingeben was 
getan hat, aber irgendein problem noch vorhanden ist?

Gruß gomany

von gomany (Gast)


Lesenswert?

So hab es endlich geschafft :-)))

Hab jetzt in der Shell sudo easy_install -U RPi.GPIO eingetragen und 
nachdem die version Aktualisiert wurde, ging nach dem Befehl sudo python 
netio_server.py die LED an. :-D

Hab nur das problem das beim App Netio ich die LED Aus/Einschalten 
möchte es aber nicht funktioniert?


Ein großen Dank schonmal an Karl Käfer!!!

Gruß gomany

von Karl Käfer (Gast)


Lesenswert?

Hi gomany,

gomany schrieb:
> pi@raspberrypi ~ $ sudo python netio_server.py
> start
> imported RPi.GPIO, dir() => ['IN', 'InvalidDirectionException',
> 'InvalidPinException', 'OUT', 'WrongDirectionException', '_ExportedIds',
> '_GPIO_PINS', '_GetValidId', '__builtins__', '__doc__', '__file__',
> '__name__', '__package__', '__path__', '_unexport', 'atexit', 'input',
> 'os', 'output', 'setup']
> Traceback (most recent call last):
>   File "netio_server.py", line 21, in <module>
>     GPIO.setmode(GPIO.BCM)
> AttributeError: 'module' object has no attribute 'setmode'
>
> Scheint mir so das sich beim sudo python netio_server.py eingeben was
> getan hat, aber irgendein problem noch vorhanden ist?

Das was sich getan hat, ist nur die Debug-Ausgabe, die ich hinzugefügt 
habe. Wenn Du in das Skript hineinschaust, findest Du oben eine Zeile
1
DEBUG = 1
 -- wenn Du da statt der "1" eine "0" hinschreibst, gibt er die 
Debug-Ausgaben nicht mehr aus.

Merkwürdig ist, daß das Python-Modul aus dem Raspbian-Repository bei Dir 
offensichtlich immer noch kaputt ist, während dasselbe Modul aus 
derselben Quelle bei mir tadellos funktioniert. Daß Du es mit 
easy_install aus dem Python Package Index installieren konntest, behebt 
nun zwar Dein Problem, erklärt diese Merkwürdigkeit aber leider nicht. 
Eventül hattest Du früher schonmal manuell eine ältere Version 
installiert -- vielleicht die 0.3.1a von der das von Dir genutzte 
Tutorial spricht?

Wie dem auch sei, jetzt scheint es ja zu funktionieren. Das bedeutet, Du 
hast jetzt die richtige Version des Python-Moduls und die wird auch 
geladen. Viel Spaß beim Spielen!

Liebe Grüße,
Karl

von Finanz (Gast)


Lesenswert?

Hi Karl Käfer,

Das heißt jetzt, mit deinem Programm netio_server.py kann ich ein 
Ausgang ein oder ausschalten aber das geht nicht über netio App?



Du kannst recht haben, das ich mir Manuell 0.3.1a gedownloadet habe, 
kann ich das irgendwo sehen und auch löschen das ich nicht zwei GIPO 
Systeme drauf habe ?

Danke dir :-))

Gruß gomany

von Karl Käfer (Gast)


Lesenswert?

Hallo,

Finanz schrieb:
> Das heißt jetzt, mit deinem Programm netio_server.py kann ich ein
> Ausgang ein oder ausschalten aber das geht nicht über netio App?

Ich habe der Client-Server-Kommunikation lediglich Zeilenumbrüche 
hinzugefügt, damit ich das mit dem netcat(1)-Programm übersichtlicher 
steuern konnte. Keine Ahnung, ob die App (welche App?) diese Umbrüche 
toleriert oder nicht.

> Du kannst recht haben, das ich mir Manuell 0.3.1a gedownloadet habe,
> kann ich das irgendwo sehen und auch löschen das ich nicht zwei GIPO
> Systeme drauf habe ?

Die neue Installation eines aktuellen PyPI-Pakets sollte die alte 
Version jetzt bereits überschrieben haben.

HTH,
Karl

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.