Jeffrey Cross
Jeffrey Cross

Abenteuer in der Android ADK-Entwicklung: Hardware

Zu diesem Zeitpunkt in meiner Android-Saga habe ich das Android SDK und Eclipse alle gut genug laufen lassen, um eine Hello World im Android-Emulator auszuführen. Dies ist ein wichtiger Schritt, aber ich möchte mehr. Ich möchte, dass es auf echter Hardware läuft! In diesem Fall ein Nexus One-Telefon.

Ich habe ein Systemupdate installiert, um das Telefon auf Schnupftabak zu bringen, insbesondere auf die Betriebssystemversion 2.3.4 (Gingerbread). Die ADK- und USB-Hostfunktionalität erfordert 2.3.4 oder höher. Mit den Schritten in diesem Handbuch habe ich das Telefon für den Entwicklungsmodus eingerichtet. Die wichtigsten Schritte sind, den Applications> Development-Modus des Telefons auf "USB-Debugging" und "Debuggable" in der Datei "AndroidManifest.xml" für das Programm "HelloWorld" in Eclipse auf "true" zu setzen.

Als ich nun HelloWorld von Eclipse aus ausführte, wurde der Emulator nicht gestartet, sondern hochgeladen und die App auf dem Telefon ausgeführt. Dies verlief reibungslos und so entschied ich, dass es an der Zeit war, mit dem ADK zu arbeiten.

Auch auf der Android Developer-Website gibt es hervorragende Informationen zum Installieren des ADK. Zuerst stellte ich sicher, dass ich die Arduino IDE 22 installiert hatte. Dann habe ich das ADK-Paket heruntergeladen und entpackt, das einige notwendige Arduino-Bibliotheken enthält (für die USB-Host-Funktionalität, die Open Acessory Protocol-Bibliothek und die CapSense-Bibliothek, die beim Berühren des registriert werden soll) kleiner goldener Android-Roboter auf dem Demo-Schild), eine DemoKit-Android-App und eine entsprechende DemoKit-Arduino-Skizze. Der Download enthält auch alle Fabrikationsdateien für die ADK-Platine und das Demo-Schild, falls Sie neugierig sind oder einen eigenen Wurf ausführen möchten. Ich habe die DemoKit.pde-Skizze mit der Arduino-Software auf den ADK Arduino hochgeladen.

Bevor ich die Android DemoKit-Anwendung kompilieren und ausführen konnte, musste die Add-On-Bibliothek von Google APIs Level 10 installiert werden. Dieser Teil hat mich in die Irre geführt, denn als ich in Eclipse zum Android SDK und AVD Manager ging, habe ich die SDK Platform API 10 (die ich bereits hatte) für die Google APIs Android API 10 verwechselt, die ich brauchte. Ich musste auch festlegen, dass das Eclipse-Projekt mit dem Google-API-Ziel erstellt wird, NICHT mit der Android-Zielplattform. Die DemoKit-Anwendung hat viele Fehler ausgegeben, bis das Internet mir geholfen hat, das herauszufinden. (Es kann fluchen und werfen von Objekten geben, das erzähle ich nicht.)

Nachdem dies hinter mir war, konnte ich die DemoKit-Anwendung auf "debuggable" setzen und am Telefon ausführen! Ich konnte das Arduino während des Hochladens der Android-App nicht an das Telefon anschließen, sodass dieses großartige Bild auftauchte.

(Übrigens, ich habe auf diese einfache Art und Weise Screenshots des Telefons auf meinem Computer bei Android Central aufgenommen.)

Mit meiner aufregenden Spannung entfernte ich das USB-Kabel des Telefons von meinem Computer und in die ADK Arduino-Platine, die von einer 12-V-Wandwarze gespeist wird. Ich habe die DemoKit-App vom Telefon aus gestartet und alles hat funktioniert! Die App hat zwei Modi, Eingabe und Ausgabe. Im Eingabemodus werden die Daten des Demo Shield auf dem Telefon angezeigt, einschließlich der Temperatur- und Lichtsensordaten sowie des zweiachsigen Joysticks, der drei Tasten und der kapazitiven Roboter-Pads.

Im Ausgabemodus können Sie mit Hilfe von Schiebereglern drei (sehr helle) RGB-LEDs leuchten und farblich kombinieren, drei Servos steuern und die Bildschirmtasten antippen, um zwei 12-V-Relais zu öffnen und zu schließen.

Ich hatte viel Spaß damit, mit der DemoKit-App herumzuspielen, helle Farben zu mischen, mich zu blenden, die Relais zu drehen und die Eingabedaten auf dem schönen Bildschirm des Nexus One zu überprüfen. Ich bin sicher, dass es viele, viele Möglichkeiten gibt, Android-Apps zu schreiben, die ADK-Hardware auf umwerfende Weise einsetzen werden, aber vorerst bin ich ziemlich aufgeregt, nur über eine so schöne Touchscreen-Oberfläche zu einem Arduino zu verfügen.

Hier ist ein Video, das mich mit einem konvertierten Servo mit kontinuierlicher Rotation auf der Platine zeigt und mit den LEDs spielt.

Aktie

Leave A Comment