ubuntuusers.de

Arduino UNO wird an USB nicht erkannt

Status: Gelöst | Ubuntu-Version: Ubuntu 22.04 (Jammy Jellyfish)
Antworten |

EmilDO

Anmeldungsdatum:
22. Mai 2009

Beiträge: 353

Wohnort: NRW

Hallo zusammen,

nach der Installation von ArduinoIDE (1.8.15) auf Ub22.04 wird der UNO-Clone (der unter W10 komplikationslos lief und dort unter USB5, 6 oder 7 problemlos erkannt wurde) an keiner USB-Schnittstelle unter Ubuntu erkannt. Fehlermeldung : Serieller Port nicht ausgewählt.

Ein ähnliches Problem hatte schon lutzpfl am 29. August 2018 15:57 berichtet. Mit Hilfe der dort angegebenen Tipps der Taomon und Kellerkind_2009 konnte ich nur feststellen, dass ich in /etc/group/ eingetragen bin( dialout:x:20:drgb).

Wie ich auf die USB-Schnittstelle zugreifen kann, das kriege ich nicht gebacken. Bitte um Unterstützung!!

Hier schon einige Infos zum Zustand:

drgb@HP2:~$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 006: ID 04f3:0c4c Elan Microelectronics Corp. ELAN:ARM-M4
Bus 003 Device 004: ID 04f2:b6b6 Chicony Electronics Co., Ltd HP Wide Vision HD Camera
Bus 003 Device 012: ID 03f0:2241 HP, Inc HP Wireless Mouse 
Bus 003 Device 011: ID 0bda:5411 Realtek Semiconductor Corp. RTS5411 Hub
Bus 003 Device 007: ID 8087:0026 Intel Corp. AX201 Bluetooth
Bus 003 Device 002: ID 248a:8514 Maxxter Wireless Receiver
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 005: ID 0bda:0411 Realtek Semiconductor Corp. Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
drgb@HP2:~$ 
drgb@HP2:~$ apt show arduino
Package: arduino
Version: 2:1.8.19+dfsg1-1
Priority: optional
Section: universe/electronics
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Electronics Team <pkg-electronics-devel@lists.alioth.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 9.138 kB
Provides: arduino-core
Depends: arduino-builder (>= 1.3.25-2), arduino-core-avr, avrdude, default-jre | openjdk-11-jre, dpkg-dev, libastylej-jni, libbatik-java, libbcpg-java, libbcprov-java, libcommons-codec-java, libcommons-compress-java, libcommons-exec-java, libcommons-io-java, libcommons-lang3-java, libcommons-logging-java, libcommons-net-java, libhttpclient-java, libjackson2-annotations-java, libjackson2-core-java, libjackson2-databind-java, libjaxp1.3-java, libjmdns-java, libjna-java, libjna-platform-java, libjsch-java, libjssc-java, liblistserialsj-dev, liblog4j2-java, librsyntaxtextarea-java, librxtx-java, libsemver-java, libslf4j-java, libxml-commons-external-java, libxmlgraphics-commons-java
Recommends: extra-xdg-menus, policykit-1
Breaks: arduino-core (<< 2:1.5.6.2+sdfsg2-3.1)
Replaces: arduino-core (<< 2:1.5.6.2+sdfsg2-3.1)
Homepage: https://www.arduino.cc
Download-Size: 4.905 kB

...
...
drgb@HP2:~$ lsmod
Module                  Size  Used by
tls                   147456  0
ntfs3                 335872  1
ccm                    20480  9
uhid                   20480  1
nft_chain_nat          16384  1
xt_MASQUERADE          20480  1
nf_nat                 61440  2 nft_chain_nat,xt_MASQUERADE
nf_conntrack          204800  2 nf_nat,xt_MASQUERADE
nf_defrag_ipv6         24576  1 nf_conntrack
nf_defrag_ipv4         16384  1 nf_conntrack
nft_compat             20480  1
nf_tables             348160  17 nft_compat,nft_chain_nat
libcrc32c              16384  3 nf_conntrack,nf_nat,nf_tables
nfnetlink              24576  2 nft_compat,nf_tables
bridge                409600  0
stp                    16384  1 bridge
llc                    16384  2 bridge,stp
pcspkr                 16384  0
ch341                  24576  0
usbserial              69632  1 ch341
rfcomm                 98304  16
cmac                   16384  3
algif_hash             20480  1
algif_skcipher         16384  1
af_alg                 32768  6 algif_hash,algif_skcipher
bnep                   32768  2
uvcvideo              139264  0
btusb                  69632  0
btrtl                  28672  1 btusb
videobuf2_vmalloc      20480  1 uvcvideo
btbcm                  24576  1 btusb
videobuf2_memops       20480  1 videobuf2_vmalloc
btintel                53248  1 btusb
videobuf2_v4l2         36864  1 uvcvideo
btmtk                  16384  1 btusb
videodev              323584  2 videobuf2_v4l2,uvcvideo
snd_ctl_led            24576  0
bluetooth            1036288  46 btrtl,btmtk,btintel,btbcm,bnep,btusb,rfcomm
videobuf2_common       86016  4 videobuf2_vmalloc,videobuf2_v4l2,uvcvideo,videobuf2_memops
snd_soc_skl_hda_dsp    28672  6
ecdh_generic           16384  2 bluetooth
mc                     81920  4 videodev,videobuf2_v4l2,uvcvideo,videobuf2_common
snd_soc_intel_hda_dsp_common    20480  1 snd_soc_skl_hda_dsp
ecc                    45056  1 ecdh_generic
snd_sof_probes         20480  0
snd_soc_hdac_hdmi      45056  1 snd_soc_skl_hda_dsp
snd_hda_codec_hdmi     94208  1
snd_hda_codec_realtek   192512  1
snd_hda_codec_generic   118784  1 snd_hda_codec_realtek
ledtrig_audio          16384  2 snd_ctl_led,snd_hda_codec_generic
snd_soc_dmic           16384  1
snd_sof_pci_intel_icl    16384  0
snd_sof_intel_hda_common   188416  1 snd_sof_pci_intel_icl
soundwire_intel        57344  1 snd_sof_intel_hda_common
soundwire_generic_allocation    16384  1 soundwire_intel
soundwire_cadence      40960  1 soundwire_intel
snd_sof_intel_hda      24576  1 snd_sof_intel_hda_common
snd_sof_pci            24576  2 snd_sof_pci_intel_icl,snd_sof_intel_hda_common
snd_sof_xtensa_dsp     16384  1 snd_sof_intel_hda_common
snd_sof               311296  4 snd_sof_pci,snd_sof_intel_hda_common,snd_sof_probes,snd_sof_intel_hda
snd_sof_utils          20480  1 snd_sof
snd_soc_hdac_hda       24576  1 snd_sof_intel_hda_common
snd_hda_ext_core       36864  4 snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_sof_intel_hda
snd_soc_acpi_intel_match    77824  2 snd_sof_pci_intel_icl,snd_sof_intel_hda_common
snd_soc_acpi           16384  2 snd_soc_acpi_intel_match,snd_sof_intel_hda_common
soundwire_bus         110592  3 soundwire_intel,soundwire_generic_allocation,soundwire_cadence
snd_soc_core          417792  8 soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_sof_probes,snd_soc_dmic,snd_soc_skl_hda_dsp
joydev                 32768  0
snd_compress           28672  2 snd_soc_core,snd_sof_probes
ac97_bus               16384  1 snd_soc_core
intel_tcc_cooling      16384  0
snd_pcm_dmaengine      20480  1 snd_soc_core
x86_pkg_temp_thermal    20480  0
snd_hda_intel          61440  0
intel_powerclamp       24576  0
snd_intel_dspcfg       36864  3 snd_hda_intel,snd_sof,snd_sof_intel_hda_common
coretemp               24576  0
snd_intel_sdw_acpi     20480  2 snd_sof_intel_hda_common,snd_intel_dspcfg
snd_hda_codec         204800  8 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_intel_hda_dsp_common,snd_soc_hdac_hda,snd_sof_intel_hda,snd_soc_skl_hda_dsp
kvm_intel             499712  0
mei_hdcp               28672  0
mei_pxp                20480  0
intel_rapl_msr         20480  0
iwlmvm                724992  0
snd_hda_core          135168  11 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_soc_intel_hda_dsp_common,snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_sof_intel_hda
i915                 3883008  29
snd_hwdep              20480  1 snd_hda_codec
kvm                  1347584  1 kvm_intel
mac80211             1617920  1 iwlmvm
snd_pcm               192512  12 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,soundwire_intel,snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_compress,snd_soc_core,snd_sof_utils,snd_hda_core,snd_pcm_dmaengine
irqbypass              16384  1 kvm
binfmt_misc            24576  1
crct10dif_pclmul       16384  1
snd_seq_midi           20480  0
polyval_clmulni        16384  0
snd_seq_midi_event     16384  1 snd_seq_midi
polyval_generic        16384  1 polyval_clmulni
ghash_clmulni_intel    16384  0
libarc4                16384  1 mac80211
drm_buddy              20480  1 i915
snd_rawmidi            53248  1 snd_seq_midi
sha512_ssse3           53248  0
nls_iso8859_1          16384  1
ttm                   110592  1 i915
snd_seq                94208  2 snd_seq_midi,snd_seq_midi_event
aesni_intel           397312  10
crypto_simd            20480  1 aesni_intel
drm_display_helper    212992  1 i915
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
iwlwifi               569344  1 iwlmvm
cryptd                 28672  3 crypto_simd,ghash_clmulni_intel
snd_timer              49152  2 snd_seq,snd_pcm
cec                    94208  2 drm_display_helper,i915
rapl                   20480  0
cmdlinepart            16384  0
hid_sensor_accel_3d    20480  1
hid_sensor_incl_3d     20480  0
hid_sensor_gyro_3d     20480  0
hid_sensor_rotation    20480  0
hid_sensor_custom_intel_hinge    16384  0
processor_thermal_device_pci_legacy    16384  0
intel_cstate           24576  0
snd                   135168  28 snd_ctl_led,snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_sof,snd_timer,snd_soc_hdac_hdmi,snd_compress,snd_soc_core,snd_pcm,snd_rawmidi
mei_me                 57344  2
input_leds             16384  0
spi_nor               131072  0
hp_wmi                 24576  0
processor_thermal_device    24576  1 processor_thermal_device_pci_legacy
rc_core                77824  1 cec
hid_sensor_trigger     20480  10 hid_sensor_gyro_3d,hid_sensor_custom_intel_hinge,hid_sensor_incl_3d,hid_sensor_accel_3d,hid_sensor_rotation
processor_thermal_rfim    28672  1 processor_thermal_device
cfg80211             1241088  3 iwlmvm,iwlwifi,mac80211
serio_raw              20480  0
intel_wmi_thunderbolt    20480  0
mei                   167936  5 mei_hdcp,mei_pxp,mei_me
mtd                    98304  3 spi_nor,cmdlinepart
platform_profile       16384  1 hp_wmi
soundcore              16384  2 snd_ctl_led,snd
industrialio_triggered_buffer    16384  1 hid_sensor_trigger
ee1004                 20480  0
wmi_bmof               16384  0
drm_kms_helper        249856  2 drm_display_helper,i915
processor_thermal_mbox    16384  2 processor_thermal_rfim,processor_thermal_device
hid_multitouch         36864  0
kfifo_buf              16384  1 industrialio_triggered_buffer
i2c_algo_bit           16384  1 i915
hid_sensor_iio_common    28672  6 hid_sensor_gyro_3d,hid_sensor_trigger,hid_sensor_custom_intel_hinge,hid_sensor_incl_3d,hid_sensor_accel_3d,hid_sensor_rotation
processor_thermal_rapl    20480  1 processor_thermal_device
syscopyarea            16384  1 drm_kms_helper
sysfillrect            20480  1 drm_kms_helper
industrialio          126976  9 industrialio_triggered_buffer,hid_sensor_gyro_3d,hid_sensor_trigger,hid_sensor_custom_intel_hinge,hid_sensor_incl_3d,kfifo_buf,hid_sensor_accel_3d,hid_sensor_rotation
intel_rapl_common      40960  2 intel_rapl_msr,processor_thermal_rapl
sysimgblt              20480  1 drm_kms_helper
intel_soc_dts_iosf     20480  1 processor_thermal_device_pci_legacy
int3403_thermal        20480  0
int340x_thermal_zone    20480  2 int3403_thermal,processor_thermal_device
int3400_thermal        24576  0
mac_hid                16384  0
intel_hid              24576  0
soc_button_array       20480  0
acpi_pad              184320  0
acpi_thermal_rel       16384  1 int3400_thermal
sparse_keymap          16384  2 hp_wmi,intel_hid
sch_fq_codel           24576  1
msr                    16384  0
parport_pc             53248  0
ppdev                  24576  0
lp                     28672  0
drm                   696320  18 drm_kms_helper,drm_display_helper,drm_buddy,i915,ttm
parport                73728  3 parport_pc,lp,ppdev
ramoops                36864  0
pstore_blk             16384  0
reed_solomon           28672  1 ramoops
pstore_zone            36864  1 pstore_blk
efi_pstore             16384  0
ip_tables              36864  0
x_tables               65536  3 nft_compat,ip_tables,xt_MASQUERADE
autofs4                57344  2
usbhid                 73728  0
hid_sensor_custom      28672  0
hid_sensor_hub         28672  8 hid_sensor_gyro_3d,hid_sensor_trigger,hid_sensor_iio_common,hid_sensor_custom_intel_hinge,hid_sensor_incl_3d,hid_sensor_accel_3d,hid_sensor_rotation,hid_sensor_custom
intel_ishtp_hid        32768  0
hid_generic            16384  0
nvme                   61440  3
rtsx_pci_sdmmc         36864  0
ucsi_acpi              16384  0
intel_lpss_pci         28672  0
i2c_i801               40960  0
spi_intel_pci          16384  0
nvme_core             208896  4 nvme
i2c_hid_acpi           16384  0
ahci                   49152  0
crc32_pclmul           16384  0
intel_lpss             16384  1 intel_lpss_pci
intel_ish_ipc          32768  0
typec_ucsi             53248  1 ucsi_acpi
xhci_pci               24576  0
spi_intel              32768  1 spi_intel_pci
i2c_smbus              20480  1 i2c_i801
rtsx_pci              135168  1 rtsx_pci_sdmmc
nvme_common            28672  1 nvme_core
i2c_hid                40960  1 i2c_hid_acpi
libahci                57344  1 ahci
idma64                 20480  0
intel_ishtp            61440  2 intel_ishtp_hid,intel_ish_ipc
xhci_pci_renesas       20480  1 xhci_pci
typec                 106496  1 typec_ucsi
hid                   176128  7 i2c_hid,usbhid,hid_multitouch,hid_sensor_hub,intel_ishtp_hid,hid_generic,uhid
video                  73728  1 i915
wmi                    40960  4 hp_wmi,video,intel_wmi_thunderbolt,wmi_bmof
pinctrl_icelake        32768  2
drgb@HP2:~$ 

shiro

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1214

Hallo EmilDO,

wenn du in der IDE unter "Werkzeuge" das 'Board: "Arduino UNO"' ausgewählt hast,

  • was steht denn da unter "Port:"?

  • Wenn da nichts steht, was werden denn für welche Ports angeboten (z.B. /dev/ttyACM2)?

  • Welche Eigenschaften hast du denn für diese seriellen Ports definiert?

  • Wenn du z.B. im IDE den "/dev/ttyACM2" stehen hast, was ist denn die Ausgaben von "ls -l /dev/ttyA*"?

  • Hast du in der IDE überhaupt die serielle Leitung konfiguriert oder eine andere Strecke (z.B. OTA)?

Dakuan

Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6467

Wohnort: Hamburg

Man sollte vielleicht auch mal prüfen, ob sich nicht wieder das Modul brltty die Schnittstelle gegriffen hat.

EmilDO

(Themenstarter)

Anmeldungsdatum:
22. Mai 2009

Beiträge: 353

Wohnort: NRW

Erst mal vielen Dank an shiro und Dakuan für Eure Hilfsbereitschaft.

shiro schrieb:

wenn du in der IDE unter "Werkzeuge" das 'Board: "Arduino UNO"' ausgewählt hast,

  • was steht denn da unter "Port:"?

Port ist ausgegraut, und es gibt keine Vorschläge ( unter W10 wurden da USB 5,6 und 7 angeboten, und mit 7 hats funktioniert)

Unter ls -l /dev/ finde ich nichts, was wie ttyA* aussieht:

drgb@HP2:/dev$ ls -l
.......................................................
crw--w----   1 root tty       4,     7 Aug 21 10:53 tty7
crw--w----   1 root tty       4,     8 Aug 21 10:53 tty8
crw--w----   1 root tty       4,     9 Aug 21 10:53 tty9
crw-------   1 root root      5,     3 Aug 21 10:53 ttyprintk
crw-rw----   1 root dialout   4,    64 Aug 21 10:53 ttyS0
crw-rw----   1 root dialout   4,    65 Aug 21 10:53 ttyS1
crw-rw----   1 root dialout   4,    74 Aug 21 10:53 ttyS10
crw-rw----   1 root dialout   4,    75 Aug 21 10:53 ttyS11
crw-rw----   1 root dialout   4,    76 Aug 21 10:53 ttyS12
crw-rw----   1 root dialout   4,    77 Aug 21 10:53 ttyS13
.......................................................
drgb@HP2:/dev$

Bei der Installation der ArduinoIDE habe ich nichts gefunden, wie die serielle Leitung konfiguriert werden muss.In den Beschreibungen zum Board wurde nur erwähnt, dass die serielle Kommunikation über den USB-Port durch den Baustein CH340 erfolgt (sagt mir ehrlicherweise nicht viel 😢 )

@Dakuan

drgb@HP2:~$ brltty
BRLTTY 6.4 rev BRLTTY-6.4 [https://brltty.app/]
brltty: can't isolate namespaces
brltty: executing as the invoking user: drgb
brltty: can't set supplementary groups
brltty: group not joined: 0(root)
brltty: group not joined: 5(tty)
brltty: group not joined: 107(input)
brltty: group not joined: 142(pulse-access)
brltty: required capability not granted: cap_sys_admin (for injecting input characters typed on a braille device)
brltty: required capability not granted: cap_sys_tty_config (for playing alert tunes via the built-in PC speaker)
brltty: required capability not granted: cap_mknod (for creating needed but missing special device files)
drgb@HP2:~$

An mehreren Stellen habe ich gelesen, dass brltty (erforderlich für Blindenschrift ??) nach der Installation von 22.04 häufiger Schwierigkeiten macht und entfernt werden könnte. Ich hab da mangels Kenntnissen keine Meinung dazu.

shiro

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1214

brltty

Oh je, das hast du ja noch installiert! Bevor man überhaupt etwas weiter unternimmt, musst du es entfernen:

sudo apt-get purge brltty 

Zu den tty Ports: Du hast tatsächlich nur ttyS* Devices? Das ist sehr ungewöhnlich. Normalerweise hat man je nach installiertem CH340 Treiber entweder ttyACM* oder ttyUSB* devices (es gibt auch noch andere, abhängig von der Arduino Hardware). Natürlich muss der Arduino über das USB Kabel mit dem Rechner verbunden ein. Die einfachste Form heraus zu bekommen, auf welche seriellen Ports "arduino" versucht zuzugreifen, ist wenn du die protokollierten Meldungen (sudo dmesg | less) in der Umgebung des gesuchten "tty" Strings anschaust. Häufig ist dort vor dem "tty" Eintrag ein "usb" Log mit dem Hinweise auf "New USB device" und "Manufacturer: Arduino". Wenn du einen chinesischen Clone verwendest kann da natürlich andere Informationen stehen.

Auf jeden Fall sollte das im "dmesg" aufgelistete "tty" Device vorhanden sein (natürlich nur, wenn der Arduino über USB verbunden ist). Je nachdem, welche Protection und Ownership das Device hat, kann dann auch noch ein "sudo chmod a+rw" erforderlich werden. Im Moment ist das allerdings nur Stochern im Dunklen. Hilfreich wäre, wenn du den relevanten "dmesg" Part vom Einstecken des USB Kabels bist Starten des "arduino" Programms in einer Codebox hier listen würdest.

Dakuan

Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6467

Wohnort: Hamburg

brltty

Oh je, das hast du ja noch installiert! ...

Ich glaube, das gehört seit einiger Zeit zur Grundausstattung.

Zu den tty Ports: Du hast tatsächlich nur ttyS* Devices? Das ist sehr ungewöhnlich.

Ich habe auch ein Board, wo noch eine echte Serielle Schnittstelle vorhanden ist. Da habe ich auch gleich die 7€ für das Anschlusskabel draufgelegt.

Ich glaube dieses Problem wurde hier vor ca. einem Jahr schon eimal diskutiert. Die Forum Suche hatte mir allerdings nur einen wenig detaillierten Beitrag von 2009 gezeigt.

EmilDO

(Themenstarter)

Anmeldungsdatum:
22. Mai 2009

Beiträge: 353

Wohnort: NRW

Hallo zusammen Dakuan und shiro

Sofort nach dem

sudo apt-get purge brltty 

und einer zwischenzeitlich automatisch vorgeschlagenen und abgelaufenen Aktualisierungsverwaltung (wobei ich nicht beurteilen kann, ob die in diesem Zusammenhang irgendetwas bewirkt hat), ist die USB-Schnittstelle unter Werkzeuge>Port erkannt worden : "/dev/ttyUSB0".

drgb@HP2:/dev$ ls -l
..........................................................

crw-rw----   1 root dialout   4,    71 Aug 24 12:13 ttyS7
crw-rw----   1 root dialout   4,    72 Aug 24 12:13 ttyS8
crw-rw----   1 root dialout   4,    73 Aug 24 12:13 ttyS9
crw-rw----   1 root dialout 188,     0 Aug 24 12:18 ttyUSB0
crw-rw----   1 root kvm      10,   124 Aug 24 12:13 udmabuf
crw-------   1 root root     10,   239 Aug 24 12:13 uhid
crw-------   1 root root     10,   223 Aug 24 12:13 uinput
crw-rw-rw-   1 root root      1,     9 Aug 
.............................................................

Es scheint sich auch hier nicht um den CH340, sondern CH341 zu handeln

unter (sudo dmesg | less): 

[  290.417088] usb 3-4.2: new full-speed USB device number 8 using xhci_hcd
[  290.519106] usb 3-4.2: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.64
[  290.519115] usb 3-4.2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[  290.519118] usb 3-4.2: Product: USB Serial
[  291.128586] usbcore: registered new interface driver usbserial_generic
[  291.128595] usbserial: USB Serial support registered for generic
[  291.132780] usbcore: registered new interface driver ch341
[  291.132790] usbserial: USB Serial support registered for ch341-uart
[  291.132815] ch341 3-4.2:1.0: ch341-uart converter detected
[  291.133361] usb 3-4.2: ch341-uart converter now attached to ttyUSB0
[  418.131196] loop48: detected capacity change from 0 to 216728
[  418.402338] audit: type=1400 audit(1692872425.767:203): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/snap/core/15925/usr/lib/snapd/snap-confine" pid=9159 comm="apparmor_parser"
[  418.402759] audit: type=1400 audit(1692872425.771:204): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/snap/core/15925/usr/lib/snapd/snap-confine//mount-namespace-capture-helper" pid=9159 comm="apparmor_parser"
[  418.482083] audit: type=1400 audit(1692872425.847:205): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="snap.core.hook.configure" pid=9181 com

Da ich unter /etc/group/ in dialout eingetragen bin, erübrigt sich das "sudo chmod a+rw" .

Damit wäre meine Frage beantwortet, und ich bedanke mich gerne nochmals für die freundliche Unterstützung. Sollte es von Eurer Seite keine weiteren Beiträge dazu geben, würde ich den Thread dann in den nächsten Tagen auf "gelöst" setzen. Ich wäre aber für gute Tipps zu dem Thema Arduino immer interessiert, weil ich auch auf dem Gebiet ein absoluter Anfänger bin.

Danke.

Noch eine Nachfrage: Wenn ein Sketch hochgeladen und kompiliert ist, wo wird er im Board abgespeichert? in welcher Datei? Auch wenn das Board stromlos gemacht wird, der letzte Sketch bleibt solange irgendwo im Speicher, bis er beim nächsten Upload überschrieben wird. Kann man diesen Speicher löschen? 🙄

shiro

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1214

... ist die USB-Schnittstelle unter Werkzeuge>Port erkannt worden : "/dev/ttyUSB0".

Der Dank geht sicher an Dakuan, der den richtigen "Riecher" hinsichtlich "brltty" hatte.

Wenn ein Sketch hochgeladen und kompiliert ist, wo wird er im Board abgespeichert? in welcher Datei?

Der Arduino ist ein "Mikrocontroller". Er hat kein Betriebssystem sondern nur einen Bootloader, der nach dem Strom einschalten die Routine "setup" einmalig und danach die Routine "loop" permanent abarbeitet. Will man Interrupt-Service-Routines nutzen, sind die sinnvollerweise in "setup" Kontext scharf zu machen.

Da kein Betriebssystem existiert, gibt es auch kein Dateisystem. Somit wird das hochgeladene Programm auch nirgends als Datei abgelegt sondern ab einer bestimmten Adresse in Memory abgelegt. Alle Funktionen, die einem ein Betriebssystem bietet, muss man selbst programmieren oder als Bibliothek laden. Darüber ist dann natürlich auch ein "Filesystem" im RAM realisierbar (siehe z.B. SPIFFS u.a.).

Als "Einführung" in die Dokumentation würde ich die Seite https://docs.arduino.cc/learn/ und die Code-Referenz (in deutsch) empfehlen.

Kann man diesen Speicher löschen?

Wozu willst du ihn löschen? Wenn du etwas hochgeladen hattest und den Arduino ohne das Programm weiter geben willst, lade ein einfaches Beispiel aus der IDE (z.B. 01.Basics → Blink) auf das Gerät.

Wenn du den EEPROM Bereich löschen willst, weil dort sensible Daten von dir noch sind, überschreib alles mit "0", d.h. mach ein

#include <EEPROM.h>
void setup() {
}
void loop {
  for (int i = 0 ; i < EEPROM.length() ; i++) {
    EEPROM.write(i, 0);
}

Dakuan

Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6467

Wohnort: Hamburg

Ich hatte vor ca. zwei Rechnern auch einmal mit dem Arduino UNO experimentiert. Mein letztes Projekt war eine elektronische Morsetaste. Dazu gab es diverse Beispiele im Netz. Aber in meinem Übermut wollte ich dann auch das zweizeilige Anzeigendisplay benutzen, welches ich mit bestellt hatte. Dafür war dann allerdings ein minimalistischer Morsedecoder erforderlich, zu dessen Realisierung ich eine Sortierung der gemessenen Zeiten benötigte. Es gab, zumindest damals, aber keine Sortierfunktion in der bereitgestellten Lib.

Aus Bequemlichkeit hatte ich dann Bubblesort abgeschrieben (war hierfür ausreichend).

Soll heißen, wenn man mehr als nur einfache Steuerungsfunktionen benötigt, muss man schon mal selber kreativ werden und dabei auch den verfügbaren Speicherplatz im Flash Memory beachten.

Auch der Stromverbrauch kann ein Thema sein. In meinem Fall wurde das Teil nur auf einem Steckbrett realisiert und nach der "Programmierung" nur von einer 9 Volt Batterie versorgt.

shiro

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1214

Es gab, zumindest damals, aber keine Sortierfunktion in der bereitgestellten Lib.

Na, ein QuickSort kann man aber schnell selbst schreiben. Wer es bequem haben will, kann die Lib KickSort verwenden, die es aber schon etwas länger gibt. Aber es stimmt schon, da "muss man schon mal selber kreativ werden", weil die Bequemlichkeit eines Betriebssystems mit Tools wie "bash", "awk" und "sed" einfach fehlen.

... von einer 9 Volt Batterie versorgt.

Das ist zwar technisch möglich, erfordert aber schon erheblich mehr "Kreativität" um alle Energiesparoptionen auszunutzen, damit nicht nach 30 min die Batterie leer gesaugt ist. Normalerweise bekommt der Arduino seinen Strom über die USB Schnittstelle.

Dakuan

Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6467

Wohnort: Hamburg

Na, ein QuickSort kann man aber schnell selbst schreiben.

Natürlich, es sind aber etwas mehr Zeilen erforderlich. Ich war damals aber eher ein Fan von Heapsort. Aber wie auch schon im Standardwerk "Introduction to Algorithms" (ISBN 978-0-262-03384--8) erwähnt, sollte man bei solchen Betrachtungen auch den Overhead Berücksichtigen. Bei durchschnittlichen 5 bis 7 Werten (Maximal 21) sind hochwertige Algorithmen eher so etwas wie ein Overkill und verbrauchen mehr Speicher als erforderlich.

... damit nicht nach 30 min die Batterie leer gesaugt ist. Normalerweise bekommt der Arduino seinen Strom über die USB Schnittstelle.

Na ja, etwas mehr ist da schon drinn. Und wenn der ständig vom großen PC Strom saugen muss, könnte man den großen PC auch direkt verwenden. Ein bekanntes Programm, für meinen gedachten Anwendungsfall, wäre z.B. Fldigi. Aber wenn man den großen PC, z.B. wegen des Stromverbrauchs, nicht einsetzen möchte, muss der Strom woanders her kommen.

EmilDO

(Themenstarter)

Anmeldungsdatum:
22. Mai 2009

Beiträge: 353

Wohnort: NRW

Nochmals vielen Dank an Dakuan und shiro für Eure Mitteilungen, die zT weit weit über meinen level gehen. Ich bin ein absoluter Anfänger, es interessiert mich einfach. Und da ist der Hinweis auf die Seiten https://docs.arduino.cc/learn/ und die Code-Referenz genau richtig für mich. Vielleicht komme ich ja im Laufe der Zeit dahin, und man trifft sich mal wieder bei interessanten Fragen im Netz.

Bis dann vielen Dank und Tschüss.

Antworten |