NEWS
Tipp für die Arbeit mit ESP Modulen mit seriellem USB-Chip
-
Feile gerade an einem ESP32 Modul (LOLIN S2 mini), mit dem ich einen Heizkörper steuere.
https://github.com/MartinP1/ESP8266_MQTT_THERMOSTATDie Kontrollausgaben von Serial.print( ... ) müssen da gerade möglichst lückenlos überwacht werden, weil ich einer WLAN-Disconnect Problematik auf die Spur kommen will...
Da die Hardware in USB-Kabel Reichweite von meinem Mini-PC (siehe Signatur) steht, habe ich mir überlegt, den Mini-PC zu nutzen, um die seriellen Ausgaben auszulesen.
Aktuell läuft das noch auf dem PVE-Muttersystem - auf dem es nur den User root gibt. Weiß nicht, ob ich das noch ändern werde, bei Proxmox scheint das üblich zu sein...
Bei jedem Start von "cu", dem Konsol-Tool, was ich nutze, muss ich "chown root:root" auf /dev/ttyACM0 machen
Danach laufen die Serial.print() Ausgaben alle in der Konsole von Proxmox auf, die ich von jedem Browser im Heimnetz aus aufbekomme ...
root@pve:~# cu -l /dev/ttyACM0 -s 115200 cu: open (/dev/ttyACM0): Permission denied cu: /dev/ttyACM0: Line in use root@pve:~# chown root:root /dev/ttyACM0 root@pve:~# cu -l /dev/ttyACM0 -s 115200 Connected. Difftemp:0.03 Hyst:0.15 ventState:0 pwmActual:0 Tmprtrs(21.93 21.31 21.06 SollT 21.90 WiFi 1 MQTT 1 ok Difftemp:0.04 Hyst:0.15 ventState:0 pwmActual:0 Tmprtrs(21.94 21.25 21.06 SollT 21.90 WiFi 1 MQTT 1 ok Difftemp:0.05 Hyst:0.15 ventState:0 pwmActual:0 Tmprtrs(21.95 21.31 21.06 SollT 21.90 WiFi 1 MQTT 1 ok
-
@martinp sagte in Tipp für die Arbeit mit ESP Modulen mit seriellem USB-Chip:
Weiß nicht, ob ich das noch ändern werde, bei Proxmox scheint das üblich zu sein...
Üblich ist es in den Containern auch User anzulegen...
Du bekommst ja nur ein Grundgerüst, den Ausbau musst du dann noch selber machen.Bei jedem Start von "cu", dem Konsol-Tool, was ich nutze, muss ich "chown root:root" auf /dev/ttyACM0 machen
In /dev/tty* hast du gar nichts zu ändern oder anzupassen, das läuft über entsprechende udev rules. Alles unter /dev wird vom System verwaltet.
Welche Rechte hat denn das Gerät im Urzustand? Vermutlich gar keine. -
NACHTRAG: Ich habe das in dem Gastgeber - "Proxmox" Linux ausgeführt, um Zeit zu sparen, die ich gebraucht hätte, den USB-Stick an eine VM oder einen Container durchzureichen ... quick and dirty sozusagen ...
Die Problematik ist wirklich "interessant"....
Urzustand:
root@pve:~# ls -l /dev/ttyACM0 crw-rw---- 1 root dialout 166, 0 Jun 17 11:23 /dev/ttyACM0
Werde mir das hier aber mal anschauen:
https://stackoverflow.com/questions/48543807/linux-serial-port-connection-with-cu-command
-
Habe den Stick jetzt an einen Proxmox-LXC-Container durchgereicht ...
Ging flott ...
Dass ich dev/ttyACM0 genommen habe, ist ggfs. suboptimal - vielleicht könnte man auch das Gerät aus dev/serial/by-id eintragen ...
UID und GID habe ich aus der LXC Konsole:
martin@DebianTest:~$ id uid=1000(martin) gid=1000(martin) groups=1000(martin),20(dialout),27(sudo),100(users) martin@DebianTest:~$
So sieht das dann aus:
martin@DebianTest:~$ ls -l /dev/ttyA* crw-rw---- 1 martin martin 166, 0 Jun 21 16:57 /dev/ttyACM0 martin@DebianTest:~$
Und hier die seriellen Ausgaben des LOLIN ESP32 S2 mini:
martin@DebianTest:~$ cu -l /dev/ttyACM0 -s 115200 Connected. Difftemp:1.10 Hyst:0.15 ventState:0 pwmActual:0 Tmprtrs(23.00 22.37 22.31 SollT 21.90 WiFi 1 MQTT 1 ok Difftemp:1.10 Hyst:0.15 ventState:0 pwmActual:0 Tmprtrs(23.00 22.44 22.37 SollT 21.90 WiFi 1 MQTT 1 ok Difftemp:1.10 Hyst:0.15 ventState:0 pwmActual:0 Tmprtrs(23.00 22.37 22.31 SollT 21.90 WiFi 1 MQTT 1 ok ~[DebianTest]. Disconnected. martin@DebianTest:~$
Mit Tilde - Punkt - also "~." beendet man cu