Jeffrey Cross
Jeffrey Cross

Varför Google väljer Arduino Matters och är detta slutet på "Made for iPod" (TM)?

Den här veckan är den årliga Google I / O-enheten på Moscone Center i San Francisco. Det är ett möte och hälsning för massor av människor och företag, en stor dot-com över-the-top party, och mest av allt är det riktat mot "Web-, mobil- och företagsutvecklare bygger applikationer i molnet med Google och öppen webbteknologi ... Produkter och teknik som ska presenteras på I / O inkluderar App Engine, Android, Google Web Toolkit, Google Chrome, HTML5, AJAX och Data API, Google TV och mer. " Kanske inte så mycket Google TV eller Google Wave i år :) men för öppna hårdvaru- och mobila personer var detta en av de viktigaste veckorna i historien.

I den här veckans kolumn kommer jag att prata om att Google väljer open source-hårdvaruplattformen (Arduino) för "Android Open Accessory" -paketet, och varför det här är viktigt. Jag ska också prata lite om hur Google kan göra det bättre. Och då ska jag göra vad jag alltid gör i många av mina kolumner: gör förutsägelser (varför Arduino vann och varför det är här för att stanna). 1) Google kommer att ha en "Kinect-style" -uppgång av kreativitet för Android + Arduino; 2) Apple kommer att börja överge sitt restriktiva program för "Made for iPod" (TM) och anta Arduino på något sätt för tillbehörsutveckling. 3) Microsoft / Nokia / Skype är noga med att uppmärksamma allt detta, och de bör titta på Netduino för deras tillbehörsutveckling för Windows Phone 7.

Om mobila företag vill se telefonmarknaden blomstra med kreativitet, med tillbehör aldrig föreställt, så kan det hända.

Låt oss hoppa rätt i ...

Några quickie Android-statistik (enligt Google):

  • 100 miljoner aktiverade Android-enheter
  • 400 000 nya Android-enheter aktiveras varje dag
  • 200 000 gratis och betalade program finns i Android Market
  • 4,5 miljarder applikationer installerade från Android Market

Okej, boom - massor av människor med dessa telefoner, även Apple måste vara lite nervös för alla dessa telefoner. Google berättade för världen i veckan att de använder Arduino för enkel utveckling när de skapar tillbehör till Android-plattformen "Android Open Accessory." Det är ett perfekt val, vi kommer in på varför inom kort. Här är vad de sa, och du kan också titta på keynoten:

Från början var Android utformad för att sträcka sig bortom mobiltelefonen. Med det i åtanke har vi utvecklat Android Open Accessory för att hjälpa utvecklare att börja bygga nya hårdvara tillbehör som fungerar över alla Android-enheter.

Video ovan börjar omkring 36:00 minutersmärke för hårdvaruföreläsningen.

Så varför valde Google Arduino?

Förutom att det finns omkring 300 000+ Arduino "i naturen" uppskattar jag att det finns ungefär en halv miljon människor på något sätt gör något med Arduino, från studenter till människor som inte ens inser att de använder den här öppna plattformen på något sätt (Processing, education , etc). För en mikrokontrollerplattform, som jag har sagt tidigare, har den vunnit och det är här för att stanna. Gemenskap, öppen IDE, öppen hårdvara, otroliga drivrutiner, tvärplattform - det är ganska billigt och lätt att komma och göra någonting direkt. Det finns egentligen inget enklare sätt att få analoga sensordata eller styra en motor lättare och snabbare än med en Arduino - och det är en biggie, speciellt om du är en telefon och vill göra det här.

Så med miljontals telefoner ute och Google ser ut att göra det dött enkelt att utveckla tillbehör, vilken lättanvänd, sensorklar, öppen källplattform har tillräckligt med umpf för att få den här festen påbörjad? Arduino. Jag är säker på att det är diskutabelt (head to comments), men egentligen, vad skulle det vara en bättre match?

Tänk på att den nuvarande "Arduino" -hårdvaran som Google har rullat ut är osannolikt vad som kommer att användas när det här matas. Vi får se billigare (och bättre) versioner inom kort, även om Google gav bort gratis till alla på Google I / O, och det är svårt att slå. Jag tror att Google gjorde vissa beslut i sin första implementering som jag inte håller med - mer om det på lite.

Vad är Android Open Accessory Kit?

Här går du ...

Android 3.1-plattformen (även tillbaka till Android 2.3.4) introducerar support för Android Open Access, som tillåter extern USB-maskinvara (ett Android USB-tillbehör) att interagera med en Android-driven enhet i ett speciellt "tillbehör" -läge. När en Android-driven enhet är i tillbehörsläge fungerar det anslutna tillbehöret som USB-värd (driver bussen och summerar enheter) och den Android-driven enheten fungerar som en enhet. Android USB-tillbehör är speciellt utformade för att ansluta till Android-enheter och följa ett enkelt protokoll (Android Accessory Protocol) som gör att de kan upptäcka Android-enheter som stöder tillbehörsläge. Tillbehör måste också ge 500mA vid 5V för laddningseffekt. Många tidigare släppta Android-enheter kan endast fungera som en USB-enhet och kan inte initiera anslutningar med externa USB-enheter. Android Open Accessory-stöd övervinner denna begränsning och låter dig bygga tillbehör som kan interagera med ett sortiment av Android-drivenheter genom att låta tillbehöret starta anslutningen.

En USB-mikro-styrkort som baseras på Arduino Mega2560 och [email protected] USB Host Shield-mönster (nu kallad ADK-kortet), som du senare kommer att implementera som ett Android USB-tillbehör. ADK-kortet ger inmatnings- och utmatningsstiften som du kan implementera genom att använda bilagor som kallas "sköldar". Anpassad firmware, skriven i C ++, är installerad på brädet för att definiera styrelsens funktionalitet och interaktion med den medföljande skärmen och Android-driven enhet . Hårdvarans designfiler för brädet finns i hårdvara / katalog.

För att skära till jakten är ADK en Arduino Mega med en USB-värd "sköld" bakad i och en strömförsörjning för att ge en stabil 5V till Android-telefonen från en extern matning. Det är den goda nyheten (det finns några dåliga nyheter, hur Google gjorde det, inte nödvändigtvis det bästa sättet) ...

Vad är de dåliga nyheterna om Android Open Accessory Kit?

Avbildad ovan: IOIO för Android

Du säger ... Det finns redan sätt att arbeta med Android och Arduino! Vad sägs om MicroBridge, IOIO, Amarino eller Cellbots? Vissa säger att ADK är ett steg tillbaka från IOIO; Eftersom ADK endast stödjer nyare telefoner betyder det att alla tillbehör inte kommer att vara kompatibla bakåt, men det är hur det går med telefoner tror jag. De vill sälja nya modeller och få folk att uppdatera sina telefoner.

De andra projekten och produkterna är alla fortfarande bra och kommer att fortsätta, men de har bara inte Google bakom dem (ännu). Jag tror att vi kommer se något nära IOIO från Google när saker går vidare, men det är bara ett gissning. Oleg Mazurovs USB-värdskärm (med MicroBridge).

"Romfont" har en mycket detaljerad post och jag håller med mycket av det. Han skriver:

Genom att knyta ihop ett nytt protokoll säkerställde ADK-teamet att ingen kommer att kunna använda det på allt annat än de senaste telefonerna, vilket gör det helt oanvändbart för kommersiella applikationer på kort sikt. För hobbyister betyder det att om de inte vill vara villiga och kunna uppdatera sina enheter till de senaste ROM-skivorna, kommer de inte att kunna gå med på roligt tills deras nästa smartphone köper. Så vi hanterar ett dåligt utformat, inkompatibelt alternativ till befintliga lösningar. Och det här alternativet är nu standarden bakom Google.

Jag vill verkligen älska ADK, och jag skulle ha varit den första som applåderar Google för ett bra jobbat jobb om de faktiskt hade tagit sig tid att komma fram till en riktig design. De kunde ha lagt till ett nytt protokoll på rätt sätt, de kunde ha byggt något ovanpå ADB, men ännu viktigare de kunde ha lagt till korrekt stöd för OTG. Som det står ADK löser inte några problem som inte redan löstes. Istället gjorde de situationen bara värre genom att lägga till en ny dåligt genomtänkt standard, och vi vet alla att det är det sista som Android behöver en annan av.

Läs hela saken - massor av bra poäng där inne. Men Google förklarar Arduino för Android är vad de stora nyheterna är här - andra, framtid, och bättre implementeringar kommer snart att komma ut. Jag känner till folk som jobbar med detta just nu. Det rapporteras att du potentiellt kan använda en USB-värdsköld och en Arduino nu, men det finns strömproblem och jag väntar på att bekräfta om detta är helt sant.

En annan sak - Google har inte verkligen hårdvarukunskap, trots att det är Google. Jag tror att MEGA + USB-värdskärmen "allt i ett" var något snabbt och enkelt att komma ut genom dörren före Google I / O. Och har redan utvecklaren basen av Arduino. Google skulle sannolikt inte vilja få folk att behöva köpa eller köpa några Keil complier bara för att göra några prototyper och tillbehör eller blinka lysdioder från din telefon. Så igen, bra på Google. Men jag ser fram emot nästa revision (och vad open source community gör).

Åh, en sak innan jag fortsätter, här är ADK-filerna du kan ladda ner, Google gjorde allt ordentligt för OSHW, förresten (trevligt!).

Är detta slutet på Apples begränsande "Made for iPod" (TM)?

Vad behöver du för att få Apples godkännande för att göra "godkända" tillbehör som fungerar med iPod / iPhone etc? Detta:

Delta i MFi licensprogrammet för att utveckla elektroniska tillbehör som ansluts till iPod, iPhone och iPad. Licensierade utvecklare får tillgång till teknisk dokumentation, maskinvarukomponenter, teknisk support och certifieringslogotyper. Utvecklare får tekniska specifikationer som beskriver iPod Accessory-protokollet, kommunikationsprotokollet som används för att interagera med iPod, iPhone och iPad. Utvecklare får också tillgång till hårdvarukontakterna och komponenterna som krävs för att tillverka iPod, iPhone och iPad-tillbehör.

Jag tycker att "licensierade utvecklare" är gammaldags och "öppna specifikationer" är där den är på. Kommer Apples sätt så småningom att sluta på något sätt? Jag tror det, men det beror egentligen på vad som händer med Android-tillbehör, om alla coola och fantastiska saker bara händer där. Apple kommer sannolikt att göra det enklare - de måste.

Jag har hört att Apple NDA-tillbehör är verkligen, restriktiva (mer än någon annan) och någon jag vet som gjorde tillbehör sa till mig: "Om Apple tycker om vad du jobbar på klarar de bara det, håll alltid det i åtanke." Detta var år sedan under iPod-bara dagar, men det är något att tänka på. Om Apple inte gillar hårdvaran jag vill göra kan de stänga av mig, precis som att dra en app från App Store. Om någon har underbara erfarenheter med Apple och hårdvara, var vänlig skicka in i kommentarerna (om du får lov).

Kanske är jag lite bränd från Apples iOS-program i allmänhet (de godkände aldrig min app, inget sätt att kontakta Apple, det var en mardröm). Jag hittade andra saker att arbeta på, men det var ett stort slöseri med min tid. Förutom, jag vill verkligen stödja det företag som gör mest med open source-hårdvara.

En sak tillägg ... Jag tror att Google kommer att göra en hel del tillbehörsutveckling internt -

Hershenson och Brit var en del av trioen som grundade Danger år 2000. Den tredje partnern: Android chef Andy Rubin. De tre ingenjörerna lanserade banbrytande konsumenttelefoner, som T-Mobile Sidekick, en gång allestädes närvarande, bland kändisarna.

Nu är de tillsammans igen. Inom de senaste 12 månaderna gick Britt och Hershenson tyst till Google för att köra en ny vinge i Android som heter Android Hardware. ... de spenderar sina dagar bygga saker som kommer att bli referensdesigner för Android-kringutrustning. Android Hardware utforskar allt från hemautomatisering för att utöva spel och robotik. Medan det inte finns några omedelbara planer på att bygga Google-märkesvaror på Android-hårdvarutillbehör, angav Brit att han skulle älska att se att Google introducerar några av sina egna Android-kringutrustning på sikt. Folk i Cupertino måste vara uppmärksamma.

Detta är ett ganska bra lag, jag skulle inte bli förvånad om de kokade upp en hel del fantastiska tillbehör och arbetade sedan med / överlämnade dem till den stabila strömmen av Googlers som lämnar företaget för att starta företag (att senare åter förvärvas av Google). Det här är något helt annorlunda än hur Apple brukar fungera. Jag saknar fortfarande den gamla Sidekick.

Vad ska Microsoft / NOKIA / Skype göra om detta?

Vad händer om Microsoft ville göra vad Google just gjorde? Finns det en öppen källkod. NET-plattform? JA! Netduino. Snabb, Ballmer, kom dit och prata om det här och hur det är nästa tillbehörsplattform för Windows Phone 7. Allvarligt! Gå ut där och prata om hur det här är nästa "Kinect." Men var vänlig, skaffa inte företaget som gör Netduino - det skulle skruva upp det. Stöd bara dem offentligt (eller hemligt, Secret Labs!) Och få varje .NET-utvecklare en Windows Phone 7-telefon och en Netduino att starta hackin 'on. Utvecklare sakar, eller hur?

Utvecklare utvecklare utvecklare. Skäms åt sidan, det finns troliga möten i Redmond om det här nu, förhoppningsvis kommer det att gå förbi utskottets tänkande. Netduino, Microsoft, gör det!

Kommer Android att bli nästa "Kinect" för kreativa "Hacks"?

Vänta bara, tusen av Google I / O-deltagare är på väg hem. Inom några dagar ser vi de första "hackarna" inom några veckor de första applikationerna och tillbehörs prototyperna, och sedan inom några månader (eller mindre) tillbehör som säljs, Kickstarter finansieras och / eller nya startar som kommer ut ur ingenstans. Det bästa sättet att förutse vad som kommer att hända nästa är att vi alla ska bygga den. Jag bryr mig inte så mycket om Android hittills. Jag är exalterad att bygga något nytt utan att behöva jailbreak, hoppa genom hoops, eller slutligen få ner. Och jag får använda min favorit open source-maskinplattform, Arduino. Varför väljer Google Arduino-materia? För att från och med nu, om du vill konkurrera med Google och inspirera utvecklare att göra tillbehör, måste du öppna, och du måste gå Arduino.

Del

Lämna En Kommentar