Eerste-persoon WiFi besturen van Roombas en andere infrarood RC voertuigen (8 / 8 stap)

Stap 8: Geavanceerde: het toevoegen van ondersteuning voor uw eigen apparaten


Als u nieuwe apparaten te steunen (andere robots, TV's, etc.), zult u moeten weten de IR-codes voor uw apparaat. IR Server ondersteunt Pronto notatiecodes zodat hebt u Pronto-compatibele hardware vastleggen, u gewoon die gebruiken kunt. Ikzelf gedecodeerd de Thames en Kosmos codes met behulp van een Brainlink apparaat (SurplusShed had hen te koop).

Wat u moet in de hand is ofwel een hex opeenvolging van Pronto-compatibel is, of anders de volgende informatie:

  • Draaggolffrequentie (meestal rond de 38 khz)
  • barsten van de volgorde voor elke functie: dit is een reeks van op en uit de tijd in microseconden
  • bedrag van de tijd in microseconden te pauzeren tussen het opnieuw verzenden van een reeks burst wanneer emuleren een knop wordt ingedrukt houdt (meestal 20000-100000 microseconden)

Met behulp van de bovenstaande informatie, u kunt het genereren van IR Server compatibele besturings-query's. Voor Pronto-codes is de notatie:

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

waar repeatmode behoort tot:

  • oneindige : Herhaal een stopcode wordt verzonden
  • telling = x : herhaal x maal (x is een positief geheel getal)
  • tijd = x : herhaal x microseconden (x is een positief geheel getal)
  • zodra : eenmaal afspelen

en xxxx + xxxx xxxx + xxxx +... is de Pronto hex code met spaties door plustekens voor gebruik op het web vervangen. Bijvoorbeeld, geeft het web de Pronto code voor Roomba de functie wissen.Control als

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

Vervolgens kunt u de IR-serverquery genereren:

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

Dit speelt de schone code voor een halve seconde (500000 microseconden).

Hebt u de onbewerkte gegevens, in plaats daarvan is uw indeling:

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

Hier repeatmode is dezelfde als voor de Pronto-codes, repeatpause is een niet-negatief geheel getal aangeeft van microseconden te pauzeren tussen herhalingen (genegeerd als een repeatmode )--ik aanbevelen proberen 20000 als een begin, en vervoerder is de vervoerder frequentie in Hz. Ten slotte, de volgorde van de burst xxx:xxx:xxx:... is een opeenvolging van nummers opgeven afwisselend aan en uit de tijd in microseconden. Dus:

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

aanvragen die de burst-volgorde worden uitgestoten twaalf keer met een vervoerder 38000 Hz, met een 20000 microseconde pauze tussendoor. De volgorde is dan 400 microseconden op, 200 uit 400 op 200 af, 300 op, 150 uit, 100 op.

Er is ook een speciale query:

? ir = stop

die stopt een vorige afspeelcommando met oneindige, graaf of tijd repeatmode.

Alvorens eventuele HTML-bewerkingen te doen, adviseer ik de codes door IR Server verbonden met een emitter instellen en handmatig uitstoten de codes via een webbrowser testen. Bijvoorbeeld, als IR Server op 168.1.1.49:7080, kunt u mijn ruwe voorbeeldcode stoten door naar:

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

Opmerking dat het niet uitmaakt welke webpagina's je voor "ir.html"--de code zal nog steeds worden uitgestoten. Voor de grootste efficiency, kan je "empty.html".

Zodra u hebt gewerkt uit de query-codes voor de functies van uw apparaat, moet u het maken van een HTML-bestand controleren. Zodra u de IR Server hebt geïnstalleerd, wordt de HTML-bestanden zijn in de directory mobi.omegacentauri.irserver van uw telefoon interne opslag. Hier vindt u een bos van bestanden die u vrij bent om te bewerken er (als u wilt hen te vernieuwen met de officiële versies, drukt u op Menu en overschrijven in IR Server). Het roomba.html -bestand is een goed begin. Kopieer die naar een nieuw bestand (bijvoorbeeld xyzzy.html) en bewerken als u wilt dat de aard van de lay-out die u wilt uw apparaat hebben, en voor het bewerken van de codes.

Het basisidee is dat wanneer de IR Server krijgt een verzoek met een van de ? ir = opvragen codes, het decodeert de code en het speelt. Het verzoek kan worden toegevoegd aan een html-bestand, maar het bestand empty.html is het meest efficiënt. Ook voor efficiëntie, in plaats van de afgifte van een GET -verzoek, kunt u alleen uitgeven een HEAD -verzoek.

Het roomba.html -bestand bevat een stukje javascript ontworpen om uit te stoten de verzoeken op de juiste knop persen. Er zijn twee soorten knoppen. Herhalende knoppen Speel een code herhaaldelijk tot één van de knop loslaat. Deze gebruiken een oneindige modus, en hebben zowel ontouchstart en onmousedown code om te werken op zowel touch en muis gebaseerde browsers. (Hoewel ik een ervaren C-programmeur en een enigszins ervaring java programmeur ben, ik ben helemaal nieuw voor javascript, dus ik kan niet worden doen de beste manier.) Non-repeat drukt speelt een code voor een vast bedrag van tijd zodat het niet krijgen gemist, en via onclick doen. Er zijn verschillende javascript-functies Bel hiervoor.

U zult opmerken dat er speciale vereenvoudigde ? ir aanvragen voor Roomba en Thames en Kosmos codes. Voor deze, alleen een één decimaal getal moet worden gespecificeerd in plaats van een burst-reeks, en het wordt gecodeerd volgens de protocollen van het Roomba en Thames en Kosmos (Zie de klasse IRCommand in de bron van de IR Server van hoe dit werkt).

Zet uw nieuwe HTML-bestand in de directory mobi.omegacentauri.irserver van uw telefoon interne opslag. Kunt u het rechtstreeks door naam, of u kunt een koppeling toevoegen aan het in het controllers.html bestand.

Gerelateerde Artikelen

Hoe u kunt besturen van een WiFi LYT8266 LED-lamp met BLYNK IN 5 minuten

Hoe u kunt besturen van een WiFi LYT8266 LED-lamp met BLYNK IN 5 minuten

In deze tutorial zullen we zien hoe u kunt besturen een LYT8266 WiFi-lamp in 5 minuten met behulp van het nieuwe platform voor krachtige BLYNK.U moet:-A LYT8266 lamp (http://authometion.com/shop/en/home/13-lyt8266.html)-BLYNK APP voor iOS of Android
Aandrijven en besturen van uw apparaten; Deel 1 - bepalen van spanning en de huidige eisen

Aandrijven en besturen van uw apparaten; Deel 1 - bepalen van spanning en de huidige eisen

naast het feit dat een elektronica ingenieur en programmeur, ik ben een fervent Maker en hebben zijn knutselen met elektronica voor meer dan 40 jaar.  Gedurende die tijd ik heb van bouwen tientallen van elektronische apparatuur voor gebruik in en ron
Besturen van een WF32 met LabVIEW (Fan Control) met behulp van een Raspberry pi

Besturen van een WF32 met LabVIEW (Fan Control) met behulp van een Raspberry pi

Dit Instructable neemt een project van mijn laatste Instructable (Thermistor - ventilator controle met behulp van LabVIEW) en voegt in het gebruik van een Raspberry pi 3 voor draadloos besturen van de WF32. Dit betekent dat u kunt nu de fans en de se
Hoe u kunt besturen van een 3D-Printer met een telefoon via DIY AstroBox

Hoe u kunt besturen van een 3D-Printer met een telefoon via DIY AstroBox

Dit Instructable zal u tonen hoe een Raspberry Pi-afdrukserver instellen zodat u kunt controleren en bewaken van uw 3D-printer op afstand (met inbegrip van externe snijden) van een telefoon, tablet of computer.Draadloos printenNatuurlijk, is het bela
Besturen van een auto met behulp van evenwicht

Besturen van een auto met behulp van evenwicht

In dit artikel om u te tonen mijn laatste project maken Dit project is over het besturen van een elektrische auto vanaf een saldoraad (Nintendo WII saldoraad) via bluetooth. Dit project was de presentatie op de Student wetenschappelijke sessie medede
Een goedkopere ESP8266 WiFi Shield voor Arduino en andere micros

Een goedkopere ESP8266 WiFi Shield voor Arduino en andere micros

Update: 19 mei 2016Rev 14 van dit project herziet bibliotheken en code om te werken met de plug-in V2.2 ESP8266.com IDEUpdate: 17 December 2105Rev 11 van dit project schoont andere pogingen tot verbinding als het al is aangesloten. Maakt ook gebruik
Besturen van een Robot met een RC zender & ontvanger

Besturen van een Robot met een RC zender & ontvanger

In dit instructable zal lopen we door middel van het instellen van een traditionele RC hobby zender en ontvanger met een RoboClaw motorcontroller te rijden een robot rond (zoals De ServoCity.com Runt Rovers).Stap 1: Draad het omhoog.Motoren:Hebt u me
Besturen van een Robot met een Wii-afstandsbediening

Besturen van een Robot met een Wii-afstandsbediening

Dit is een leuke kleine project die gebruikmaakt van een Raspberry Pi, een Robot Finch en een Wii-afstandsbediening (AKA Wiimote), om aan te tonen enkele van de dingen die je met een raspberry pi en/of een Wii doen kunt remote. Het maakt gebruik van
Hoe maak je platte bladen van Instamorph en andere tips

Hoe maak je platte bladen van Instamorph en andere tips

Werken met Instamorph is zeer interessant en sommige zeer koele items kan produceren, maar het moeilijkste wat starters is het krijgen van de instamorph in uw aanvankelijke shape. Als u het maken van een sculptuur of de figuur kunt u vrije-vorm het m
Het wassen van wol of andere vezels voor spinnen.

Het wassen van wol of andere vezels voor spinnen.

Wassen van wol en andere dierlijke vezels kan worden lastig. Als je het verkeerde krijg je een glopping natte massa van vilt. Niet leuk op alle en potentieel dure als niet een verspilling van tijd en moeite. Sommige vezels zijn gemakkelijker dan ande
Bouw uw eigen eerste persoon shooting spel!

Bouw uw eigen eerste persoon shooting spel!

Wat u zult bouwen:Stap 1: Setup Vandaag leert u hoe te bouwen uw eigen eerste persoon shooting spel. Ik zal verstrekken alle code en weten hoe en dan u kunt wijzigen, worden afgewisseld, en alles wat je wilt bewerken. En ik zou graag horen wat u mee
Hoe u kunt besturen van een auto van de arduino via Bluetooth (voor beginners)

Hoe u kunt besturen van een auto van de arduino via Bluetooth (voor beginners)

Alles wat die we weten dat Arduino een uitstekende prototyping platform, is voornamelijk omdat het een vriendelijke programmeertaal gebruikt en er zijn een heleboel extra ongelooflijke onderdelen die ons grote ervaringen bieden.We kunnen de Arduino t
Besturen van een andere computer met behulp van Team Viewer

Besturen van een andere computer met behulp van Team Viewer

mijn ouders hebben onlangs gekregen op de informatieweg en ontdekte snel ze wist niets over de wereld wijd interweb ;). In plaats van te gaan naar hun huis elke dag downloadde ik een programma voor extern beheer, zodat ik hen navigeren helpen kon, he
Ik ben de eerste persoon in de wereld een mondstuk van de stofzuiger hout!

Ik ben de eerste persoon in de wereld een mondstuk van de stofzuiger hout!

.Ja u - de eeuwig verdoemd; sinds uw grote (x miljoen) grand nutter kreeg in het eten van appels aan het begin van het heelal 5000 jaar geleden - dus vervloekt om huishoudelijk werk te doen na dat bepaalde godheid huishoudelijk werk uitgevonden... do