Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Linux-Tipps: USB-Serial und ESP-Programmierung

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

Linux-Tipps: USB-Serial und ESP-Programmierung

Geplant Angeheftet Gesperrt Verschoben Off Topic
2 Beiträge 1 Kommentatoren 352 Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • MartinPM Offline
    MartinPM Offline
    MartinP
    schrieb am zuletzt editiert von MartinP
    #1

    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

    Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
    Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
    Linux pve 6.8.12-16-pve
    6 GByte RAM für den Container
    Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
    Remote-Access über Wireguard der Fritzbox

    MartinPM 1 Antwort Letzte Antwort
    1
    • MartinPM 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

      MartinPM Offline
      MartinPM Offline
      MartinP
      schrieb am zuletzt editiert von MartinP
      #2

      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
      
      

      Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
      Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
      Linux pve 6.8.12-16-pve
      6 GByte RAM für den Container
      Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
      Remote-Access über Wireguard der Fritzbox

      1 Antwort Letzte Antwort
      0
      Antworten
      • In einem neuen Thema antworten
      Anmelden zum Antworten
      • Älteste zuerst
      • Neuste zuerst
      • Meiste Stimmen


      Support us

      ioBroker
      Community Adapters
      Donate

      338

      Online

      32.4k

      Benutzer

      81.5k

      Themen

      1.3m

      Beiträge
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
      ioBroker Community 2014-2025
      logo
      • Anmelden

      • Du hast noch kein Konto? Registrieren

      • Anmelden oder registrieren, um zu suchen
      • Erster Beitrag
        Letzter Beitrag
      0
      • Home
      • Aktuell
      • Tags
      • Ungelesen 0
      • Kategorien
      • Unreplied
      • Beliebt
      • GitHub
      • Docu
      • Hilfe