Jump to content

MaxMustermann

Members
  • Gesamte Inhalte

    8
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von MaxMustermann

  1. Moin Markus, das Script läuft unter Python 3.7.3. Manuell gestartet ist alles prima sowohl im Eingabefenster <python MyFirstScript.py> als auch unter Thonny 3.3.0, welches ebenfalls auf Python 3.7.3 zugreift. Nur in Verbindung mit dem Autostart kommt es zu den beschriebenen Fehlern (siehe Logfile). Was ist denn eine Virtualenvironment? Ich weiß, dass solche Fragen für Profis oft schwer zu ertragen sind. Aber nur wer fragt lernt auch etwas. Danke und beste Grüße Max
  2. Hallo Markus, vielen Dank für deine Hinweise und Tipps. Die tinkerforge bindings sind installiert. Ich nehme mal an, dass ohne die bindings das Python Script nicht laufen würde. Dies tut es, wenn ich es manuell starte. Die Fehlermeldung im Logfile zeigt auf Zeile 12 im Script beginnend mit <from ...> . Auch wenn ich die Reihenfolge der from-Aufrufe verändere, beschwert sich das Logfile immer an Zeile 12. Es muss also an dem Aufruf <from> liegen. Was könnten die Ursachen dafür sein? Punkt 2.) habe ich umgesetzt. <import threading> funktioniert genauso wie <import time>. Was ist der Vorteil deines Vorschlags? Mit dem Robusten Ansatz werde ich mich in den kommenden Tagen auseinandersetzen und erst einmal an einem kleineren Script mit wenig Funktionalität üben. Eine Anwendung, die möglichst robust gegenüber Störungen in der Kommunikation ist, wäre mir auch wichtig. Danke für den Tipp! Viele Grüße Max
  3. Liebe Tinkerforge Community, nun habe ich mein erstes Python Script erstellt und die Funktionen der einzelnen Bausteine verifiziert. Sicher gibt es da noch einiges an Verbesserungsmöglichkeiten aber es tut was es soll und das ist für mich als Maschinenbauer, Ende Fünfzig schon einmal ein Erfolg. Über Hinweise und Tipps freue ich mich natürlich. Nun hätte ich es gern so, dass wenn der Raspberry Pi startet das Script ebenfalls gestartet wird. Von den vielen Methoden dies zu erreichen habe ich zwei ausprobiert (rc.local und systemd) mit ähnlichem Misserfolg. In die rc.local habe ich folgende Zeile vor exit 0 eingetragen: python /home/pi/MyFirstScript.py >/tmp/MyFirstScript.log 2>&1 & Die im Verzeichnis tmp erstellte Datei MyFirstScript.log liefert folgendes: Traceback (most recent call last): File "/home/pi/MyFirstScript.py", line 12, in <module> from tinkerforge.ip_connection import IPConnection ImportError: No module named tinkerforge.ip_connection Bei der Methode systemd listet der Befehl sudo systemctl status myscript.service eine ähnliche Fehlermeldung. Sicher habt ihr dafür Lösungsvorschläge. Vielen Dank im voraus! Euer Max Mustermann MyFirstScript.py
  4. So, nun habe ich einen neuen Raspberry Pi und tata: Der HAT Brick funzt! Da muss ich wohl durch eine fehlerhafte Verdrahtung mir die Kommunikationsschnittstelle zerlegt haben. Habe nun auch den Kernel wieder auf den Stand 5.4.71 gebracht und alle Einstellungen zum Test wieder auf den Ausgangszustand gebracht. Der Ordner proc/device-tree/hat/ ist auch da. Die Firmware des HAT Brick war schon 2.0.2. Das hat zwar Zeit und einen neuen Raspberry Pi gekostet, aber ich habe einiges gelernt und hat auch Spaß gemacht. Nochmal vielen Dank für die Unterstützung! Beste Grüße Max
  5. Danke für eure Mühen! Den Brick Daemon habe ich gestoppt und im Debug-Modus neu gestartet. Die Ausgabe ist für mich Hard Staff: pi@raspberrypi:~ $ sudo brickd --debug 2020-11-09 17:37:46.911132 <I> <main_linux.c:334> Brick Daemon 2.4.1 started (pid: 2251, daemonized: 0) 2020-11-09 17:37:46.911532 <D> <main_linux.c:342> Using config file: /etc/brickd.conf 2020-11-09 17:37:46.911618 <D> <main_linux.c:348> Using PID file: /var/run/brickd.pid 2020-11-09 17:37:46.911753 <D> <event.c:60> Initializing event subsystem 2020-11-09 17:37:46.911873 <D> <event|event.c:270> Added generic event source (handle: 5, name: event-stop, events: 0x0001) at index 0 2020-11-09 17:37:46.911945 <D> <event|event.c:270> Added generic event source (handle: 7, name: signal, events: 0x0001) at index 1 2020-11-09 17:37:46.912015 <D> <hardware.c:39> Initializing hardware subsystem 2020-11-09 17:37:46.912091 <D> <usb.c:258> Initializing USB subsystem 2020-11-09 17:37:46.912197 <D> <usb_posix.c:151> Successfully loaded brickd (for libusb symbols) [timestamp] [threadID] facility level [function call] <message> -------------------------------------------------------------------------------- [ 0.000051] [000008cb] libusb: debug [libusb_init] created default context [ 0.000218] [000008cb] libusb: debug [libusb_init] libusb v1.0.22.11312 [ 0.000413] [000008cb] libusb: debug [find_usbfs_path] found usbfs at /dev/bus/usb [ 0.000525] [000008cb] libusb: debug [get_kernel_version] reported kernel version is 4.19.118-v7+ [ 0.000604] [000008cb] libusb: debug [op_init] bulk continuation flag supported [ 0.000674] [000008cb] libusb: debug [op_init] zero length packet flag supported [ 0.000746] [000008cb] libusb: debug [op_init] max iso packet length is (likely) 49152 bytes [ 0.000860] [000008cb] libusb: debug [op_init] sysfs can relate devices [ 0.000930] [000008cb] libusb: debug [op_init] sysfs has complete descriptors [ 0.001858] [000008cc] libusb: debug [linux_udev_event_thread_main] udev event thread entering. [ 0.008839] [000008cb] libusb: debug [linux_get_device_address] getting address for device: usb1 detached: 0 [ 0.008910] [000008cb] libusb: debug [linux_get_device_address] scan usb1 [ 0.009091] [000008cb] libusb: debug [linux_get_device_address] bus=1 dev=1 [ 0.009136] [000008cb] libusb: debug [linux_enumerate_device] busnum 1 devaddr 1 session_id 257 [ 0.009175] [000008cb] libusb: debug [linux_enumerate_device] allocating new device for 1/1 (session 257) [ 0.009679] [000008cb] libusb: debug [linux_get_device_address] getting address for device: 1-1 detached: 0 [ 0.009726] [000008cb] libusb: debug [linux_get_device_address] scan 1-1 [ 0.009856] [000008cb] libusb: debug [linux_get_device_address] bus=1 dev=2 [ 0.009896] [000008cb] libusb: debug [linux_enumerate_device] busnum 1 devaddr 2 session_id 258 [ 0.009933] [000008cb] libusb: debug [linux_enumerate_device] allocating new device for 1/2 (session 258) [ 0.010085] [000008cb] libusb: debug [linux_get_parent_info] Dev 0x100fa08 (1-1) has parent 0x100f900 (usb1) port 1 [ 0.010473] [000008cb] libusb: debug [linux_get_device_address] getting address for device: 1-1.1 detached: 0 [ 0.010513] [000008cb] libusb: debug [linux_get_device_address] scan 1-1.1 [ 0.010644] [000008cb] libusb: debug [linux_get_device_address] bus=1 dev=3 [ 0.010684] [000008cb] libusb: debug [linux_enumerate_device] busnum 1 devaddr 3 session_id 259 [ 0.010719] [000008cb] libusb: debug [linux_enumerate_device] allocating new device for 1/3 (session 259) [ 0.010847] [000008cb] libusb: debug [linux_get_parent_info] Dev 0xffb360 (1-1.1) has parent 0x100fa08 (1-1) port 1 [ 0.011249] [000008cb] libusb: debug [linux_get_device_address] getting address for device: 1-1.2 detached: 0 [ 0.011295] [000008cb] libusb: debug [linux_get_device_address] scan 1-1.2 [ 0.011430] [000008cb] libusb: debug [linux_get_device_address] bus=1 dev=4 [ 0.011472] [000008cb] libusb: debug [linux_enumerate_device] busnum 1 devaddr 4 session_id 260 [ 0.011507] [000008cb] libusb: debug [linux_enumerate_device] allocating new device for 1/4 (session 260) [ 0.011634] [000008cb] libusb: debug [linux_get_parent_info] Dev 0xffb958 (1-1.2) has parent 0x100fa08 (1-1) port 2 [ 0.011970] [000008cb] libusb: debug [linux_get_device_address] getting address for device: 1-1.3 detached: 0 [ 0.012016] [000008cb] libusb: debug [linux_get_device_address] scan 1-1.3 [ 0.012152] [000008cb] libusb: debug [linux_get_device_address] bus=1 dev=5 [ 0.012192] [000008cb] libusb: debug [linux_enumerate_device] busnum 1 devaddr 5 session_id 261 [ 0.012227] [000008cb] libusb: debug [linux_enumerate_device] allocating new device for 1/5 (session 261) [ 0.012354] [000008cb] libusb: debug [linux_get_parent_info] Dev 0xffbdd8 (1-1.3) has parent 0x100fa08 (1-1) port 3 [ 0.012674] [000008cb] libusb: debug [usbi_add_pollfd] add fd 12 events 1 [ 0.012749] [000008cb] libusb: debug [usbi_io_init] using timerfd for timeouts [ 0.012785] [000008cb] libusb: debug [usbi_add_pollfd] add fd 14 events 1 2020-11-09 17:37:46.925125 <D> <event|event.c:270> Added USB event source (handle: 12, name: usb-poll, events: 0x0001) at index 2 2020-11-09 17:37:46.925192 <D> <event|event.c:270> Added USB event source (handle: 14, name: usb-poll, events: 0x0001) at index 3 2020-11-09 17:37:46.925247 <D> <usb.c:311> libusb can handle timeouts on its own 2020-11-09 17:37:46.925293 <D> <usb.c:326> libusb supports hotplug [ 0.013055] [000008cb] libusb: debug [libusb_hotplug_register_callback] new hotplug cb 0x100bca0 with handle 1 [ 0.013092] [000008cb] libusb: debug [libusb_hotplug_register_callback] new hotplug cb 0x100bc40 with handle 2 2020-11-09 17:37:46.925406 <D> <usb.c:337> Starting initial USB device scan 2020-11-09 17:37:46.925445 <D> <usb.c:388> Looking for added/removed USB devices [ 0.013209] [000008cb] libusb: debug [libusb_get_device_list] 2020-11-09 17:37:46.925550 <D> <usb.c:111> Found 5 USB device(s) [ 0.013321] [000008cb] libusb: debug [libusb_get_device_descriptor] [ 0.013355] [000008cb] libusb: debug [libusb_get_device_descriptor] [ 0.013388] [000008cb] libusb: debug [libusb_get_device_descriptor] [ 0.013420] [000008cb] libusb: debug [libusb_get_device_descriptor] [ 0.013453] [000008cb] libusb: debug [libusb_get_device_descriptor] 2020-11-09 17:37:46.925770 <D> <network.c:177> Initializing network subsystem 2020-11-09 17:37:46.925816 <D> <socket.c:163> Opening server socket(s) for address '0.0.0.0' on port 4223 2020-11-09 17:37:46.926020 <D> <socket.c:263> Started listening to '0.0.0.0' (IPv4) resolved from '0.0.0.0' on port 4223 2020-11-09 17:37:46.926083 <D> <event|event.c:270> Added generic event source (handle: 15, name: server, events: 0x0001) at index 4 2020-11-09 17:37:46.926133 <D> <mesh.c:53> Initializing mesh subsystem 2020-11-09 17:37:46.926174 <D> <socket.c:163> Opening server socket(s) for address '0.0.0.0' on port 4240 2020-11-09 17:37:46.926252 <D> <socket.c:263> Started listening to '0.0.0.0' (IPv4) resolved from '0.0.0.0' on port 4240 2020-11-09 17:37:46.926303 <D> <event|event.c:270> Added generic event source (handle: 16, name: mesh-server, events: 0x0001) at index 5 2020-11-09 17:37:46.926415 <D> <bricklet.c:160> Could not open HAT product_id in device tree, not using pre-configured HAT Brick setup 2020-11-09 17:37:46.926477 <D> <bricklet.c:160> Could not open HAT product_id in device tree, not using pre-configured HAT Zero Brick setup 2020-11-09 17:37:46.926542 <D> <bricklet.c:376> Bricklet found: spidev /dev/spidev0.0, driver 1, name gpio23 (num 23) 2020-11-09 17:37:46.926583 <D> <bricklet_stack.c:678> Initializing Bricklet stack subsystem for '/dev/spidev0.0' (num 23) 2020-11-09 17:37:46.926734 <D> <event|event.c:270> Added generic event source (handle: 17, name: bricklet-stack-notification, events: 0x0001) at index 6 2020-11-09 17:37:46.927224 <D> <bricklet.c:376> Bricklet found: spidev /dev/spidev0.0, driver 1, name gpio22 (num 22) 2020-11-09 17:37:46.927310 <D> <bricklet_stack.c:678> Initializing Bricklet stack subsystem for '/dev/spidev0.0' (num 22) 2020-11-09 17:37:46.927391 <D> <event|event.c:270> Added generic event source (handle: 20, name: bricklet-stack-notification, events: 0x0001) at index 7 2020-11-09 17:37:46.927792 <D> <bricklet.c:376> Bricklet found: spidev /dev/spidev0.0, driver 1, name gpio25 (num 25) 2020-11-09 17:37:46.927855 <D> <bricklet_stack.c:678> Initializing Bricklet stack subsystem for '/dev/spidev0.0' (num 25) 2020-11-09 17:37:46.927920 <D> <event|event.c:270> Added generic event source (handle: 23, name: bricklet-stack-notification, events: 0x0001) at index 8 2020-11-09 17:37:46.928227 <D> <bricklet.c:376> Bricklet found: spidev /dev/spidev0.0, driver 1, name gpio26 (num 26) 2020-11-09 17:37:46.928273 <D> <bricklet_stack.c:678> Initializing Bricklet stack subsystem for '/dev/spidev0.0' (num 26) 2020-11-09 17:37:46.928340 <D> <event|event.c:270> Added generic event source (handle: 26, name: bricklet-stack-notification, events: 0x0001) at index 9 2020-11-09 17:37:46.928668 <D> <bricklet.c:376> Bricklet found: spidev /dev/spidev0.0, driver 1, name gpio27 (num 27) 2020-11-09 17:37:46.928725 <D> <bricklet_stack.c:678> Initializing Bricklet stack subsystem for '/dev/spidev0.0' (num 27) 2020-11-09 17:37:46.928789 <D> <event|event.c:270> Added generic event source (handle: 29, name: bricklet-stack-notification, events: 0x0001) at index 10 2020-11-09 17:37:46.929219 <D> <bricklet.c:376> Bricklet found: spidev /dev/spidev0.0, driver 1, name gpio24 (num 24) 2020-11-09 17:37:46.929305 <D> <bricklet_stack.c:678> Initializing Bricklet stack subsystem for '/dev/spidev0.0' (num 24) 2020-11-09 17:37:47.003428 <D> <event|event.c:270> Added generic event source (handle: 32, name: bricklet-stack-notification, events: 0x0001) at index 11 2020-11-09 17:37:47.004003 <D> <bricklet.c:376> Bricklet found: spidev /dev/spidev0.0, driver 1, name gpio7 (num 7) 2020-11-09 17:37:47.004073 <D> <bricklet_stack.c:678> Initializing Bricklet stack subsystem for '/dev/spidev0.0' (num 7) 2020-11-09 17:37:47.004148 <D> <event|event.c:270> Added generic event source (handle: 35, name: bricklet-stack-notification, events: 0x0001) at index 12 2020-11-09 17:37:47.004499 <D> <bricklet.c:376> Bricklet found: spidev /dev/spidev0.0, driver 1, name gpio6 (num 6) 2020-11-09 17:37:47.004552 <D> <bricklet_stack.c:678> Initializing Bricklet stack subsystem for '/dev/spidev0.0' (num 6) 2020-11-09 17:37:47.004619 <D> <event|event.c:270> Added generic event source (handle: 38, name: bricklet-stack-notification, events: 0x0001) at index 13 2020-11-09 17:37:47.004929 <D> <bricklet.c:376> Bricklet found: spidev /dev/spidev0.0, driver 1, name gpio5 (num 5) 2020-11-09 17:37:47.004992 <D> <bricklet_stack.c:678> Initializing Bricklet stack subsystem for '/dev/spidev0.0' (num 5) 2020-11-09 17:37:47.005065 <D> <event|event.c:270> Added generic event source (handle: 41, name: bricklet-stack-notification, events: 0x0001) at index 14 2020-11-09 17:37:47.005372 <D> <event.c:534> Starting the event loop 2020-11-09 17:37:47.005430 <D> <event|event_linux.c:147> Starting to epoll on 15 event source(s) 2020-11-09 17:37:47.005510 <D> <event|event_linux.c:166> EPoll returned 1 event source(s) as ready 2020-11-09 17:37:47.005554 <D> <event|event.c:447> Handling USB event source (handle: 12, name: usb-poll, received-events: 0x0001) [ 0.093338] [000008cb] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling [ 0.093387] [000008cb] libusb: debug [handle_events] poll fds modified, reallocating [ 0.093438] [000008cb] libusb: debug [handle_events] poll() 2 fds with timeout in 0ms [ 0.093477] [000008cb] libusb: debug [handle_events] poll() returned 0 2020-11-09 17:37:47.005809 <D> <event|event_linux.c:179> Handled all ready event sources 2020-11-09 17:37:47.005865 <D> <event|event_linux.c:147> Starting to epoll on 15 event source(s) Ich werde den HAT Brick auf einem anderen Raspberry Pi testen. Möglicherweise hat die Schnittstelle einen physischen Schaden, so dass die Kommunikation mit eurem HAT nicht funktioniert. Beste Grüße Max
  6. Danke für die weiteren Tipps zur Diagnose. Die LED des HAT leuchtet konstant blau. Habe alle Schritte so durchgeführt. Für die bricd.conf musste ich mir noch Schreibrechte einrichten. Nach Neustart mit HAT keine Veränderung. Hier noch der neue Eintrag im brickd.log: 2020-11-09 14:04:36.826825 <I> <signal.c:55> Received SIGTERM 2020-11-09 14:04:36.828546 <I> <main_linux.c:538> Brick Daemon 2.4.1 stopped 2020-11-09 14:04:43.765938 <I> <main_linux.c:334> Brick Daemon 2.4.1 started (pid: 483, daemonized: 1) 2020-11-09 14:05:07.728162 <I> <network.c:304> Added new client (N: 127.0.0.1:56064, T: plain-socket, H: 45/45, B: 0, P: 0, A: disabled) 2020-11-09 14:05:13.217511 <I> <client.c:252> Client (N: 127.0.0.1:56064, T: plain-socket, H: 45/45, B: 0, P: 0, A: disabled) disconnected by peer Was nun? Raspberry Pi Interfache defekt? Beste Grüße Max
  7. Hallo Erik, danke für die schnelle Rückmeldung und die Tipps. Den Kernel habe ich auf die Version 4.19.118-v7+ zurückgesetzt, Raspberry Pi neu gestartet den Brick Daemon noch einmal installiert (s.o.), Raspberri Pi herunter gefahren, HAT Brick montiert und neu gestartet. Das Verzeichnis /proc/device-tree/hat/ gibt es leider immer noch nicht und der Brick Viewer kann den HAT Brick nicht finden. Der brickd.log zeigt nun: 2020-11-08 18:35:50.142190 <I> <main_linux.c:334> Brick Daemon 2.4.1 started (pid: 1928, daemonized: 1) 2020-11-08 18:36:12.525113 <I> <signal.c:55> Received SIGTERM 2020-11-08 18:36:12.526166 <I> <main_linux.c:538> Brick Daemon 2.4.1 stopped 2020-11-08 18:36:19.571383 <I> <main_linux.c:334> Brick Daemon 2.4.1 started (pid: 464, daemonized: 1) 2020-11-08 19:40:57.623245 <I> <signal.c:55> Received SIGTERM 2020-11-08 19:40:57.624456 <I> <main_linux.c:538> Brick Daemon 2.4.1 stopped 2020-11-08 19:41:04.397333 <I> <main_linux.c:334> Brick Daemon 2.4.1 started (pid: 458, daemonized: 1) 2020-11-09 11:18:41.032344 <I> <signal.c:55> Received SIGTERM 2020-11-09 11:18:41.099434 <I> <main_linux.c:538> Brick Daemon 2.4.1 stopped 2020-11-09 11:18:48.892683 <I> <main_linux.c:334> Brick Daemon 2.4.1 started (pid: 463, daemonized: 1) 2020-11-09 11:21:51.464597 <I> <signal.c:55> Received SIGTERM 2020-11-09 11:21:51.465941 <I> <main_linux.c:538> Brick Daemon 2.4.1 stopped 2020-11-09 11:21:55.221327 <I> <main_linux.c:334> Brick Daemon 2.4.1 started (pid: 1343, daemonized: 1) 2020-11-09 11:22:28.307884 <I> <signal.c:55> Received SIGTERM 2020-11-09 11:22:28.308789 <I> <main_linux.c:538> Brick Daemon 2.4.1 stopped 2020-11-09 11:22:35.121249 <I> <main_linux.c:334> Brick Daemon 2.4.1 started (pid: 457, daemonized: 1) 2020-11-09 11:27:07.148038 <I> <network.c:304> Added new client (N: 127.0.0.1:47104, T: plain-socket, H: 18/18, B: 0, P: 0, A: disabled) 2020-11-09 11:27:12.193123 <I> <client.c:252> Client (N: 127.0.0.1:47104, T: plain-socket, H: 18/18, B: 0, P: 0, A: disabled) disconnected by peer Harware kaputt? Wenn ja welche Seite, Rapberry Pi oder HAT Brick? Oder habt ihr noch weitere Tipps für die Diagnose zum Eingrenzen des Fehlers? Vielen Dank in Voraus Max
  8. Hallo Gemeinde, auf meinem Raspberry Pi 3+ habe ich im Eingabefenster die Installation des Brick Daemon wie vorgegeben durchgeführt: sudo apt-get install libusb-1.0-0 libudev0 pm-utils wget https://download.tinkerforge.com/tools/brickd/linux/brickd_linux_latest_armhf.deb sudo dpkg -i brickd_linux_latest_armhf.deb Es gab keine Beschwerden, danach habe ich den Raspberry Pi heruntergefahren, den HAT Brick aufgesteckt und neu gestartet. Dennoch wurde das Verzeichnis /proc/device-tree/hat/ nicht angelegt und auch über den Brick Viewer kann ich den HAT Brick nicht sehen. Der brickd.log zeigt: 2020-11-08 18:35:50.142190 <I> <main_linux.c:334> Brick Daemon 2.4.1 started (pid: 1928, daemonized: 1) 2020-11-08 18:36:12.525113 <I> <signal.c:55> Received SIGTERM 2020-11-08 18:36:12.526166 <I> <main_linux.c:538> Brick Daemon 2.4.1 stopped 2020-11-08 18:36:19.571383 <I> <main_linux.c:334> Brick Daemon 2.4.1 started (pid: 464, daemonized: 1) Was kann der Grund dafür sein und wie bekomme ich eine Verbindung zum HAT Brick hin? Danke und beste Grüße euer Max
×
×
  • Neu erstellen...