Nunja, was man so kompatibel nennt. Er ist "Arduino Certified".
http://arduino.cc/en/ArduinoCertified/Products
Wie schon oben gesagt, verwendet Intel einen Fork der normalen Arduino Entwicklungsumgebung. Die muss man parallel installieren, wenn man andere Arduinos hat. In der Intel Variante erscheint nur der Galileo als Board Typ.
Allerdings ist es eigentlich kein Microcontroller. Es ist ein kleiner PC, der einen Arduino simuliert. Der Prozessor ist ein Abkömmling des guten alten Pentium (Version 1) mit 400 MHz getaktet. Er ist im Prinzip Shield kompatibel mit dem Uno, allerdings sind die IOs nicht sehr schnell, da sie auf dem Board über einen I2C-Portexpander erzeugt werden. Aber das Board hat Micro-SD Slot, Ethernet, USB-Host, USB-Client und einen Mini PCI-Express Steckplatz, also eine Menge für einen 60 Euro (inkl. enthaltenes Stecknetzteil) Rechner.
Auf dem Rechner läuft ein Linux, das die Arduino Sketches quasi interpretiert. Man kann auch aus dem Arduino Programm mit system die Linux Konsole aufrufen und dort z.B. Python Scripts ansteuern.
Aber die Software ist eigentlich auch das Problem des Rechners. Irgendwie wirkt das ganze, als habe Intel die Hardware entwickelt und die Software einem Praktikanten überlassen. Meine normalen Bastelrechner sind Beaglebone Black, dagegen wirkt das Linux des Galileo doch sehr vermurkst.
Dass jetzt eine anständige IDE zur Verfügung steht, inkl. Remote Debugging halte ich für einen großen Fortschritt, auch wenn ich glaube, das Windows insgesamt nur eine Nebenrolle bei den kleinen Rechnern spielen kann.
Die Arduino Programme bleiben anscheinend weitgehend erhalten, hier das Blink Beispiel
Code:
#include "stdafx.h"
#include "arduino.h"
int _tmain(int argc, _TCHAR* argv[])
{
return RunArduinoSketch();
}
int led = 13; // This is the pin the LED is attached to.
void setup()
{
pinMode(led, OUTPUT); // Configure the pin for OUTPUT so you can turn on the LED.
}
// the loop routine runs over and over again forever:
void loop()
{
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
Log(L"LED OFF\n");
delay(1000); // wait for a second
digitalWrite(led, HIGH); // turn the LED on by making the voltage HIGH
Log(L"LED ON\n");
delay(1000); // wait for a second
}
Dazu hat man Zugriff auf die (eingeschränkte) Win32-API und, was mir derzeit auf dem Galileo fehlt, zur normalen C- und C++ Standardbibliothek.
Lesezeichen