ubuntuusers.de

Arduino mit LibreOffice Calc

Status: Ungelöst | Ubuntu-Version: Ubuntu 16.04 (Xenial Xerus)
Antworten |

leolustig

Anmeldungsdatum:
4. April 2018

Beiträge: 41

Hallo!

Ich habe unter Windows eine Menge mit Compulab von AK-Modulbus gemacht. Mit VBA in Excel lassen sich die Funktionsmodelle sehr gut steuern, mit Schaltflächen und Anzeigen. Schnittstelle war eine RSAPI.dll.

Nun möchte ich diese Funktionsmodelle unter Ubuntu mit Libreoffice Calc ansteuern. Es scheint so zu sein, dass ich dafür dann am besten einen Arduino-Controller verwende. Die Arduino-IDE gibt es ja für Ubuntu.

Hat jemand eine Idee, wie man mit LibreOffice Basic auf den Arduino zugreifen kann?

Oder gibt es da noch andere Controller, mit denen man das machen kann?

Dakuan

Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6479

Wohnort: Hamburg

Der Arduino ist eher ein Mikrocontroller, und wenn Du keine Klimmzüge machen willst, kommst Du da nur über die USB-Schnittstelle ran.

Ich würde da eher einen Raspberry-Pi nehmen, habe jetzt aber auch keine Idee, wie man das angeht. Ich kann auch nicht erkennen, was Du genau vor hast.

p.s.

Schnittstelle war eine RSAPI.dll.

Das hört sich sehr Windows spezifisch an. Das hatte ich mit "Klimmzüge" gemeint. Dafür bräuchtest Du eine Linux Entsprechung RSAPI.so, die es wahrscheinlich nicht gibt.

leolustig

(Themenstarter)

Anmeldungsdatum:
4. April 2018

Beiträge: 41

Ich habe es jetzt erst einmal mit der Arduino-IDE versucht. Gegeben: Nagelneuer Arduino-Uno Rev. 3 Ubuntu 16.04 LTS Arduino LTS mit "Ubuntu-Software" installiert (arduino-mhall119) Benutzer gehört zu Gruppe dialout.

Fehlermeldung:

Arduino: 1.6.10 (Linux), Board: "Arduino/Genuino Uno"

Der Sketch verwendet 928 Bytes (2%) des Programmspeicherplatzes. Das Maximum sind 32.256 Bytes.
Globale Variablen verwenden 9 Bytes (0%) des dynamischen Speichers, 2.039 Bytes f?r lokale Variablen verbleiben. Das Maximum sind 2.048 Bytes.
/home/asterix/snap/arduino-mhall119/3/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino9/bin/avrdude -C/home/asterix/snap/arduino-mhall119/3/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -carduino -P/dev/ttyACM0 -b115200 -D -Uflash:w:/tmp/build401f858794d6b602542c296bf1a13769.tmp/Blink.ino.hex:i 

avrdude: Version 6.3, compiled on Jan 17 2017 at 11:00:16
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/home/asterix/snap/arduino-mhall119/3/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino9/etc/avrdude.conf"
         User configuration file is "/home/asterix/snap/arduino-mhall119/3/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/ttyACM0
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: ser_open(): can't open device "/dev/ttyACM0": Permission denied

avrdude done.  Thank you.

Problem beim Hochladen auf das Board. Hilfestellung dazu unter http://www.arduino.cc/en/Guide/Troubleshooting#upload.

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.

Rules:

cat /etc/udev/rules.d/01-ttyusb.rules

SUBSYSTEM=="tty", ATTRS{0x2341}=="(vendor)", ATTRS{0x0002}=="(product)", ATTRS{55739323237351D0C122}=="(serial)", SYMLINK+="ttyUSB.arduino", GROUP="adm"

Kann es sein, dass das "ttyUSB.arduino" falsch ist?

Ich bekomme die kleine Kiste nicht zum Laufen :-/

Ach ja und

groups asterix
asterix : asterix adm dialout cdrom sudo dip plugdev lpadmin sambashare

leolustig

(Themenstarter)

Anmeldungsdatum:
4. April 2018

Beiträge: 41

PS: Vielleicht sollte ich gleich einen Raspberry Pi nehmen und dort LibrOffice-Calc starten, das Display auf das Notebook umleiten. Wahrscheinlich ist das nicht so schwer, die Ports des Raspberry dann in Calc direkt anzusprechen?

Marc_BlackJack_Rintsch Team-Icon

Ehemalige
Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4668

Wohnort: Berlin

@leolustig: Die Arduino-IDE versucht offensichtlich das Programm über /dev/ttyACM0 zu übertragen und hat dazu nicht die nötigen Rechte. Was zwei Fragen aufwirft: ist das überhaupt die richtige serielle Schnittstelle und falls ja, was genau ist das Rechteproblem hier.

Grundsätzlich würde ich sagen eine Tabellenkalkulation kann irgendwelche GPIO-Ports von Natur aus erst einmal gar nicht ansprechen. Warum sollte sie auch‽ Was willst Du denn eigentlich machen? Und welchen Anteil daran hat die Tabellenkalkulation? Also ich meine wirklich die Tabellenkalkulation, und nicht das es unter Windows Leute gibt, die Excel für ziemlich komischen Sachen missbrauchen, weil es das einzige Werkzeug ist, das sie kennen und es daher für alles verwenden. ☺

Dakuan

Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6479

Wohnort: Hamburg

Die Arduino-IDE versucht offensichtlich das Programm über /dev/ttyACM0 zu übertragen und hat dazu nicht die nötigen Rechte. Was zwei Fragen aufwirft: ist das überhaupt die richtige serielle Schnittstelle und falls ja, was genau ist das Rechteproblem hier.

Ja, das ist die richtige Schnittstelle und bei mir funktionierte das auch out of the box.Allerdings hatte ich das damals auf einem Debian System installiert. Und ich erinnere mich auch, das ich die ganz normal nutzen konnte um z.B. Messwerte zu übertragen, wozu dann aber aus der Arduino IDE die entsprechenden Funktionen eingebunden werden muss. Habe damit allerdings seit mehr als einem Jahr nichts mehr gemacht.

leolustig

(Themenstarter)

Anmeldungsdatum:
4. April 2018

Beiträge: 41

Programmieren in einer Tabellenkalkulation hat einige Vorteile:

  • Werte können über die Zellen der Tabelle einfach ein- und ausgegeben werden.

  • Die Werte können sehr einfach visualisiert werden.

  • Schaltflächen und Listboxen sind einfach zu realisieren.

  • Es gibt eine sehr gute IDE

  • Die IDE ist nahezu überall verfügbar.

  • In Studium und Beruf sind kleine Tabellenprogramme schnell erstellt und nützlich

Beispiele siehe Anhang

Bilder

leolustig

(Themenstarter)

Anmeldungsdatum:
4. April 2018

Beiträge: 41

Ich kann den Arduino jetzt in der Arduino-IDE ansprechen. Das Problem war das Programmpaket, welches ich mit "Ubuntu Software" installiert hatte. Wählt man auf https://wiki.ubuntuusers.de/Arduino/ den apt-url-Installer hat man eine deutlich andere IDE auf dem Rechner, welche dann auch funktioniert.

Bleibt noch die Frage, wie ich das Gerät unter LibreOffice anspreche... ich arbeite mich langsam vor. Gibt es jemanden, der den Arduino aus anderen Programmen steuert?

Marc_BlackJack_Rintsch Team-Icon

Ehemalige
Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4668

Wohnort: Berlin

@leolustig: Man Programmiert ja üblicherweise den Arduino selbst. Kommunikation mit Programmen auf einem PC läuft in der Regel über die serielle Schnittstelle.

leolustig

(Themenstarter)

Anmeldungsdatum:
4. April 2018

Beiträge: 41

Es ist wahrscheinlich wie so oft: Der Workflow unter Windows lässt sich nicht eins zu eins auf Linux übertragen. Arduino und Fritzing sind in jedem Fall geniale Werkzeuge.

Da der Arduino selbst das Steuerprogramm ausführt und PC-unabhängig läuft, ist er wohl grundsätzlich nicht für eine Steuerung aus Calc heraus geeignet. Ich werde erst einmal mit der Arduino-IDE und Fritzing weiter machen. Damit dürfte die Ampelschaltung fix fertig sein.

Werde mir wahrscheinlich bald einen Raspberry zulegen und dann mal schauen, ob man da in Calc Zugriff auf die IO-Ports bekommt.

Dakuan

Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6479

Wohnort: Hamburg

Da der Arduino selbst das Steuerprogramm ausführt und PC-unabhängig läuft, ist er wohl grundsätzlich nicht für eine Steuerung aus Calc heraus geeignet.

Ich denke, ganz so einfach ist die Sache nicht. Irgendwie muss das Steuerprogramm erstmal auf den Arduino. Wenn Du das Programm bereits hast, sollte das mit der IDE möglich sein.

Aber das die Steuerung aus Calc heraus funktioniert, sehe ich noch nicht. Ich habe mir mal flüchtig angesehen, was da gemacht wird und das scheint alles sehr speziell auf Windows, speziell Excel und VisualBasic, zugeschnitten zu sein.

Mir ist auch nicht ganz klar, was Excel da über die serielle Schnittstelle da abliefern soll.

Werde mir wahrscheinlich bald einen Raspberry zulegen und dann mal schauen, ob man da in Calc Zugriff auf die IO-Ports bekommt.

Da sehe ich wenig Unterschied, das wird das gleiche in grün (oder rot?) sein.

Marc_BlackJack_Rintsch Team-Icon

Ehemalige
Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4668

Wohnort: Berlin

Das was Duakan da verlinkt hat ist auch alles ein wenig angestaubt. Eine DLL für Win95/Win98, Word/Excel 97, und VisualBasic 5-Beispiele‽

Ich habe da immer noch die Vermutung das Excel ziemlich heftig missbraucht wird, und das man eigentlich eher eine ganz normale Programmiersprache mit einer GUI-Anbindung verwenden würde, wenn nicht Excel und VBA alles ist was man kennt. Und ja, Excel und VBA ist nicht wirklich portabel auf andere Plattformen. Wobei ich auch unter Windows komisch gucken würde wenn jemand mit einem Funktionsmodell für eine Ampelsteuerung ankommt und sagt, er programmiert das mit Excel, weil sich das dafür so gut eignet. ☺

leolustig

(Themenstarter)

Anmeldungsdatum:
4. April 2018

Beiträge: 41

Für jemanden, der noch nie programmiert hat und der evtl. auch nur eine einzige Programmiersprache und eine einzige IDE kennen lernt - zum Beispiel in der Schule - macht Excel bzw. Calc sehr wohl Sinn. Eine Tabellenkalkulation ist auch für alle im kaufmännischen und wirtschaftswissenschaftlichen Bereich Tätigen ein sehr wichtiges Werkzeug. Kann man da auch Programme schreiben ist das sehr nützlich.

Wenn man Informationsverarbeitung unterrichtet, fängt man nicht mit Funktionsmodellen an, sondern mit einem kleinen Kreditrechner und anderen reinen Tabellenanwendungen. Die Techniker dürfen dann zusätzlich mit den Funktionsmodellen arbeiten.

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

Für jemanden, der noch nie programmiert hat und der evtl. auch nur eine einzige Programmiersprache und eine einzige IDE kennen lernt - zum Beispiel in der Schule - macht Excel bzw. Calc sehr wohl Sinn.

Nee. Klar sind Makros "Programme", aber in einem eingeschränkten Kontext mit (bewusst) eingeschränktem Funktionsumfang. Makros komplett von Hand schreiben (und nicht zusammen klicken) ist aber auch nicht trivial und erfordert Übung / Programmiererfahrung.

Eine Tabellenkalkulation ist auch für alle im kaufmännischen und wirtschaftswissenschaftlichen Bereich Tätigen ein sehr wichtiges Werkzeug.

Das stellt sicherlich auch keiner in Frage - hat nur mit der Ausgangsfrage nichts zu tun.

Kann man da auch Programme schreiben ist das sehr nützlich.

Das passt doch schon der Satz: "Wenn dein einziges Werkzeug ein Hammer ist, wird alles zum Nagel." 😉

Wobei ich auch unter Windows komisch gucken würde wenn jemand mit einem Funktionsmodell für eine Ampelsteuerung ankommt und sagt, er programmiert das mit Excel, weil sich das dafür so gut eignet.

+1

Gruß, noisefloor

leolustig

(Themenstarter)

Anmeldungsdatum:
4. April 2018

Beiträge: 41

Immer wieder diese leidigen Sinndiskussionen. Zu meinen "Werkzeugen" gehörten u.a. Cobol, Fortran und Lochkarten. Aus Erfahrung kann ich sagen, dass ein Einstieg in die Programmierung mit einer Tabellenkalkulation gut gelingt und schnell zu Erfolgserlebnissen führt. Als ich das erste Mal von MessenSteuernRegeln mit Excel gelesen habe, musste ich allerdings auch schmunzeln, aber die Vorteile haben mich überzeugt und die Praxis (mit Excel unter Windows) hat das bestätigt.

Ich habe jetzt einen Raspberry Pi bestellt. Was ich so gelesen habe, wäre ein Zugriff mit Python auf die GPIOs möglich. Dann export DISPLAY auf den Schleppi und schon kann man in Calc die Funktionsmodelle ansteuern - hoffe ich 😉

Antworten |