Construire votre propre radio Wifi (6 / 14 étapes)

Étape 6: Communication avec l’ASUS

Communication avec le routeur peut sembler un peu rébarbatif (enfin il l’a fait pour moi), surtout quand vous êtes nouveau sur elle. Mais ce n’est pas aussi difficile que cela puisse paraître.

Envoyer des commandes vers le routeur

Tout d’abord, nous avons besoin de décider ce que nous voulons faire de la radio. Fondamentalement, nous voulons qu’il :

  • jouer
  • mettre en pause
  • arrêter
  • changer de station
  • changer le volume

Si nous regardons dans la liste des commandes pour mpc, nous voyons que :

  • la commande pour play = jouer un mpc
  • la commande pause = pause de mpc
  • la commande d’arrêt = arr├¬ter de mpc
  • la commande de volume = volume de mpc [+/-] num (valeur numérique)

L’évolution de la station est un peu plus difficile. Pour être en mesure de passer à une autre station, mpc a besoin de connaître son adresse. Plus simple de le faire consiste à précharger toutes nos stations préférées dans une liste de lecture sur le lecteur. Ainsi, au début de notre code, nous allons ajouter la commande :
mpc ajouter adresse pour chaque station, nous tenons à précharger dans le routeur.

Avant de commencer à ajouter des stations, nous pourrions émettre une commande mpc clair . Ceci effacera toutes les listes précédentes, juste au cas où nous avons apporté aucune modification à notre liste.

Après que tout cela est fait, nous pouvons changer la station avec la commande mpc jouer num , num correspondant à la position de la station dans notre liste de lecture ajouté.

Bascom, l’envoi de ces commandes au routeur est très facile. Tout est fait avec une impression:

Imprimer "mpc play" ou PRINT "mpc volume + 5"

Il n’y a pas besoin d’ajouter un retour de Carridge (CR ou ascii 013) à la commande que l’instruction PRINT ajoute que par lui-même.

Donc comme vous pouvez le voir, envoyer des commandes vers le routeur n’est pas difficile du tout !

Demande et la réception d’informations du routeur

Demande et la réception d’informations de la toupie sont un peu plus difficile. Encore une fois, nous devrons décider quelles infos nous voulons recevoir du routeur. Lorsque vous lisez la partie 6 sur www.mightyohm.com, vous verrez qu’il y a beaucoup d’infos que vous pouvez obtenir, mais nous voulons seulement savoir :

  • le nom de la station
  • le titre de la chanson
  • le volume

La demande pour la réception de la station et le titre est faite avec la commande suivante :

echo « currentsong » | nc localhost 6600 | grep -e « ^ titre: "-e" ^ nom: " (attention à la capitale T et N)

et pour le volume :

echo « statut » | nc localhost 6600 | grep -e « ^ volume: » (Pas de capital ici)

Donc en bascom qui donnerait :

Imprimer « echo » ; Chr (34) ; « currentsong » ; Chr (34) ; " | NC localhost 6600 | grep -e "; Chr (34) ; « ^ Titre: "; Chr (34) ; " -e " ; Chr (34) ; « ^ Nom: "; Chr (34) ; ">/dev/tts/0"

et

Imprimer « echo » ; Chr (34) ; « statut » ; Chr (34) ; " | NC localhost 6600 | grep -e "; Chr (34) ; « ^ volume: "; Chr (34) ; ">/dev/tts/0"

Encore une fois il n’y a pas besoin d’ajouter un CR.

Quand nous envoyons une de ces demandes, nous recevrons quelque chose dans notre mémoire tampon immédiatement. Maintenant, nous avons besoin disposer de toutes les données dans le tampon en choses utiles.

Heureusement pour nous, le routeur étiquettes ses infos. Avant la stationname il ajoute nom:, avant le titre titre et volume volume. Donc nous allons laisser notre code Rechercher l’étiquette appropriée et de lire la mémoire tampon à partir de là, jusqu'à ce qu’il rencontre un CR ou jusqu'à ce que le tampon est vide. Après que toute l’information est extraite de la 25applications, nous vidons tout simplement la mémoire tampon afin qu’il peut être utilisé pour une autre demande.
Pour ce faire, nous commençons par la lecture de la mémoire tampon dans une chaîne. Après cela, on peut simplement nettoyer la mémoire tampon afin qu’il n’y a pas de caractères non désirés à gauche. Nous allons examiner dans notre chaîne pour l’une des étiquettes avec le var = INSTR (string, substr) déclaration. Ceci renverra la position de notre label dans notre chaîne principale.

position = Instr (Uart_in_string, "nom:")

Cela nous donnera la position du premier caractère de l’étiquette. Si vous ne voulez pas ajouter l’étiquette sur votre écran, puis il suffit d’ajouter la quantité que nécessaire pour commencer à lire derrière l’étiquette. Dans ce cas :

Position = position + 6

D’ici nous devons déterminer combien de temps les données. Donc de la position du point, nous allons commencer à lire un caractère à la fois jusqu'à ce que nous trouvons un CR ou jusqu'à ce que nous avons atteint le dernier caractère de la chaîne. Nous utilisons le var = MID (var1, st [, l]) déclaration où var1 = la source, st = point de départ et j’ai = la quantité de caractères à lire. Ainsi, dans notre cas :

Longueur = 0
Faire
Longueur de la incr
Position = Position + longueur
Temp = MID (Uart_in_string, Position 1)

Boucle jusqu’au Temp = Chr (13) ou Temp = » »

Alors maintenant, nous savons la longueur de nos données et la seule chose qui reste à faire, consiste à extraire les données de la source de la chaîne. Encore une fois avec l’instruction Mid :

Nom = Mid (Uart_in_str, position longueur)

Les mêmes travaillera pour le titre et le volume.

Maintenant, nous ne discutons pas encore comment lire de la mémoire tampon et pour le vider. Lecture de la mémoire tampon est faite avec var = INKEY(). Cela retourne la valeur ascii du premier octet dans la mémoire tampon et supprimez ce caractère de la mémoire tampon. Nous il suffit d’ajouter chaque caractère reçu seul ensemble en une chaîne contenant tout ou partie de la mémoire tampon.

Faire
Uart_buffer = Ischarwaiting()
Ischarwaiting() indique le nombre de caractères y est en attente dans la mémoire tampon
Si Uart_buffer > 0 Then
Uart_in = Inkey()
Uart_in_str = Uart_in_str + Chr(uart_in)
Chr transforme la valeur ascii de la véritable nature
End If
Boucle jusqu'à ce que Uart_buffer = 0 ou Len(uart_in_str) = 255 Len nous donne la longueur d’une chaîne

Pour vider la mémoire tampon, il suffit de tout lire en chaîne jusqu'à Ischarwaiting() = 0

C’était tout ce que vous besoin savoir communiquer avec votre routeur.  Tout le reste du code sont pour la plupart cosmétiques : trucs graphiques et ainsi de suite.

Articles Liés

Construire votre propre brouilleur WIFI

Construire votre propre brouilleur WIFI

construire votre propre brouilleur WIFI utilisant un 2,4 GHz AV des émetteurs. Dans cette vidéo, je vais vous montrer comment vous pouvez construire votre propre brouilleur pour jam une connexion WIFI. Aussi, je vais vous expliquer comment cela fonct
Construire votre propre Radio FM brut

Construire votre propre Radio FM brut

Dans ce projet, je démontrerai comment un transmetteur RF fonctionne et comment ce principe se compare à l'ancienne AM. Je vais aussi vous montrer comment construire un récepteur FM simple et brut, qui peut parfois même vous permettre d'écouter vos s
Construire votre propre radio sur internet

Construire votre propre radio sur internet

Ce Instructable vous montre comment créer une Webradio (écouter de la musique house, rock, jazz, salsa...) en moins de 30 minutes sans aucune technique connaissance ni soudure.La radio utilise un Pi framboise comme matériel, un prêt à un fichier flas
Construire votre propre moto électrique

Construire votre propre moto électrique

vue d'ensembleLe projet fini est un 1981 Kawasaki KZ440, converti en électrique. Il est alimenté par quatre Optima Yellow Top scellé batteries au plomb (AGM), qui animent un moteur Briggs & Stratton Etek. La vitesse du moteur est contrôlée par un All
Construire votre propre Smartphone

Construire votre propre Smartphone

Ce tutoriel vous apporte de bout en bout dans la construction de votre propre smartphone. Vous commencerez par 3D impression cas, puis souder les circuits imprimés ensemble, Assemblée et enfin installer un OS mobile sur votre téléphone et à l'aide de
Construire votre propre micro-ordinateur de style rétro.

Construire votre propre micro-ordinateur de style rétro.

Années 1970 aux années 1980 ont été les moments de magie pour l'ordinateur personnel.    Si vous pourriez le temps voyage retour à 1976 à Dr Crist à Palo Alto, CA, vous auriez trouvé quelques gars cherche débraillés, créant l'ordinateur original Appl
Comment construire votre propre bloc de boucher

Comment construire votre propre bloc de boucher

J'ai trouvé que pour construire votre propre boucher bloc n'est pas compliqué tout ça ! Avec la merveilleuse ressource de notre étable pour tirer (mes grands-parents vieux travail atelier de menuiserie) je continue à trouver juste matériel de plus en
Comment construire votre propre Machine de jeu

Comment construire votre propre Machine de jeu

Tu aimesJeux d'arcade old school ? Comment voulez-vous savoir comment construire votre propre, avec une sélection de plus 5 000 jeux à jouer à tout moment, qu'il s'adapte à votre fantaisie ?Vous voulez en savoir plus ? Cliquez ici pour plus d'informa
Construire votre propre Robot Butler!!!  -Tutorial, Photos et vidéo

Construire votre propre Robot Butler!!! -Tutorial, Photos et vidéo

EDIT : plus d'informations sur mes projets Découvrez mon nJe fais aussi consultant pour des effets spéciaux projets/produits robotique et mécatronique. Visitez mon site Web - narobo.com pour plus de détails.Vous avez toujours voulu un robot butler qu
IoT industrielle - comment construire votre propre pagode extérieure pour la météo, qualité de l’Air et autres capteurs

IoT industrielle - comment construire votre propre pagode extérieure pour la météo, qualité de l’Air et autres capteurs

** Mise à jour : L'article ci-dessous provient de notre héritage app Android ! Valarm est IoT industrielle. Nous aiderons à vous, vos équipes et votre entreprise avec des applications industrielles de l'ITO utilisant Valarm outils Cloud.Si vous voule
Remix : construire votre propre 555

Remix : construire votre propre 555

Si vous appréciez mon travail, alors s'il vous plaît envisager aller et donner un peu d'argent pour m'aider à financer un comprimé de libres, je travaille sur un projet futur.http://www.gofundme.com/Rpitablet-Merci------------------------------------
Construire votre propre « Satellite espion »

Construire votre propre « Satellite espion »

J'ai toujours pensé que ce serait bien d'avoir votre propre Satellite « Espion ». Le fait que nous avons nos propres Satellites espions voyager autour de la terre juste me stupéfie. Alors, pourquoi ne pas avoir votre propre ? Ce instructable qui suit
Construire votre propre laboratoire de radioastronomie FM

Construire votre propre laboratoire de radioastronomie FM

parce que je suis un homme simple, et l'idée d'essayer de comprendre tout de l'inconnu est plus que je peux me débrouiller, je préfère le côté plus simple de l'astronomie. Mes outils personnels astronomie incluent un télescope à réflecteur 4.5", une
Construire votre propre alimentation régulée

Construire votre propre alimentation régulée

Une alimentation régulée est un élément très important si vous générez des projets électroniques. Mais l'achat d'une bonne alimentation régulée peut être coûteuse. Donc dans ce instructable je vais vous montrer comment construire votre propre aliment