Serielle verbindung / Schnitstelle Arduino Leonardo /Pro Micro

Hallo Arduinogemeinde!

Seit meinem Post ist viel Wasser ins Meer geflossen und konnte das eine oder andere Projekt verwirklichen.

Doch heute stehe ich wieder vor einem Rätsel mit einem Arduino Leonardo.
Ich habe mir ein Display zugelegt um einen Timer zu basteln. Das klappte nach anlaufschierigkeiten recht gut unter Windows 7 hier ist der Leo auf COM7.
Doch vor ein paar Tagen wollte ich den Leonardo an meinen Werkstattrechner anstecken und etwas am Sketch ändern. Dieser ist ein Ubuntu 10.04 -2.6.32

//~~~~~~~~~~~~~~~~~~~~~~~
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); 
int n = 1;

void setup()
{
  lcd.begin (20,4);
  lcd.home ();                   
  lcd.setCursor ( 0, 0 );        
  lcd.print("C N C LCD Test");  
  lcd.setCursor ( 6, 1 );        
  lcd.print("Zeittest");
  lcd.setCursor ( 7, 2 );        
  lcd.print("Einschaltimer");
  lcd.setCursor ( 0, 3 );        
  lcd.print("Count: ");
  lcd.setCursor ( 18, 3 );       
  lcd.print("s ");
}
void loop()
{
  lcd.setCursor (7,3);            
  lcd.print(n++,DEC);
  delay(1000);
 }
//~~~~~~~~~~~~~~~~~~~~~~~

Doch Pustekuchen. Ich kann unter Tools im IDE zwar das Board auswählen doch ist die Serielle Schnittstellen auswahl !!!AUSGEGRAUT !!! . Ich dachte nicht schon wieder ein Opfer. Den Uno an die selbe Schittstelle gesteckt und kein Problem, er wurde erkannt als /dev/ttyACM0. Puh Glück gehabt umgesteckt auf den Leo und wieder nichts.

Da ich für dieses Projekt die Serielle Schnittstelle unter Ubuntu benötige frage ich euch wie ich die /dev/ttyXXXX bekomme um den Leonardo anzusprechen.

Besten dank im voraus :blush:

dmesg (294 KB)

Hallo Ihr Arduinofreunde!

Habe hier ein kleines Update!
ICh wollte ausschließen das der Computer defekt ist und habe eben einen Rechner mit WIN7 und Ubuntu 10.04 aufgesetzt. Auf Windowsebene alles wie gewohnt kein problem. Doch unter Ubuntu kein Bild kein Ton. Nur der UNO verrichtet seinen dienst wie er soll.

Die Recherche im Forum und INternet ergab das anscheinend keine Leonardo unter Uuntu einsetzt.

Könnt ihr mir diesbezüglich bitte weiterhelfen.
Danke und einen schönen Sonnigen Tag
Roland

Die Recherche im Forum und INternet ergab das anscheinend keine Leonardo unter Uuntu einsetzt.

Dann hast Du aber nicht weit recherchiert. Ich setze einen Leonardo ein und programmiere ihn unter Ubuntu, ohne Probleme.

Führe mal den folgenden Befehl aus, wenn der Leonardo angeschlossen ist:

lsusb

und poste das Ergebnis. Allenfalls wäre die Ausgabe des folgenden Kommandos auch interessant:

dmesg | tail -8

Dies solltest Du ausführen, direkt nachdem Du den Leonardo am Ubuntu-Rechner eingesteckt hast.

Hallo Pylon, danke das du mir Antwortest.

Ich habe so gut es geht zu suchen doch in amerikanischen foren steige ich mit meinem Englisch leider total aus.

Nun habe ich zusammengetragen was du aufgelistet hast.
Das lsusb habe ich
-Ohne Geräte
-Nur mit UNO
-Uno und Leonardo
-Nur Leonardo
gemacht.

Das dmesg | tail -8 habe ich
-Direkt nach Systemstart
-Direkt nach Leoplugin
und
-nacdem der Leo abgeklemmt war
gemacht.

Ich habe auch die Beta IDE Runtergeladen und dort den Leo ausgewählt doch leider bleibt auch hier die Portauswahl Grau und nicht auswählbar.

Hat das bei dir auf Anhieb geklappt mit dem Leo oder gabs da auch Startschwierigkeiten.
Ich danke dir für die Hilfe und einen schönen Tag
Roland

lsusb.jpg

direkt-nach-start.jpg

direkt_nach_leoplugin.jpg

Ubuntu 10.04 kennt den Leonardo noch nicht, da es diesen zu dem Zeitpunkt noch nicht gab. Ich verwende ein Ubuntu 13.10. Die Product-ID des Leonardo kam erst später im entsprechenden Treiber an. 10.04 hat vor fast einem Jahr End-of-Life erreicht, den Rechner solltest Du sowieso dringend updaten.

Hi pylon.

Da wundert es mich nicht das ich als laie das nicht hinbekam. Das wegen dem update ist ein momentanes nogo da es linuxcnc nurmit der 10.04 gibt. Ich habe heute aus spass mal eine 12 er version aufgespielt doch dann ging mir die zeit aus
Was mir aufgefallen ist das der altersschwache rechner mit der version 12 und 2 gb ram fast stehenbleibt

Gibt es keine möglichkeit ein treiberpaket auf einfachen wege zu implementieren? Das es unter 10.04 läufft?

Danke fuer die hilfe und schoene gruesse

Das wegen dem update ist ein momentanes nogo da es linuxcnc nurmit der 10.04 gibt.

Sagt wer? Auf der Webseite wird sogar ein fertiges Repository für 12.04 angeboten. Ich weiss zwar nicht, ob dort schon Support für den Leonardo drin ist, aber es ist zumindest zwei Jahre jünger und wird noch supported. LinuxCNC für ein aktuelles Ubuntu zu compilieren dürfte auch nicht die Welt sein.

Gibt es keine möglichkeit ein treiberpaket auf einfachen wege zu implementieren? Das es unter 10.04 läufft?

Der Update auf ein aktuelles Ubuntu und notfalls die Neukompilierung von LinuxCNC dürfte für den unerfahrenen Anwender einfacher sein, aber wenn Du willst, kannst Du natürlich auch unter 10.04 einen aktuellen Vanilla-Kernel selbst compilieren und installieren.

Hallo nochmal. Dann mach mich mal auf die suche nach wlternativen. Selbst soetwas zu erstellen und alles auf englisch traue ich mir wirklich nicht zu zumal es mit der maschiene wennns zu problemen kommt richtig gefährlich wird.

Die linuxcnc comunity ist diesbezüglich keine grosse hilfe esseiden man mag das herumgeflegle zu anfänngern undund nichtprofis.

Der charme von linux auf mich ist eigentlich gänzlich verflogen weil der deutschsprachige support beinahe nicht vorhanden ist.

Ich danke dir fuer die hilfe.

Und ps aktuell gibt es keine installationsfertige version von linuxcnc auf der seite. Die aktuellste ist eben die 10. De Rest ist eben wieder selbst zu erstellen.

Hallo nochmal. Dann mach mich mal auf die suche nach wlternativen. Selbst soetwas zu erstellen und alles auf englisch traue ich mir wirklich nicht zu zumal es mit der maschiene wennns zu problemen kommt richtig gefährlich wird.

Weshalb wird das gefährlich?

Die linuxcnc comunity ist diesbezüglich keine grosse hilfe esseiden man mag das herumgeflegle zu anfänngern undund nichtprofis.

Kann ich nicht beurteilen.

Der charme von linux auf mich ist eigentlich gänzlich verflogen weil der deutschsprachige support beinahe nicht vorhanden ist.

Das hängt wahrscheinlich davon ab, was Du unter Support verstehst. Du kriegst ja immerhin sogar im Arduino-Forum Support für Linux, also so schlimm kann es nicht sein.

Und ps aktuell gibt es keine installationsfertige version von linuxcnc auf der seite. Die aktuellste ist eben die 10. De Rest ist eben wieder selbst zu erstellen.

Ich wage zu widersprechen:
http://buildbot.linuxcnc.org/

Danke fuer den link von dir. Soweit ich da sehe gibt es zwei versionen die lucid welche 10.04ist und die hardy welche 8.04 ist. Es ist zwar eine anleitung fuer update dabei aber dennoch ist die version nicht offiziell unterstützt. Da sie wie schon etwähnt fuet leistungsschwache rechner nicht taugt.

Warum gefährlich! mit scharfen werkzeugen sollte man nicht spielen und ein crash kann gleich mal ein loch in die kasse reissen bei bewegten massen jenseits von 100 kg.

Auf jedenfall danke fuer die nette untethaltung mit dir.

Roland

Hallo Pylon!

Habe eben die 12.04 auf meinem Rechner installiert und die kiste bleibt beinahe stehen wenn man auch nur irgendetwas öffnet.

mit der 12.04 auf Buildbot hast du recht doch die LINUXCNC ist dort derzeit noch nicht Implementier und nur mit extremer bastelei zum laufen zu bekommen.

Der Leo läuft wenn man das Avr und Java nachinstalliert.

Gehe ich recht in der Annahme das du dich mit der Kernerkompilierung auskennst? Wie aufwendig wäre es den Leo in die 10.04 zu implementieren?
Schaffbar für einen interessierten user unter anleitung?
wenn alle stricke reissen dann hol ich mir eben Unos für das was ich vorhabe und die leos auf den markt gehauen :slight_smile:

einen schönen tag und alles gute

concierge:
Seit meinem Post ist viel Wasser ins Meer geflossen und konnte das eine oder andere Projekt verwirklichen.

Das Wasser?

Gruß Chris

Habe eben die 12.04 auf meinem Rechner installiert und die kiste bleibt beinahe stehen wenn man auch nur irgendetwas öffnet.

Hast Du den 2-D-Modus ausgewählt? Die 3-D-Spielereien sind auf moderner Hardware zwar nett, aber bei alter Hardware muss man die ausschalten, damit das Ding einigermassen tut. Bei mir läuft ein 13.10 auf einem 7-jährigen Notebook und das angenehm flüssig, aber eben ohne die überflüssigen Spielereien, die der Ubuntu-Chef natürlich standardmässig aktiviert sehen möchte, da sonst die Windows-Jünger immer das nicht-so-sexy Benutzerinterface bemängeln.

Gehe ich recht in der Annahme das du dich mit der Kernerkompilierung auskennst? Wie aufwendig wäre es den Leo in die 10.04 zu implementieren?

Auch wenn ich schon öfters einen eigenen Kernel compiliert habe, würde ich noch nicht von "auskennen" sprechen. Und wie bereits geschrieben: es ist um Faktoren einfacher, linuxcnc auf einem aktuellen Ubuntu (13.10) zum Laufen zu kriegen, als einen speziell gepatchten Kernel für 10.04 zu generieren. Nur so von wegen gefährlich: wenn der Kernel dann nicht das macht, was Du von ihm erwartest, dann geht Dein linuxcnc sowieso baden.

Schaffbar für einen interessierten user unter anleitung?

Das Bauen ist sicher machbar (einfach zeit- und lernintensiv), die richtige Konfiguration dürfte eher ein Problem sein. Damit Dein Ubuntu so läuft wie bisher, solltest Du die gleiche Kernel-Konfiguration verwenden und somit auch den von Ubuntu "vorgepatchten" Kernel-Source-Code. Dann kannst Du rein theoretisch "nur" das entsprechende Modul bauen und fertig bist Du. Aus meiner Erfahrung kann ich Dir aber sagen, dass bis dahin meist ein sehr langer Weg ist. Wenn Du mal eingerichtet bist und den ersten Kernel gebaut hast, sind weitere Anpassungen dann relativ einfach zu bewerkstelligen.

mit der 12.04 auf Buildbot hast du recht doch die LINUXCNC ist dort derzeit noch nicht Implementier und nur mit extremer bastelei zum laufen zu bekommen.

Ich kann Dir nicht folgen. Auf der Einstiegsseite sind die Einträge für die sources.list angegeben und wie Du aus untenstehendem Link entnehmen kannst, ist im Repository auch wirklich etwas enthalten. Da bei mir kein Rechner mehr mit 12.04 läuft, kann ich es auf die Schnelle nicht ausprobieren.

Alternativ könntest Du auch auf Debian Wheezy wechseln, das ist genügend aktuell für den Leonardo und es gibt ein linuxcnc-Repo fertig compiliert. Ich garantiere auch, dass es auf der älteren Hardware noch anständig performant laufen wird, das Debian in den Standard-Einstellungen auf die Grafik-Gimmicks verzichtet.

http://buildbot.linuxcnc.org/dists/precise/v2.5_branch-sim/binary-i386/

Hallo pylon. Danke für dein interesse an der sache. Die 2.5 auf der 12.4 sind derzeit nur als entwickler und sim -ulation vorgesehen offiziell gibt es laut homepage nichts aktuelleres und auch kein release datum.

Das mit debian klingt gut und die beschreibung scheint schlüssig. Habs nur überflogen. Auf 3 zoll ist mit das zu anstrengend zu lesen.

Der weg wird steinig und vorerst lass ich die alte version leben bis was neues kommt. Die frickelei ist mir zwar eine willkommene Abwechslung doch nicht am lebenden Maschienenrechner. Für den moment werd ich den uno seinen dienst tun lassen.

Aber destomehr ich probiere umso größer wird die lust auf mehr. Macht einfach spass wenn etwas funktioniert.

Danke für deine hilfe und beste grüße

Hallo Zusammen, Hi Pylon

Ich melde mich mal wieder mit mehr oder weniger großen Fortschritten. Bisher ist es MIR nicht gelungen den Leonardo mit Linux Sprechend zu machen und auch keine Andere Distribution mit Linuxcnc zum laufen zu bringen.

Ich versuche nun einen Anderen weg und lade den Sketch mit einem Windows PC hoch und möchte versuchen über Serial1 Daten an den Leo zu senden.

Was mich aber nun sehr wundert ist das im Leitfaden http://arduino.cc/de/Guide/ArduinoLeonardoMicro#toc11 Offiziell darauf hingewiesen wird das unter 10.04 KEIN Treiber benötigt wird. Also was mache ich dann wieder mal Falsch.

Für Hilfreiche hinweise immer offen und schöne grüße
Roland

Was mich aber nun sehr wundert ist das im Leitfaden http://arduino.cc/de/Guide/ArduinoLeonardoMicro#toc11 Offiziell darauf hingewiesen wird das unter 10.04 KEIN Treiber benötigt wird. Also was mache ich dann wieder mal Falsch.

Wie gesagt, ich habe kein Ubuntu 10.04 mehr bei mir installiert, deshalb habe ich einfach in den Vanilla-Kernel mit der gleichen Versionsnummer geschaut und dort ist zwar der Treiber vorhanden, aber die USB-Produkt-ID des Leonardo ist dort noch nicht eingetragen, d.h. der Treiber wäre zwar da, fühlt sich für dieses Gerät aber nicht zuständig.
Es ist natürlich möglich, dass die Ubuntu-Maintainer einen Patch eingespielt haben, der das noch nachträgt, aber das ist auf die Schnelle für mich nicht nachprüfbar.

Hoi Pylon!

Mit heute lege ich den Leonardo in den Schrank und Vergesse das Projekt.

Die hindernisse sind einfach zu hoch und für einen Anfänger und nicht Englischsprecher.

Die Serial1 Läuft nichtmal mit Putty und Xp- weder unter Ubuntu wo ich nichtmal die ttyS0 aktiviert bekomme. Gutmöglich das der Fehler ja im Sketch selbst liegt der aber beim Kompilieren nicht angezeigt wird. Ich dank dir aber für die Denkanstösse :slight_smile: und die Unterhaltung.

Schöne grüße
Conci

Hallo Zusammen!

Hi Pylon!
Habe deinen Rat befolgt und ein Neuers Ubuntu verwendet . Die 12.04 wird nun Offiziell unterstützt diese habe ich Installiert und den 3.4.55-rtai-2 Kernel dazu sowie Linuxcnc.

Die IDE Habe ichmit der Anleitung von hier auch zum laufen gebracht aber ABER ABER der Leonardo bindet sich nicht wirklich ein

Die HW info habe ich angehängt
Den Text Kann ich nicht einfügen wird alles immer so groß

Kannst du dir Darauf noch einen Reim machen oder wie bekomme ich ihn ans Laufen bevor er durchs Fenster Fliegt:)

Danke für die hilfe
und schöne Grüße
Conci =(

hwinfo (698 Bytes)

Hmmh, das hwinfo sagt eigentlich, dass der Leonardo erkannt wurde und der Treiber geladen wurde. Gib mal das folgende Kommando ein:

ls -l /dev/ttyACM*

Wenn ein Device gefunden wurde, dann wurde der Leonardo korrekt eingebunden. Kann es sein, dass Dein Benutzer die Berechtigungen für das Device nicht hat. Dies kann passieren, wenn er noch nicht in den entsprechenden Gruppen eingetragen ist.

Hi Pylon

Danke für den Tip
In Dialout und tty hab ich mich eingetragen ging nicht hab mich dann zu Root hinzugefügt und noch mal neu eingeloggt dann gings plötzlich.

Die Serial1 muss ich erst noch Behirnen wie das nun wieder geht. Habe mir dazu einen USB Serial Adapter geholt aber wenn ich sowiso Usb auf Serial gehe kann ich gleich die Serial verwenden.

Aber nun noch was anderes dazu also weiterführend.

Ich habe im Sketch nun stehen wenn über Serial eine Eingabe kommt soll der Arduino auf den Wert hochregeln. Mit einem Festen Wert aus dem Batchskript geht das ja nur wenn ich an das script nun eine Variable übergebe regelt der Arduino hoch und gleich wieder runter.

#!/bin/bash
#M110 Run Up
echo -n $1 >>/dev/ttyACM0

Weist du dafür vieleicht auch einen Trick? das ich den wert der hier wenn M110 P60 aufgerufen wird der wert 60 auf den Arduino bleibt und nicht wieder runtergeht auf 0? Das P steht für den Parameter $ im Spript.

Danke und schöne Grüße

BL.ino (1.57 KB)