[GELÖST] Arduino Yún - Python auf dem Linux-Prozessor

Ich bin’s wieder.
Da ja jetzt mein Problem mit dem Display-Spielchen gelöst ist, musste ich mich natürlich mal wieder in einem Neuen verfangen. Dieses mal habe ich es auf Python zusammen mit meiner Wolke abgesehen. Eigentlich wollte ich Gebiete, in denen Programme nicht schön mit geschwungenen Klammern und Semikolons gegliedert sind, meiden. Ich habe zu Weihnachten einen C64 + Schwabbel-Disketten + Bücher über das Ding bekommen. Auf dem C64 gibt es weder Semikolons in dem Sinne, wie man sie bei C++ braucht, noch geschwungenen Klammern. Mist. Aber mit den entsprechenden Büchern, die den C64 als Hochleistungs-PC loben, macht BASIC doch ganz schön Spaß. Auch wenn grottig lahm. Egal! Da ich so ja schon gegen mein Keine-Programmiersprache-ohne-Semikolons-Grundgesetz verstoßen hatte, dachte ich mir, dass so ein kleiner Verstoß doch eigentlich nicht sooo schlimm ist und ich mir ruhig einen Zweiten gönnen könnte. So bin ich also zu Python gekommen. Um genauer zu sein, auf diese Seite. Das Kapitel “Interaktiver Modus” habe ich auch vernünftig hinbekommen, Auszug aus dem seriellen Monitor, den ich zum Terminal umgebastelt hatte:

root@Yun:/# /usr/bin/python 
Python 2.7.14 (default, Apr 24 2018, 17:17:07) 
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 2+2
4
>>> print("Hallo an alle aus dem Arduino-Forum! ")
Hallo an alle aus dem Arduino-Forum! 
>>> 3*3
9
>>> (3+3) * 2
12
>>> _ + 3
15
>>> quit()
root@Yun:/#

Okay, zugegeben, ich halte mich nicht gerne 100% an Tutorials, zumindest dann, wenn ich eine Ahnung habe, wie ich meinen Kram abwandeln kann. Aber es war ja haupsächlich ein Test.
Wahrscheinlich fangen jetzt die meisten Leser von diesem Text an, ungeduldig auf mein Problem zu warten. Keine Sorge, das Problem habe ich nicht vergessen und es kommt jetzt auch.
Und zwar schon beim nächsten Kapitel von diesem Tutorial. Code ausführen - das klingt doch eigentlich ganz nett und einfach. Ich habe mich für’s Erste auf Bilder beschränkt, mein Hirnteil, der für das Lesen von Texten verantwortlich ist, hing wohl immernoch vor dem dicken Röhrenbildschirm des C64s. Also habe ich einfach mal so hinter das “root@Yun:/#” “more python_lernen” getippert und gesendet und bekam ein nettes, aber bestimmtes “less: can’t open ‘python_lernen.py’: No such file or directory” zurück. Wahrscheinlich hatte sich mein Hirnteil fürs Lesen von Texten vom Röhrenbildschirm halbwegs gelöst, ich fing also an, den Text auf der Seite zu lesen. Man musste also den Python-Sketch python_lernen.py erstmal irgendwie speichern, klar, der Yún konnte ja nicht wissen, dass ich diese Datei erstellen wollte und “print(“Python lernen!”)” hineinschreiben wollte, außer, wenn man, bisher unentdeckt, ein WLAN-Netzwerk auch für Telepathie einsetzen kann.
Natürlich habe ich nicht einfach aufgehört mit Python, ich habe wie ein Doofer versucht, irgendwie herauszukriegen, wie man die .py-Datei auf dem Yún speichern kann, das einzige, was ich herausbekommen habe, war, dass Yún die Aussprache des Chinesischen Wortes für “Wolke” ist und zu dem Zeitpunkt, als irgendwer einen Blog-Post geschrieben hat, alle Yúns in Deutschland ausverkauft waren. Das hat mir alles zwar phantastisch weitergeholfen, ich wusste jetzt endlich, was Yún bedeutet und dass einmal einmal alle Yúns ausverkauft waren (praktischerweise stand bei diesem Blog kein Datum), aber ein Tutorial für Python auf dem Yún habe ich nirgendwo gefunden.
Meine Frage: Kennt ihr ein Tutorial (wenn’s geht, bitte auf Deutsch, der Google Translater kommt nämlich immer wieder auf neue lustige Gedanken, beispielsweise aus “delay(1000);” “Verzögerung (1000)” zu machen), indem es um den Yún in Kombination mit Python geht oder könnt ihr mir das auch irgendwie selbst erklären?
Vielen Dang schonmal im Voraus.

Gruß
HTML-Fan

PS: Frohe Weihnachten nachträglich!
PPS: Frohes Neues vorträglich! Sonst vergesse ich es entweder oder das Internet schmiert um Mitternacht ab.
PPPS: Danke an alle, die es geschafft haben, ohne 5 Red Bull meinen Roman am Stück durchzulesen.

Du brauchst einen Editor. Unter UNIX-artigen Systemen ist der vi (bzw. der vim) weit verbreitet. Zur Bedienung gibt es die "vi-Referenz-Tasse".

Ich glaube Emacs bekommst Du auf den Yun nicht drauf. (da brauchst Du dann das Referenzfass).

Gruß Tommy

Äh, kleine, blöde Frage: Was sind Emacs? Google hat nur irgendwas Unbrauchbares von einem Bildungs-PC von Apple ausgespuckt.

Emacs ist ein extrem umfangreicher Editor/ein Entwicklungssystem.

Man sagt aber auch scherzhaft: Dem Betriebssystem Emacs fehlt eigentlich nur ein brauchbarer Editor.

Vi vs. Emacs ist ein uralter und immer noch aktueller Glaubenkrieg in UNIX-artigen Systemen. Wie Nürnberg vs. Fürth, Frankfurt vs. Offenbach, ...

Gruß Tommy

Tommy56: Du brauchst einen Editor. Unter UNIX-artigen Systemen ist der vi (bzw. der vim) weit verbreitet.

Und wie kriege ich das auf den Yún?

Wäre es vielleicht auch möglich, auf einer SD-Karte / einem USB-Stick diese Datei zu speichern?

Evtl. ist der schon drauf. Probiere doch mal die Eingabe von "vi test.txt"

Ich habe keinen Yun.

Gruß Tommy

Okay, jetzt habe ich "vi test.txt" mal eingegeben und wurde mit einem Zeichensalat belohnt:

root@Yun:/# vi test.txt
e[?1049he[999;999He[6ne[1;1He[Je[2;1H~e[3;1H~e[4;1H~e[5;1H~e[6;1H~e[7;1H~e[8;1H~e[9;1H~e[10;1H~e[11;1H~e[12;1H~e[13;1H~e[14;1H~e[15;1H~e[16;1H~e[17;1H~e[18;1H~e[19;1H~e[20;1H~e[21;1H~e[22;1H~e[23;1H~e[1;1He[24;1He[K- test.txt 1/1 100%e[1;1H

Wie soll ich das verstehen?

Tommy56: Ich habe keinen Yun.

Würde ich dir aber echt empfelen. Oder ein YúnShield, was eben nur den Linux-Prozessor zum Aufsetzen auf einen anderen Arduino hat. Man hat mit dem Yún (oder -Shield) Ethernet, SD-Kartenleser, USB-Anschluss, WLAN und einen Linux-Prozesor auf einer Platine mit der Größe eines Unos. Die Shields gibt's für 20€ zumindest als Clone, für 45€ habe ich meinen Yún am Black Friday (oder Cyber Monday?) hier auf der offiziellen Arduino-Homepage bekommen. Der einzige Nachteil beim Yún ist, dass kein 6 - 12v => 5v Spannungsregler am Vin-Input dran ist.

Wie soll ich das verstehen?

Dein Linux hat vi, aber dein Terminal kann keine ESC-Sequenzen.

( Ich hab übrigens auch keinen Yún )

Ist das jetzt ein Fehler / gut / beides irgendwie gemischt?

Läuft auf dem Yún ssh? Wenn ja, kannst du per scp da Dateien draufkopieren.

Ich habe mal versucht, mittels PuTTY eine SSH-Verbindung zwischen PC und Yún aufzubauen, meine 192.168.X.XXX-IP habe ich also eingegeben und auf OK oder Starten oder was es zum Starten gibt, ich habe hier kein PuTTY, gedrückt und da wollte er dann irgendwie einen Login-Namen haben. Da hatte ich dann keine Ahnung, was da hin muss.

Hi

Hier wird direkt im 2.ten Post geschrieben, daß einfach nur das Passwort angepasst wurde, womit man sich dann einloggen kann. https://forum.arduino.cc/index.php?topic=359702.0

Hatte nach 'Standard Login Yun' gesucht, war der erste Treffer.

MfG

@postmaster-ino Darum geht es mir nicht. Das PW weiß ich ja, ich komme über den Browser auch rein. Mein Problem ist, dass bei PuTTY nicht nur ein Passwort gefordert wurde, sondern auch ein Login-Name.

login as: yun
yun@192.168.X.XXX's password:
Access denied
yun@192.168.X.XXX's password:

Als ich "yun" eingegeben habe, einfach so als Test, ob diese Angabe überhaupt relevant ist, und das obrige kam. Auch bei "Yun", dem konfigurierten Namen und auch, wenn ich einfach nichts eingegeben und [ENTER] gedrückt habe.

Versuch mal als Benutzer root

Jau, läuft!! Und wie funktioniert das jetzt genau mit dem Daten übertragen?

Wenn du Windows hast, nimmst du am besten WinScp. Dann hast du eine grafische Oberfläche die auf DragAndDrop unterstützt.

Welches Übertragungsprotokoll brauche ich für WinScp, um den PC mit der Wolke zu verbinden? Portnummer ist 22, Benutzername ist root und das Passwort ist das konfigurierte Passwort. Richtig?

HTML-Fan: Würde ich dir aber echt empfelen. Oder ein YúnShield...

Warum sollte ich? Wenn ich ein "großes" Linux brauche, boote ich MINT, wenn ein kleines genügt, gehe ich mit ssh auf den RasPi, der als Drucker- und Zeitserver läuft.

Gruß Tommy

HTML-Fan: Welches Übertragungsprotokoll brauche ich für WinScp, um den PC mit der Wolke zu verbinden? Portnummer ist 22, Benutzername ist root und das Passwort ist das konfigurierte Passwort. Richtig?

Versuch mal scp. Ja