Första person WiFi körning av Roombas och andra IR RC fordon (8 / 8 steg)

Steg 8: Avancerade: att lägga till stöd för dina egna enheter




Om du har nya enheter att stödja (andra robotar, TV, etc.), måste du veta de IR-koderna för din enhet. IR-Server stöder Pronto formatkoder så har du Pronto-kompatibel fånga hårdvara, kan du bara använda det. Jag själv avkodas Thames och Kosmos koderna med en Brainlink enhet (SurplusShed hade dem till försäljning).

Vad du behov till har i handen är antingen en Pronto-kompatibel hex sekvens eller också följande information:

  • Bärfrekvensen (vanligtvis runt 38 khz)
  • brast sekvens för varje funktion: detta är en sekvens av på och off tider i mikrosekunder
  • tid i mikrosekunder att pausa mellan åter sända en burst sekvens när efterlikna en knapp är nedtryckt (vanligtvis 20000-100000 mikrosekunder)

Med hjälp av ovanstående information, kan du generera IR-Server-kompatibel kontroll frågor. För Pronto koder är formatet:

? ir = REPEAT: pronto: xxxx xxxx xxxx + + xxxx +...

där REPEAT är en av:

  • oändlig : upprepa tills en stoppkod skickas
  • count = x : upprepade gånger (x är ett positivt heltal)
  • tid = x : upprepa x mikrosekunder (x är ett positivt heltal)
  • när : spela en gång

xxxx xxxx xxxx + + xxxx +... är den Pronto hex koden med utrymmen ersättas med plustecken för webbanvändning. Till exempel anger webben Pronto koden för Roombas ren funktion som

0000 0069 0000 0008 0071 0027 0023 0071 0023 0071 0023 0071 0071 0027 0023 0071 0023 0071 0023 030B

Du kan sedan skapa IR-Server fråga:

? ir = tid = 500000: pronto: 0000 + 0069 + 0000 + 0008 + 0071 + 0027 + 0023 + 0071 + 0023 + 0071 + 0023 + 0071 + 0071 + 0027 + 0023 + 0071 + 0023 + 0071 + 0023 + 030B

Detta spelar den ren kod i en halv sekund (500000 mikrosekunder).

Om du har raw-data, i stället är din format:

? ir = REPEAT: raw: repeatpause:carrier:xxx:xxx:xxx:...

Här REPEAT är samma som för den Pronto koder, repeatpause är ett icke-negativt heltal anger hur många mikrosekunder att pausa mellan repetitioner (ignoreras om REPEAT när)--jag rekommendera att försöka 20000 som en start, och bärare är bärare frekvensen i Hz. Slutligen, burst sekvensen xxx:xxx:xxx:... är en sekvens av nummer Ange omväxlande på och av gånger i mikrosekunder. Således:

? ir = count = 12: raw: 20000:38000:400:200:400:200:300:150:100

begäranden som brast sekvensen sändas ut tolv gånger med 38000 Hz bärare, med en 20000 mikrosekund paus i mellan. Sekvensen är sedan 400 mikrosekunder på 200 av, 400 på, 200 av, 300 på, 150 off, 100 på.

Det finns också en speciell fråga:

? ir = stopp

som stoppar en föregående play kommando med oändlig, antal eller tid REPEAT.

Innan du gör någon HTML-redigering, rekommenderar jag att testa koderna genom inställning av IR Server ansluten till en sändare och manuellt avger koderna via en webbläsare. Exempelvis om IR-Server är på 168.1.1.49:7080, kan du släppa ut min raw exempelkoden genom att gå till:

http://168.1.1.49:7080/ir.html? IR = count = 12: raw: 20000:38000:400:200:400:200:300:150:100

Obs att det ingen spelar roll vilken webbsida du sätter för "ir.html"--koden kommer fortfarande vara utsänt. För största effektivitet, kan du göra "empty.html".

När du har arbetat ut frågan koder för din enhetsfunktioner, måste du skapa en HTML-fil kontrollera den. När du har installerat IR-Server, är dess HTML-filer i katalogen mobi.omegacentauri.irserver i telefonens internminne. Här hittar du en massa filer som du kan redigera det (om du vill uppdatera dem med de officiella versionerna, tryck på Meny och skriv över i IR-Server). Filen roomba.html är en bra början. Kopiera det till en ny fil (t.ex. xyzzy.html) och redigera den för att få typ av layout som du vill att enheten ska ha, och att redigera koder.

Den grundläggande tanken är att när IR-servern får en begäran med en av de ? ir = fråga koder, det avkodar koden och spelas upp. Begäran kan läggas till en HTML-fil, men filen empty.html är mest effektivt. Också, för effektivitet, i stället för att utfärda en GET -begäran, kan du bara utfärda en HEAD -begäran.

Filen roomba.html innehåller lite javascript för att avge förfrågningar på lämpliga knapptryckningar. Det finns två typer av knappar. Upprepande knappar spela en kod flera gånger tills man släpper knappen. Dessa använder en oändlig läge, och har både ontouchstart och onmousedown kod att arbeta på både touch och musen baserat beten. (Jag är en erfaren C programmerare och en något erfarenhet java programmerare, jag är helt ny till javascript, så jag inte kan göra saker på bästa sätt.) Icke-repeat knappar spela en kod för en viss tid så att den inte får missa, och göra det via onclick. Det finns olika javascript-funktioner till appellen för dessa.

Du kommer att märka att det finns särskilda förenklade ? ir önska Roomba och Thames och Kosmos koder. För dessa, bara ett enda decimaltal måste anges i stället för en burst sekvens, och blir kodad enligt protokollen Roomba och Thames och Kosmos (se den IRCommand klassen i IR-Server källa för hur det här fungerar).

Lägga nya HTML-filen i katalogen mobi.omegacentauri.irserver på telefonens internminne. Du kan komma åt den direkt efter namnet, eller du kan lägga till en länk till den i filen controllers.html .

Se Steg
Relaterade Ämnen

Hur rippa DVD/Blu-ray till Seagate Central, Personal Cloud, trådlös Plus och andra enheter.

Det är bekvämt och coolt att lagra, organisera, strömma och dela dina digitala mediefiler (filmer, musik och foton) använda Seagate hårddiskar som Seagate Central, personliga moln/personligt moln 2 Bay, trådlös Plus/Wireless mobil lagring, Dockstar,...

En billigare ESP8266 WiFi sköld för Arduino och andra micros

Uppdatering: 19 maj 2016Rev 14 i detta projekt reviderar bibliotek och kod ska fungera med ESP8266.com IDE plug-in V2.2Uppdatering: 17 December 2105Rev 11 i detta projekt rensar upp andra försök anslutningar om den redan är ansluten. Använder också d...

Första person vy Roomba körning

Det är kul att köra en Roomba runt med fjärrkontroll. Det är ännu roligare att ha en första person vy medan du gör. Denna särskilda projekt för mig var nästan all programvaruutveckling eftersom jag redan hade all hårdvara. Här är vad du behöver på ma...

"Koppleri" din första IoT WiFi-enhet. Del 4: Sakernas Internet, Home Automation

OK, inte så mycket koppleri men att utvidga din första IoT enhetIntroduktionDetta Instructable dokumenterar hur enkelt det är att utvidga och ytterligare utveckla en IoT enhet (bilden ovan) och är uppbyggd kring ESP8266-01 WiFi aktiverat modulen från...

WiFi säkerhet i hem och kontor

Uppdatering 13/04/2015: lagt till författarens quick pickUppdatering 12/04/2015: lagt till ett steg för ytterligare säkerhet tester.Uppdatera 05/04/2015: extra extra steg med information och länkar om bakdörrar och andra säkerhetsrisker i WiFi-routra...

Designa för Ponoko laserskärning med SketchUp och Inkscape (en studie i kuber)

detta Instructable kommer att diskutera praktiska frågor av de mönster som presenteras i SketchUp, Inkscape och Ponoko laserskärning. Du kommer att visas framgångar och misslyckanden (det är ingen mening i att göra mitt misstag - jag kan göra tillräc...

Rensa upp du Roomba och byta ut de viktigaste delarna

Detta instructable kommer att lära dig hur du får behörighet till din Roomba fortsätta göra ingenting annat än att titta på roboten rengöring din lägenhet.För att komma igång, du behöver grundläggande Roomba reservdelar (om nödvändigt för dig, du kan...

Mycket billigt/enkel WiFi Shield för Arduino och mikroprocessorer

Uppdatering: 19 maj 2016Rev 14 i detta projekt reviderar bibliotek och kod ska fungera med ESP8266.com IDE plug-in V2.2Uppdatering: 17 December 2015Rev 11 i detta projekt rensar upp andra försök anslutningar om den redan är ansluten. Använder också d...

Första Person vy RC Robot!

Vi skapade denna lilla RC robot för den första Ohio State University MAKEathon i år. Vi konstaterat att vi ville göra en FPV robot före tävlingen, men begreppet generation, modellering, kodning, ledningar, skriva ut och sätta ihop alla ägde rum vid M...

Skapa din första IoT WiFi-enhet. Del 3: Sakernas Internet, Home Automation

Detta Instructable dokument hur man skapar en enkel IoT enhet (bilden ovan) baserat runt ESP8266-01 WiFi aktiverat modulen och är den tredje delen i en serie av Instructables beskriver hur du ställer in egna IoT hemnätverket.IoT enheten i fråga har e...

Hur man gör en första Person kamerarigg

http://www.youtube.com/watch?v=iXv5sGl2Zqs detta är verkligen en uppdatering från min första kamera montera dess enkla men effektiva synlighet är högre och högre rörlighet Vänligen prenumerera på mig på min YouTube kanal www.youtube.com/user/luis4575...

Skapa första Person grundläggande Unity3d

detta alldeles kräver mycket lite något, så länge du har en dator tar det bara din tid och om 3 spelningar (men det är bättre om du har mer) jag kommer närmare in på mindre saker senare, men för nu ska jag bara stava ut grunderna. Om du inte har enig...

WiiTorch - första Person spel projektor

detta instructable är för iTorch 2, eller WiiTorch :)Jag har gjort denna WiiTorch vara en snabb och enkel demonstration, som du kan bygga hemma, av den kommande utvecklingen med iTorch mediedelning enheten.Jag satte detta projekt tillsammans i en vec...

Hur man enkelt förvandla en robotarm till en första Person vy robot

Detta är ett mycket lätt sätt att montera en kamera till en robotarm att göra en rolig robot.Steg 1: Delar/vad du behöver 1. en robotarm (jag använder en lägre kvalitet OWI kanten arm)2. zip band3. Trådlös kameraSteg 2: verktyg1. tång2. avbitareSteg...

Hur man gör en första Person kamera bestiga

youtube.com/watch?v=iXv5sGl2Zqs detta är för enheter som inte har trådar. Byggt såsom telefoner ansvarar inte för trasiga enheter Vänligen prenumerera på min kanal www.youtube.com/user/luis45752?feature=guideSteg 1: Matirials Dessa matirials är lätt...

Hur att slakta en gris, steg för steg. Första Person vy

Följ stegen fram i videon för att lära sig slakta en gris på traditionellt sätt. Direkt länk till videon: https://www.youtube.com/watch?v=XGpAGhZPjoY...

ATtiny85/45/25 LED Tärning (Super enkelt och billigt!)

Om du har tittat på min 5 LED ATtiny85 POV display, vi programmerade ATtiny med Arduino. (Om du inte har sett det, klicka här) Vi kommer att göra samma sak för detta LED Tärning projekt.Totalt delar kostnaden för projektet är om $5-$10. (Inte inklusi...

Skapa ditt första spel: Del 1: skapa karaktär och rörelse

i detta Instructable, vi kommer att titta på att skapa ett enkelt spel med Flash Professional 8. Detta är den första delen av många och varje gång, vi kommer att göra spelet mer och mer komplexa. Jag kommer att se till att du förstår varje del helt....

Hur man ställer in en personlig WiFi Hotspot på iPhone, tjudra och förbinda till Internet

Det är lätt att ställa in din personliga WiFi Hotspot på din iPhone.Detta gör att du kan dela din iPhone data cell täckning med andra enheter, som en iPad eller en bärbar dator.Denna video visar vilka åtgärder krävs för att aktivera denna stor huvudn...