Author Topic: ip_connection fail  (Read 330 times)

Malik

  • Jr. Member
  • **
  • Posts: 79
    • View Profile
ip_connection fail
« on: August 19, 2019, 19:41:21 »
Ich bin jetzt mit meinem Latein am Ende...

Ich will auf meinem RasPi Zero folgendes zum Laufen bringen (Brick mit VoltageCurrentBricklet hängt am RasPi, eingeloggt über ssh vom PC):
Code: [Select]
#!/usr/bin/env python
# -*- coding: utf-8 -*-

HOST = "localhost"
PORT = 4223
UID = "dcs" # Change XYZ to the UID of your Voltage/Current Bricklet 2.0

from tinkerforge.ip_connection import IPConnection
from tinkerforge.bricklet_voltage_current import BrickletVoltageCurrent

if __name__ == "__main__":
    ipcon = IPConnection() # Create IP connection
    vc = BrickletVoltageCurrent(UID, ipcon) # Create device object

    ipcon.connect(HOST, PORT) # Connect to brickd
    # Don't use device before ipcon is connected

    # Get current voltage
    voltage = vc.get_voltage()
    print("Voltage: " + str(voltage/1000.0) + " V")

    # Get current current
    current = vc.get_current()
    print("Current: " + str(current/1000.0) + " A")

    input("Press key to exit\n") # Use input() in Python 3
    ipcon.disconnect()

Obwohl die Python-Bindings installiert sind (mit pip3) und der BrickD läuft, kommt immer die Fehlermeldung:

pi@raspberrypi:~ $ python3 example_voltagecurrent.py
Traceback (most recent call last):
  File "example_voltagecurrent.py", line 19, in <module>
    voltage = vc.get_voltage()
  File "/home/pi/.local/lib/python3.7/site-packages/tinkerforge/bricklet_voltage_current.py", line 140, in get_voltage
    return self.ipcon.send_request(self, BrickletVoltageCurrent.FUNCTION_GET_VOLTAGE, (), '', 'i')
  File "/home/pi/.local/lib/python3.7/site-packages/tinkerforge/ip_connection.py", line 1195, in send_request
    raise Error(Error.TIMEOUT, msg, suppress_context=True)
tinkerforge.ip_connection.Error: Did not receive response for function 2 in time (-1)

Komischerweise funktioniert das Script, wenn ich den Brick an meinen Windows-PC anschließe.

photron

  • Tinkerforge Staff
  • Administrator
  • Hero Member
  • *****
  • Posts: 2.467
    • View Profile
Re: ip_connection fail
« Reply #1 on: August 19, 2019, 20:16:38 »
Leuchten die LEDs des Bricks, wenn du den Brick an das Raspberry Pi abschließt?

Findet brickd den Brick am Raspberry Pi laut /var/log/brickd.log?

Ändert sich die Ausgabe von "lsusb" auf dem Raspberry Pi zwischen der Brick ist an USB angeschlossen und der Brick ist nicht an USB angeschlossen?

Was sagt "dmesg -w" auf dem Raspberry Pi wenn du den Brick an USB an- und absteckst? Da sollen beim An- und Abstecken Meldungen über das An- und Abstecken einen USB Devices kommen. Alternativ kommen da Fehlermeldungen zu USB.

Malik

  • Jr. Member
  • **
  • Posts: 79
    • View Profile
Re: ip_connection fail
« Reply #2 on: August 20, 2019, 17:34:15 »
So, einiges ausprobiert, leider ohne anderes Ergebnis.
Ich hatte gestern übrigens Raspbian Lite neu installiert, update/upgrade durchgeführt, dann pip3, die API und BrickD installiert.

Quote
Leuchten die LEDs des Bricks, wenn du den Brick an das Raspberry Pi abschließt?
Ja
Quote
Findet brickd den Brick am Raspberry Pi laut /var/log/brickd.log?
Nein, hier die beiden Zeilen von heute:
Quote
2019-08-20 16:51:53.090087 <I> <main_linux.c:334> Brick Daemon 2.4.0 started (pid: 258, daemonized: 1)
2019-08-20 17:02:31.204360 <I> <main_linux.c:334> Brick Daemon 2.4.0 started (pid: 238, daemonized: 1)

Quote
Ändert sich die Ausgabe von "lsusb" auf dem Raspberry Pi zwischen der Brick ist an USB angeschlossen und der Brick ist nicht an USB angeschlossen?
Nein, es bleibt so wie unten
Quote
pi@raspberrypi:~ $ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Quote
Was sagt "dmesg -w" auf dem Raspberry Pi wenn du den Brick an USB an- und absteckst? Da sollen beim An- und Abstecken Meldungen über das An- und Abstecken einen USB Devices kommen. Alternativ kommen da Fehlermeldungen zu USB.
Ab- und Anstecken ist keine gute Idee. Beim Anstecken startet der RasPi neu. Beim Abstecken kommt keine Meldung

photron

  • Tinkerforge Staff
  • Administrator
  • Hero Member
  • *****
  • Posts: 2.467
    • View Profile
Re: ip_connection fail
« Reply #3 on: August 20, 2019, 20:09:49 »
Ich denke das hat nichts mit Brick Daemon oder Raspbian zu tun.

Der Brick tauch als USB Device nicht auf, daher listet lsusb ihn nicht auf. Dadurch kann Brick Daemon ihn dann auch gar nicht finden. Daher auch keine Meldungen im brickd.log.

Wenn beim Anstecken des Bricks an USB das Raspberry Pi neustartet, dann würde ich auf eine zu schwache Stromversorgung des Raspberry Pis tippen. Die zusätzliche Stromaufnahmen des Bricks lässt die Spannungsversorgung einbrechen.

Alternative hat das Mini-USB-zu-Micro-USB-Kabel zwischen Brick und Raspberry Pi Zero eine Macke. Oder wie verbindest du die beiden?

Ich bekomme hier gerade mein Raspberry Pi Zero nicht ins WLAN, daher kann ich das gerade nicht testen.

Malik

  • Jr. Member
  • **
  • Posts: 79
    • View Profile
Re: ip_connection fail
« Reply #4 on: August 20, 2019, 21:15:41 »
Kaum zu glauben, aber es ist das Kabel...

Habe jetzt ein Mini-USB zu USB-A Kabel mit einem Adapter (Shim) USB-A zu Micro-USB - und es funktioniert.

Danke für die Hilfe!