Bouwen van uw eigen Wifi-radio (6 / 14 stap)

Stap 6: Communicatie met de ASUS

Communicatie met de router lijkt misschien een beetje ontmoedigend (Nou ja het deed voor mij), met name wanneer u nieuw bent bij het. Maar het is niet zo moeilijk als het lijkt.

Verzenden van opdrachten naar de router

Eerst moeten we beslissen wat we willen de radio te doen. We willen dat het in principe:

  • spelen
  • pauze
  • Stop
  • station wijzigen
  • volume wijzigen

Als we naar de lijst met opdrachten voor mpc kijken zien we dat:

  • de opdracht voor play = mpc spelen
  • de opdracht voor pauze = mpc onderbreken
  • de opdracht voor stop = stoppen met mpc
  • de opdracht voor volume = mpc volume [+/-] num (numerieke waarde)

De wisseling van het station is een beetje moeilijker. Om te kunnen overstappen op een ander station, moet mpc weten van het adres. Eenvoudigste manier om dit te doen is vooraf alle onze favoriete stations laden in een playlist op de speler. Wij zullen dus de opdracht toevoegen aan het begin van onze code:
mpc adres toevoegen voor elk station dat wij willen vooraf laden in de router.

Voordat we beginnen met het toevoegen van stations, kunnen we een mpc duidelijk opdracht geven. Dit zal wissen alle vorige lijsten, enkel voor het geval dat we geen wijzigingen aangebracht aan onze lijst.

Nadat dit alles is gedaan, kunnen we het station met het commando mpc spelen num , waarbij num de positie van het station in onze toegevoegde playlist is veranderen.

In Bascom, het verzenden van deze opdrachten naar de router is erg eenvoudig. Alles wordt gedaan met PRINT:

Afdrukken "mpc play" of PRINT "mpc volume + 5"

Er is geen behoefte om toe te voegen een Carridge rendement (CR of ASCII-013) aan de opdracht, zoals de instructie PRINT voegt daaraan toe dat vanzelf.

Dus zoals je zien kunt, verzenden van opdrachten naar de router is niet moeilijk at all!

Aanvragen en info ontvangen van de router

Aanvragen en info ontvangen van de router is een beetje moeilijker. Nogmaals, zullen wij moeten beslissen wat info we willen ontvangen van de router. Wanneer u deel 6 op www.mightyohm.comlezen, ziet u dat er veel info die je kunt krijgen, maar we willen alleen weten:

  • de naam van het station
  • de titel van het liedje
  • het volume

De aanvraag voor het ontvangen van het station en de titel is gedaan met het volgende commando:

echo "submenu" | nc localhost 6600 | grep -e "^ Titel:" -e "^ naam:" (Let op het kapitaal T en N)

en voor het volume:

"status" echo | nc localhost 6600 | grep -e "^ volume:" (Hier geen hoofdstad)

Dus in bascom die zou geven:

Afdrukken "echo"; Chr(34); "submenu"; Chr(34); " | NC localhost 6600 | grep -e ";" Chr(34); "^ Titel:"; Chr(34); " -e " ; Chr(34); "^ Naam:"; Chr(34); ">/dev/tts/0"

en

Afdrukken "echo"; Chr(34); "status"; Chr(34); " | NC localhost 6600 | grep -e ";" Chr(34); "^ volume:"; Chr(34); ">/dev/tts/0"

Opnieuw is er geen behoefte om toe te voegen een CR.

Wanneer we een van deze verzoeken sturen, zult we ontvangen iets in onze buffer onmiddellijk. Nu moeten we alle gegevens in onze buffer in nuttige dingen regelen.

Gelukkig voor ons etiketten de router zijn info. Voordat de stationname het voegt naam:, vóór de titel- titel , en vóór volume volume. Dus laten we onze code zoeken naar het geschikte etiket en lees de buffer vanaf dat punt totdat deze een CR ontmoetingen of totdat de buffer leeg is. Nadat alle info wordt gewonnen uit de bufffer, legen wij gewoon de buffer zodat het kan worden gebruikt voor een andere aanvraag.
Om dit te doen we beginnen met het lezen van de buffer in een tekenreeks. Daarna kunnen we de buffer gewoon schoon zodat er geen ongewenste tekens bevat links. We zullen kijken in onze string voor één van de labels met de var = INSTR (tekenreeks, substr) verklaring. Dit geeft de positie van onze label in onze belangrijkste string.

positie = Instr (Uart_in_string, "naam:")

Dit geeft ons de positie van het eerste teken van het label. Als u niet toevoegen van het label op uw scherm wilt, dan voeg gewoon het bedrag dat u wilt beginnen met het lezen achter het label. In dit geval:

standpunt standpunt + 6 =

Vanaf hier moeten we bepalen hoelang de gegevens is. Dus vanaf de punt standpunt beginnen we om één teken tegelijk te lezen totdat we een CR vinden of totdat we het laatste teken van de tekenreeks bereikt. We gebruiken de var = MID (var1, st [, l]) verklaring waar var1 = de bron, st = uitgangspunt en ik = de hoeveelheid tekens te lezen. Dus in ons geval:

Lengte = 0
Doen
INCR lengte
Positie = standpunt + lengte
Temp = MID (Uart_in_string, positie, 1)

Lus tot en met Temp = Chr(13) of Temp = ""

Dus nu weten we de lengte van onze gegevens en het enige dat nog moet doen, is het om gegevens te extraheren uit de brontekenreeks. Weer met de Mid -instructie:

Naam = Mid (Uart_in_str, positie lengte)

Hetzelfde zal werken voor de titel en het volume.

Nu we niet bespreken nog hoe om te lezen uit de buffer en hoe leeg te maken. Bij het lezen van de buffer gebeurt met var INKEY() =. Dit zal de ASCII-waarde van de eerste byte terug in de buffer en verwijder het teken uit de buffer. We gewoon elke één ontvangen teken toevoegen samen in een tekenreeks met het geheel of een gedeelte van de buffer.

Doen
Uart_buffer = Ischarwaiting()
Ischarwaiting() vertelt hoeveel tekens er wachten in de buffer
Als Uart_buffer > 0 Then
Uart_in = Inkey()
Uart_in_str = Uart_in_str + Chr(uart_in)
Chr transformeert de ASCII-waarde in het echte teken
End If
Loop totdat Uart_buffer = 0 of Len(uart_in_str) = 255 Len geeft ons de lengte van een string

Als u wilt legen van de buffer, lees net alles in een string tot Ischarwaiting() = 0

Dit was alles wat die u weet nodig te communiceren met uw router.  Al de rest van de code zijn meestal cosmetisch: grafisch materiaal, enzovoort.

Gerelateerde Artikelen

Bouwen van uw eigen WIFI stoorzender

Bouwen van uw eigen WIFI stoorzender

bouwen van uw eigen WIFI stoorzender met behulp van een 2.4GHz AV zenders. In deze video zal ik je laten zien hoe u kunt bouwen uw eigen jammer om de jam een WIFI-verbinding. Ik zal ook uitleggen hoe dit werkt en het verschil tussen jammen en interfe
Bouwen van uw eigen ruwe Radio van de FM

Bouwen van uw eigen ruwe Radio van de FM

In dit project demonstreer ik hoe een RF FM-zender werkt en hoe dit beginsel zich verhoudt tot de oudere AM. Ik zal u ook tonen hoe te bouwen van een eenvoudige en ruwe FM-ontvanger die kan soms zelfs laten u naar uw favoriete radiozenders luisteren.
Bouwen van uw eigen labo FM Radio Astronomy

Bouwen van uw eigen labo FM Radio Astronomy

want ik een eenvoudige man ben, en de gedachte van proberen te begrijpen van alle voor het onbekende meer is dan ik kan verwerken, verkies ik de eenvoudiger kant van de astronomie. Mijn persoonlijke astronomie tools omvatten een 4,5" reflector telesc
Bouwen van uw eigen elektrische motorfiets

Bouwen van uw eigen elektrische motorfiets

overzichtHet voltooide project is een 1981 Kawasaki KZ440, omgezet in elektrische. Hij wordt aangedreven door vier Optima Yellow Top verzegeld (AVA) lood-zuur batterijen, die een elektrische Briggs & Stratton Etek motor rijden. De snelheid van de mot
Hoe te bouwen van uw eigen slager blok

Hoe te bouwen van uw eigen slager blok

Ik vond dat het bouwen van uw eigen slager blok niet zo ingewikkeld is! Met de prachtige bron van onze schuur te trekken uit (mijn grootouders oude hout werken winkel) houden ik gewoon vinden steeds meer materiaal om mee te werken. In dit geval die e
Een Wide-Body Quadrotor - ontwerpen en ideeën om te bouwen van uw eigen.

Een Wide-Body Quadrotor - ontwerpen en ideeën om te bouwen van uw eigen.

Multirotors--hoe cool zijn!Een quadrotor is een soort multirotor vliegtuigen. Deze vliegtuigen zijn gemakkelijker dan ooit om te bouwen. U kunt beginnen met deze machine en verhogen de mogelijkheden (en de complexiteit) als u meer informatie. Uw erva
Bouwen van uw eigen "Spy Satellite"

Bouwen van uw eigen "Spy Satellite"

Ik dacht altijd dat het zou netjes te hebben van uw eigen "Spy" Satellite. Het feit dat we hebben onze eigen Spy Satellites reizen rond de aarde net verbaast me. Dus waarom niet eens uw eigen? De volgende instructable toont u hoe te doen enkel d
Bouwen van uw eigen hondenhuis

Bouwen van uw eigen hondenhuis

Dit was mijn allereerste instructable. Ik was debatteren over een project om te bouwen voor een klasse, toen het soort viel in mijn schoot. Ik hoop dat alle newbies en beginnende hondeneigenaren gelijk, geniet ervan.Als de eigenaar van een gloednieuw
Hoe te bouwen van je eigen kooi voor hamster.

Hoe te bouwen van je eigen kooi voor hamster.

ik denk dat de kooien voor dieren te klein om satisify zijn hun behoefte aan ruimte. Natuurlijk, wil ik het beste voor mijn kleine huisdier... dus heb ik besloten om een plek waar ze kan plezier hebben en ook veilig te maken.In dit instructable, ik z
Bouwen van uw eigen Atlatl

Bouwen van uw eigen Atlatl

De jager, stengels zijn prooi aan een open veld met de perfecte gelegenheid om te staken. Ogen verkleinde met volledige intentie op een schone doden. Langzaam maar zeker de jager trekt een pijl uit zijn koker en bereidt zich voor op de aanval. In een
Bouwen van uw eigen Single of Dual Tik Kegerator voor Huis brouw vaatjes

Bouwen van uw eigen Single of Dual Tik Kegerator voor Huis brouw vaatjes

deze instructies in combinatie met de aankoopgegevens is alles wat je nodig hebt om te bouwen van uw eigen mini kegerator geschikt voor huisvesting van één of twee mini keg(s) van de 5 gallon, CO2-fles, en alle slangen.Elke instructie pagina heeft ta
Bouwen van uw eigen Ugly Drum Smoker (UDS)

Bouwen van uw eigen Ugly Drum Smoker (UDS)

Ugly Drum rokers (UDS) zijn eenvoudige rookcoupé voor bouw- en operateyet zij nul enkele echt goede barbecue. Dit Instructable zal u tonen hoe te bouwen uw eigen eenvoudige UDS. Als u niet wat een Ugly Drum Smoker weet is-- of niet weet hoe een te ge
Bouwen van uw eigen Smart DNS-Proxy en Netflix deblokkeren overal

Bouwen van uw eigen Smart DNS-Proxy en Netflix deblokkeren overal

Er zijn veel commerciële diensten op het Internet, waardoor hun gebruikers te bypass geografische blokken van de Netflix om toegang tot inhoud uit de regio. Bijvoorbeeld, als u een Amerikaanse expat wonen in het Verenigd Koninkrijk en wilt toegang de
DIY, BOUWEN VAN UW EIGEN DIGITALE BINAIRE KLOK!!!

DIY, BOUWEN VAN UW EIGEN DIGITALE BINAIRE KLOK!!!

Dit Instructable toont hoe het bouwen van een digitale klok in de eenvoudigste manier. U hoeft alleen een paar instrumenten en een beetje tijd...Stap 1: Inleiding Er zijn twee manieren om te bouwen van uw eigen binaire klok.1.-een is om uw eigen PCB.