Bygga din egen Wifi-radion (6 / 14 steg)

Steg 6: Kommunikation med ASUS

Kommunikation med routern kan tyckas vara en lite skrämmande (ja det gjorde jag), särskilt när du är ny till den. Men det är inte så svårt som det verkar.

Skicka kommandon till routern

Först måste vi bestämma vad vi vill ha radion att göra. Vi vill i princip att den:

  • spela
  • pausa
  • Stanna
  • ändra station
  • Ändra volymen

Om vi tittar in i listan med kommandon för mpc ser vi att:

  • kommandot för att spela = mpc spela
  • kommandot för paus = mpc pausa
  • kommandot för stopp = mpc stoppa
  • kommandot för volymen = mpc volym [+/-] num (numeriskt värde)

Byte av stationen är lite svårare. För att kunna ändra till en annan station, måste mpc känna det är adressen. Enklaste sättet att göra detta är att förbelasta alla våra favorit stationer i en spellista på spelaren. Så i början av vår kod kommer vi lägga till kommandot:
mpc lägga till adressen för varje station som vi vill förspänning i routern.

Innan vi börjar lägga till stationer, kunde vi utfärda en mpc klart . Detta tar bort alla tidigare listor, bara i fall vi gjort några förändringar i vår lista.

Efter allt detta är gjort, kan vi ändra stationen med kommandot mpc spela num , där num är placera av stationen i våra extra spellista.

I Bascom, skicka dessa kommandon till routern är mycket lätt. Allt är gjort med tryck:

Skriva ut "mpc spela" eller skriv ut "mpc volym + 5"

Det finns ingen anledning att lägga till en Carridge avkastning (CR eller ASCII-013) till kommandot som Instruktionen Skriv ut har tillagt att av sig själv.

Så som ni kan se, skicka kommandon till routern är inte svårt alls!

Begära och ta emot information från routern

Begära och ta emot information från routern är lite svårare. Återigen, vi måste du bestämma vilken information vi vill ha från routern. När du läser del 6www.mightyohm.com, ser du att det finns massor av info som du kan få, men vi vill bara veta:

  • namnet på stationen
  • titeln på låten
  • volymen

Begäran för att få station och titel görs med följande kommando:

echo "låt" | nc localhost 6600 | grep -e "^ titel:" -e "^ namn:" (bakgrund kapital T och N)

och för volymen:

echo "status" | nc localhost 6600 | grep -e "^ volym:" (Inget kapital här)

Så i bascom som skulle ge:

Skriva ut "echo"; Chr(34); "låt"; Chr(34); " | NC localhost 6600 | grep -e "; Chr(34); "^ Titel:"; Chr(34); " -e " ; Chr(34); "^ Namn:"; Chr(34); ">/dev/TTS-/ 0"

och

Skriva ut "echo"; Chr(34); "status"; Chr(34); " | NC localhost 6600 | grep -e "; Chr(34); "^ volym:"; Chr(34); ">/dev/TTS-/ 0"

Igen finns det ingen anledning att lägga till en CR.

När vi skickar en av dessa förfrågningar, vi kommer att få något i våra buffert omedelbart. Nu behöver vi att arrangera alla data i vår buffert till nyttiga saker.

Lyckligtvis för oss etiketter routern dess information. Innan stationname lägger Namn:, före titel titel och innan volym volym. Så ska vi låta vår kod söka för lämplig etikett och läsa bufferten från den punkten tills den stöter på en CR eller bufferten är tom. Efter all info är ur bufffer, tömma vi helt enkelt bufferten så att den kan användas för en annan begäran.
Så vi börjar med att läsa bufferten till en sträng. Efter det kan vi helt enkelt rengöra bufferten så att det finns inga oönskade tecken kvar. Vi kommer att titta i vår sträng för en av etiketterna med den var = INSTR (sträng, substr) uttalande. Detta kommer att returnera positionen för vår etikett i vår huvudsakliga sträng.

läge = Instr (Uart_in_string, "namn:")

Detta ger oss positionen för det första tecknet i etiketten. Om du inte vill lägga till etikett onto din skärm, sedan bara lägga det belopp du behöver börja läsa bakom märket. I detta fall:

läge = position + 6

Härifrån måste vi avgöra hur länge uppgifterna är. Så från den punkt positionen börjar vi läsa ett tecken i taget tills vi hittar en CR eller tills vi nådde det sista tecknet i strängen. Vi använder den var = MID (var1, st [, l]) uttalande där var1 = källan, st = startpunkt och jag = mängden tecken att läsa. Så i vårt fall:

Längd = 0
Göra
INCR längd
Läge = Position + längd
Temp = MID (Uart_in_string, Position, 1)

Slinga tills Temp = Chr(13) eller Temp = ""

Så nu vet vi längden på våra data och det enda som är kvar för att göra, är att extrahera data från Källsträngen. Igen med mitten av uttrycket:

Namn = Mid (Uart_in_str, position längd)

Samma sak kommer att fungera för titeln och volymen.

Nu vi inte diskutera men hur att läsa från bufferten och töm den. Läsning från bufferten görs med var = INKEY(). Detta kommer att returnera ASCII-värdet i den första byten i bufferten och ta sedan bort tecknet från bufferten. Vi bara lägga till varje enda mottagna tecken tillsammans till en sträng som innehåller hela eller en del av bufferten.

Göra
Uart_buffer = Ischarwaiting()
Ischarwaiting() berättar hur många tecken det väntar i bufferten
Om Uart_buffer > 0 då
Uart_in = Inkey()
Uart_in_str = Uart_in_str + Chr(uart_in)
Chr förvandlas det verkliga tecknet ASCII-värdet
Slut om
Loop tills Uart_buffer = 0 eller Len(uart_in_str) = 255
Len ger oss längden på ett snöre

För att tömma bufferten, bara läsa allt till en sträng tills Ischarwaiting() = 0

Detta var allt du behövde veta för att kommunicera med din router. Hela resten av koden är mestadels kosmetiska: grafiska grejer och så vidare.

Se Steg
Relaterade Ämnen

Bygga din egen WIFI jammer

bygga din egen WIFI jammer med en 2,4 GHz AV sändare. I den här videon visar jag dig hur du kan bygga din egen jammer för att jam en WIFI-anslutning. Jag vill också förklara hur detta fungerar och skillnaden mellan störning och störningar.Wikipedias...

Bygga din egen elektrisk motorcykel

ÖversiktDet färdiga projektet är en 1981 Kawasaki KZ440, omvandlas till elektriska. Den drivs av fyra Optima gul topp förseglade (AGM) bly-syra batterier, som driver en Briggs & Stratton Etek elmotor. Hastigheten på motorn styrs av en Alltrax varumär...

Bygga din egen Smartphone

Denna handledning tar dig från början till slut i att bygga din egen smartphone. Du kommer att börja med 3D utskrift fall sedan löda kretskort tillsammans, församlingen, och slutligen installera en mobil OS på din telefon och använda Python för att g...

Hur man bygger din egen Gaming maskin

Älskar dugamla skolan arkadspel? Hur skulle du vilja veta hur man bygger din egen, med ett urval av över 5 000 spel att spela när som helst det passar din fantasi?Vill veta mer? Klicka här för mer information eller kolla in följande steg för att skap...

DIY, BYGGA DIN EGEN DIGITALA BINARY CLOCK!

Detta Instructable visar hur man bygger en digital klocka på enklaste sätt. Du behöver bara några verktyg och lite tid...Steg 1: Introduktion Det finns två sätt att bygga din egen binär klocka.1.-en är till göra din egen PCB. Att lära sig lite av mik...

Bygga din egen dator

varför skulle någon gå ut och köpa en dator från en manufaturer som Dell eller Gateway, när de kunde bygga en mer kraftfull dator för mindre pengar? Svaret, de vet inte hur man bygger den.Detta kanske låter som en komplicerad process, men i alla verk...

Bygg din egen elbil: Billiga

Hej alla,Detta är en presentation jag gjorde på moder jord mässan september 25th 2010.I den täcka jag de steg som det tog för mig att bygga en elbil på en budget.Det var bara en 45 minuters presentation, så vissa saker var bara berörde som i sig kan...

Bygg din egen elbil!

"Electro-Metro" projektet.Har inte råd en Nissan Leaf? Inga problem!Bygga en billig elbil själv genom att ta bort den bilen motorn, ersätta den med en gaffeltruck motor, och lägga till batterier.Jag har massor av videor om projektet på:http://ww...

Bygga din egen jorden ugn

Vem älskar inte läcker vedeldad ugn pizza? INGEN.Jag hade en dröm om bakgård pizza part kul gånger och började göra en del efterforskningar att göra det dröm verklighet.Först tittade jag på material kostnaden för en tegelugn (spoiler alert: de är all...

Bygg din egen hörsel Augmented Seashell!

i detta Instructable jag kommer att förklara hur man bygger din egen hörsel Augmented Seashell. Nu, innan vi börjar, vad är en auditiv Augmented Seashell?Svar: i princip är det en snäcka kan producera andra ljud än det redan gör. En snäcka producerar...

Bygga din egen Mobility Rehab handikappade Scooter för mindre än $500

Jag kan visa dig hur du konverterar en rakkniv E300 skoter, föreslår jag att du köpa från Amazon.com bör vara omkring $250, i din egen Rehab handikappade scooter. E300 skoter får du har bara en hastighet. Hög hastighet, eller kusten, inget däremellan...

Bygga din egen ficka SID Audio Player

Låt oss tid reser tillbaka till 80-talet igen genom att skapa din egen Propellerpowered Pocket SID Audio Player.]Den Guinness rekordbok listar Commodore 64 som den bäst säljande datormodellen genom tiderna. C64: an mest övertygande funktioner var det...

Bygg din egen upphöjd trädgård säng! Odla din egen mat!

i denna blogg, vi hoppas att instruera dig att bygga din egen trädgård säng. Lära av våra misstag och odla din egen mat hemma!Steg 1: fördelarDet finns många fördelar med att bygga en uppvuxen trädgård säng!1) är det lättare på din rygg! Du behöver i...

Bygg din egen bärbara rostfritt stål fälgar tube - och hela bara väger bara 17 kg!

Jag är en långsiktig homebrewer men jag har alltid gjort enda steg infusion mosar. Jag har alltid velat en fälgar eller HERMS system men jag inte gillar det utrymme ett fullständigt system tar upp och jag har alltid backade på grund av kostnaden. Men...

Hemma Hydroponics - en handbok om hur att bygga din egen hydroponics system

IntroduktionOrsakerna och effekterna av överbefolkningÖverbefolkning ska inte tas lättvindigt. Den har några fruktansvärda effekter, en av dem är en brist på mat. Våra för närvarande överbefolkad värld orsakas av den industriella revolutionen. Den in...

Hur till bygga din egen rörliga Tardis!

Få din "hur att bygga din egen Tardis Kit" & en annan klar Tardis för skala.Steg 1: Steg 1 öppna Tardis Kit Steg 1 Öppna "Hur att bygga din egen Tardis Kit"Kontrollera att du har alla bitar du behöver!Steg 2: Steg 2 sätta lampa i T...

Bygga din egen gateway brandvägg

lär dig att bygga din egen gateway brandvägg med FreeBSD® och gamla PC delar. Brandväggen kommer att bestå av PF brandväggen, Snort-ID: N, olika IPS applikationer, Squid proxy och några intuitivt webbgränssnitt för revision. Kostnaden för detta proje...

Bygg din egen gitarren effektpedal!

Med dagens ekonomi, de flesta kvalitet gitarr effekt pedaler är över $100, det är mycket sällan att du hittar en bra pedal för under $100, särskilt om den är gjord i USA. Det finns ett mycket billigare alternativ om du bara måste ha vissa grundläggan...

En Wide Body Quadrotor - mönster och idéer för att bygga din egen.

Multirotors--hur coola de är!En quadrotor är en typ av multirotor flygplan. Dessa flygplan är enklare än någonsin att bygga. Du kan börja med denna maskin och öka dess kapacitet (och komplicerade) som du lära dig mer. Din erfarenhet, kunskap och resp...