Mit HaikuVM ist es möglich Microcontroller und somit den Arduino in Java zu programmieren. Auf dem MC läuft aber keine VM. Stattdessen wird der Java-Bytecode in C-Code übersetzt und dann mit einem Crosscompiller auf den MC angepasst.
Auf der Projektseite gibt es ein ausführliches Windows und Linux Tutorial, doch wie sieht es mit MAC OS X aus?
Im folgendem werde ich erläutern, wie man HaikuVM auf dem Mac installiert, einrichtet und schließlich ein einfaches Beispiel ausführt.
Vorbereitung
Um HaikuVM installieren zu können braucht man ein AVR Toolchain wie CrossPack und dos2unix. Beide Programme kann man sich per MacPorts auf den Mac ziehen. Alternativ kann man sie auch als .pkg runter laden: dos2unix CrossPack
Achtung: HaikuVM läuft zur Zeit (28.02.13) nicht mit der neusten Version von CrossPack. Version 20120217 hat bei mir einwandfrei funktioniert.
Installation
Nachdem man die Voraussetzungen erfüllt hat kann man die neuste Version von HaikuVM runter laden und in den Home-Ordner entpacken. Dann macht man die Programme ausführbar:
chmod +x haikuVM/bin/*
und behebt noch Ungereimtheiten:
dos2unix haikuVM/bin/*
Nun muss man den Port rausfinden, an dem der Arduino angeschlossen ist. Man kann dies, indem man die Arduino IDE öffnet und dann den Serial Monitor startet. Dann steht oben der Port zum Arduino.
Arduino IDE – Serial Monitor
Nun macht man diesen noch ausführbar:
sudo chmod a+rw /dev/tty.usbmodem1d171
Als letztes ändert man noch den Port in <haikuvm_home>\config\HaikuVM.properties :
HaikuVM Properties
Ich hab bei mir noch die Baudrate verändert, da ich einen Arduino UNO SMD R2 habe und ich sonst beim Upload immer einen ‚Programmer is not Responding‘ Error bekommen würde.
Das erste Programm
Um ein erstes Beispiel auszuführen gibt man nun einfach diese Zeile ein:
/Users/bob/haikuVM/bin/haiku -v –Config arduino -o BlinkWithThread.hex /Users/bob/haikuVM/examples/src/main/java/arduino/tutorial/BlinkWithThread
Achtung: bob muss zu dem eigenen Benutzernamen geändert werden.
Wenn alles funktioniert, sollte nun an Pin 13 eine LED aufblinken.
Gefällt mir Wird geladen …