Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Linux-Tipps: USB-Serial und ESP-Programmierung

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Linux-Tipps: USB-Serial und ESP-Programmierung

    This topic has been deleted. Only users with topic management privileges can see it.
    • MartinP
      MartinP last edited by MartinP

      Um ein ESP-Device mit einem USB-Port z. B. mit der Arduino IDE zu programmieren oder mit dem "tasmotizer" Tasmota hochzuladen, bietet sich folgendes Vorgehen in der Linux-Konsole an, wenn es Probleme mit der Verbindungsaufnahme mit dem ESP-Device über die USB-Schnittstelle gibt:

      1. Finden des Devices

      Device an USB-Kabel, USB-Kabel an Linux-PC

      tester@martin-D2836-S1:~$ lsusb
      Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
      Bus 001 Device 002: ID 18e3:9102 Fitipower Integrated Technology Inc Multi Card Reader
      Bus 001 Device 004: ID 0c45:636b Microdia USB 2.0 Camera
      Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
      Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
      Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
      Bus 004 Device 002: ID 045e:0053 Microsoft Corp. Optical Mouse
      Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
      Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
      Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
      Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
      Bus 008 Device 004: ID 10c4:ea60 Silicon Labs CP210x UART Bridge
      tester@martin-D2836-S1:~$ 
      
      

      Der letzte Eintrag scheint interessant

      Meist erscheinen die ESP-Devices als TTYUSBx oder TTYACMx im /dev Verzeichnisbaum - mal schauen:

      tester@martin-D2836-S1:~$ ls /dev/ttyA*
      ls: Zugriff auf '/dev/ttyA*' nicht möglich: Datei oder Verzeichnis nicht gefunden
      tester@martin-D2836-S1:~$ ls -l /dev/ttyU*
      crw-rw---- 1 root dialout 188, 0 Okt 12 18:15 /dev/ttyUSB0
      tester@martin-D2836-S1:~$ 
      
      

      root ist Owner des Devices, aber auch die User in Gruppe "dialout" hat Schreib/lesezugriff

      "cu" ist ein ein einfaches serielles Terminalprogramm, was man per apt installieren kann

      sudo apt install cu
      

      Wenn man jetzt cu ausführt .. kein Erfolg

      cu: open (/dev/ttyUSB0): Permission denied
      cu: /dev/ttyUSB0: Line in use
      tester@martin-D2836-S1:~$ 
      

      Grund: Nicht in der Gruppe "dialout"

      tester@martin-D2836-S1:~$ groups
      tester sudo users
      tester@martin-D2836-S1:~$ 
      

      deshalb:

      ester@martin-D2836-S1:~$ sudo adduser tester dialout
      [sudo] Passwort für tester:       
      info: Füge Benutzer »tester« der Gruppe »dialout« hinzu …
      tester@martin-D2836-S1:~$ 
      tester@martin-D2836-S1:~$ 
      tester@martin-D2836-S1:~$ 
      tester@martin-D2836-S1:~$ groups
      tester sudo users
      

      Wieso erscheint die neue Gruppenmitgliedschaft zu "dialout" nicht?

      Die Gruppenmitgliedschaft wird erst nach An - und Abmelden des Users oder nach Absetzen des Kommandos "newgrp" aktiviert!

      tester@martin-D2836-S1:~$ newgrp dialout
      tester@martin-D2836-S1:~$ groups
      dialout sudo users tester
      tester@martin-D2836-S1:~$ 
      
      

      Jetzt mit dialout!

      ... und es klappt:

      tester@martin-D2836-S1:~$ cu -s 115200 -l /dev/ttyUSB0
      Connected.
      ~[martin-D2836-S1].
      
      Disconnected.
      tester@martin-D2836-S1:~$ 
      

      (Einschub: cu beendet man mit Betätigen der Tilde-Taste "~" und danach Punkt ".")

      Wenn der User "tester" auch der ist, der in der grafischen Oberfläche des linux-Systems angemeldet ist, kann man jetzt weitere Experimente mit der arduino IDE, tasmotizer oder ähnlichem machen.

      4383b8c0-24fd-4c7b-a1d6-17862c5d1662-grafik.png

      d1f61dec-3714-46d4-99c8-43bb3cd5708a-grafik.png

      MartinP 1 Reply Last reply Reply Quote 1
      • MartinP
        MartinP @MartinP last edited by MartinP

        Hier noch als Nachtrag eine "sinnvolle" Anwendung von cu, wenn das (fast) fertig programmierte ESP-Device in der Nähe des Proxmox Servers steht. Dann kann man für Feinschliff schön mitlesen, was passiert.

        USB-Device zu einem "Spiel" Debian--LXC durchreichen, und Kontrollausgaben des ESP32 anzeigen lassen (kommen alle 10 Sekunden)

        martin@DebianTest:~$ cu -s 115200 -l /dev/ttyACM0 
        Connected.
        Difftemp:3.55 Hyst:0.15 ventState:0 pwmActual:0 Tmprtrs(22.25 24.75 21.94 SollT 18.70 WiFi 1 MQTT 1 ok
        Difftemp:3.55 Hyst:0.15 ventState:0 pwmActual:0 Tmprtrs(22.25 24.75 21.94 SollT 18.70 WiFi 1 MQTT 1 ok
        Difftemp:3.55 Hyst:0.15 ventState:0 pwmActual:0 Tmprtrs(22.25 24.75 21.87 SollT 18.70 WiFi 1 MQTT 1 ok
        Difftemp:3.55 Hyst:0.15 ventState:0 pwmActual:0 Tmprtrs(22.25 24.69 21.94 SollT 18.70 WiFi 1 MQTT 1 ok
        Difftemp:3.55 Hyst:0.15 ventState:0 pwmActual:0 Tmprtrs(22.25 24.75 21.81 SollT 18.70 WiFi 1 MQTT 1 ok
        Difftemp:3.55 Hyst:0.15 ventState:0 pwmActual:0 Tmprtrs(22.25 24.75 21.94 SollT 18.70 WiFi 1 MQTT 1 ok
        Difftemp:3.55 Hyst:0.15 ventState:0 pwmActual:0 Tmprtrs(22.25 24.81 21.87 SollT 18.70 WiFi 1 MQTT 1 ok
        Difftemp:3.55 Hyst:0.15 ventState:0 pwmActual:0 Tmprtrs(22.25 24.75 21.94 SollT 18.70 WiFi 1 MQTT 1 ok
        Difftemp:3.55 Hyst:0.15 ventState:0 pwmActual:0 Tmprtrs(22.25 24.75 21.94 SollT 18.70 WiFi 1 MQTT 1 ok
        Difftemp:3.55 Hyst:0.15 ventState:0 pwmActual:0 Tmprtrs(22.25 24.75 21.87 SollT 18.70 WiFi 1 MQTT 1 ok
        Difftemp:3.55 Hyst:0.15 ventState:0 pwmActual:0 Tmprtrs(22.25 24.75 21.87 SollT 18.70 WiFi 1 MQTT 1 ok
        Difftemp:3.54 Hyst:0.15 ventState:0 pwmActual:0 Tmprtrs(22.24 24.69 21.94 SollT 18.70 WiFi 1 MQTT 1 ok
        Difftemp:3.54 Hyst:0.15 ventState:0 pwmActual:0 Tmprtrs(22.24 24.75 21.94 SollT 18.70 WiFi 1 MQTT 1 ok
        Difftemp:3.54 Hyst:0.15 ventState:0 pwmActual:0 Tmprtrs(22.24 24.75 21.94 SollT 18.70 WiFi 1 MQTT 1 ok
        Difftemp:3.54 Hyst:0.15 ventState:0 pwmActual:0 Tmprtrs(22.24 24.75 21.87 SollT 18.70 WiFi 1 MQTT 1 ok
        
        
        1 Reply Last reply Reply Quote 0
        • First post
          Last post

        Support us

        ioBroker
        Community Adapters
        Donate

        683
        Online

        31.9k
        Users

        80.1k
        Topics

        1.3m
        Posts

        1
        2
        212
        Loading More Posts
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes
        Reply
        • Reply as topic
        Log in to reply
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
        The ioBroker Community 2014-2023
        logo