NeoWeather : Indicateur de climat ambiant (7 / 7 étapes)

Étape 7: Quel est le code d’Agent ?

L’agent a deux emplois :

  1. Parler à Weather Underground pour obtenir les plus récentes conditions
  2. Servez le web UI lorsque nécessaire afin que l’utilisateur peut mettre à jour l’emplacement ou voir la prévision prolongée.

Allons-y et sautez en regardant « prepWebpage » pour un moment. Environ 150 lignes vers le bas, jetez un oeil à getConditions.

Pièce la plus importante de la fonction getConditions ressemble à ceci :

Cet extrait de code génère une URL de requête de l’URL de base de l’API Underground de la météo et votre clé API, puis il envoie et attend une réponse, qui est stockée dans Rés. Si tout va bien, res contient ensuite toutes les données dont vous avez besoin sur la météo comme un bloc de JSON, qui nous pouvons analyser facilement :

Finalement, l’agent met ensemble une prévision pour les journaux, puis envoie la pièce maîtresse sur l’appareil :

Semblera familier ? C’est un appel dans le gestionnaire de « seteffect » nous avons vu dans l’appareil, où est analysée la prévision et les effets sont définies. Voilà d'où il vient. Le second paramètre ici est les données de l’appareil recevra : une table avec deux objets, un pour la chaîne de conditions et l’autre pour la température actuelle.

La deuxième tâche de l’agent, qui dessert le web UI, est traitée juste en dessous de getConditions, dans http.onrequest. C’est le gestionnaire de demandes HTTP général, et vous pouvez l’écrire pour faire tout ce que vous désirez en réponse à beaucoup de genres de requêtes HTTP. Celui-ci est assez simple. Il vérifie le chemin pour voir si la demande est venu pour un endroit plus spécifique à l’URL de l’agent. Il existe deux options ici qui déclencheront un comportement spécifique. Si le chemin d’accès est défini sur « getLocation », c’est une requête pour voir où le courant prévision emplacement est (probablement à partir de l’interface web) :

De même, si le chemin d’accès est défini sur « setLocation », c’est une demande de changement de l’emplacement prévu.

Si aucun chemin d’accès n’est fourni à tous, l’agent suppose que c’est une demande de navigateur et remet en retour une grande grande chaîne multiligne - qui se trouve être une page web ! Cela permet l’agent d’agir comme un serveur web minuscule :

C’est tout il y a à lui - et félicitations sur votre nouveau gadget Météo. Profitez !

Articles Liés

Raspberry Pi - Tutorial de Java pour le capteur de lumière ambiante TSL45315

Raspberry Pi - Tutorial de Java pour le capteur de lumière ambiante TSL45315

TSL45315 est un capteur de lumière ambiante numérique. Il rapproche de réponse de l'oeil humain sous différentes conditions d'éclairage. Les dispositifs ont trois temps d'intégration réglable et fournissent une sortie directe lux 16 bits via une inte
Raspberry Pi - tutoriel de Python pour le capteur de lumière ambiante TSL45315

Raspberry Pi - tutoriel de Python pour le capteur de lumière ambiante TSL45315

TSL45315 est un capteur de lumière ambiante numérique. Il rapproche de réponse de l'oeil humain sous différentes conditions d'éclairage. Les dispositifs ont trois temps d'intégration réglable et fournissent une sortie directe lux 16 bits via une inte
Raspberry Pi - BH1715 numérique capteur de lumière ambiante Python Tutorial

Raspberry Pi - BH1715 numérique capteur de lumière ambiante Python Tutorial

Le BH1715 est un capteur de lumière ambiante numérique avec une interface de bus I²C. Le BH1715 est utilisé communément pour obtenir les données de lumière ambiantes pour régler la puissance de rétro-éclairage LCD et clavier pour les appareils mobile
Raspberry Pi - BH1715 numérique capteur de lumière ambiante Java Tutorial

Raspberry Pi - BH1715 numérique capteur de lumière ambiante Java Tutorial

Le BH1715 est un capteur de lumière ambiante numérique avec une interface de bus I²C. Le BH1715 est utilisé communément pour obtenir les données de lumière ambiantes pour régler la puissance de rétro-éclairage LCD et clavier pour les appareils mobile
Pression et température indicateur de Arduino

Pression et température indicateur de Arduino

Ce projet lit la pression barométrique, la température ambiante, la date, l'heure et gère la couleur de l'affichage d'un téléphone Siemens S55 j'ai vidé.Étape 1: Description du systèmeComme peut être vu dans les photos ci-dessus et dans le diagramme
SurfCube : Un affichage ambiant des vagues et marémotrice données

SurfCube : Un affichage ambiant des vagues et marémotrice données

SurfCube est un affichage ambiant pour présenter des données vagues et marées pour les surfers, ou pour ceux qui vivent près de la côte. Cela permet à un utilisateur de suivre les conditions de marée et des vagues d'océan/mer à un endroit fixe avec u
La lumière ambiante interactif

La lumière ambiante interactif

c'est mon premier instructable !S'il vous plaît garder avec moi alors que j'ai du mal à écrire un anglais correct. N'hésitez pas à me corriger !J'ai commencé ce projet juste après le concours « Eclairez il » a commencé. Je souhaite que j'avais fait b
Construire vos propres barres d’éclairage ambiant color

Construire vos propres barres d’éclairage ambiant color

cette instructable explique comment construire, montage et effets vidéo style barres lumineuses LED de contrôle prévoyant pleine couleur éclairage ambiant de la pièce, mais aussi « ambilight ».Notez que le clignotement de la LED n'est pas aussi perce
Faible coût capteur de débit d’eau et affichage ambiant

Faible coût capteur de débit d’eau et affichage ambiant

l'eau est une ressource précieuse. Des millions de personnes n'ont pas accès à une eau potable, et que 4 000 enfants meurent de maladies de l'eau contaminée chaque jour. Pourtant, nous continuons d'être inutiles avec nos ressources. L'objectif global
Arduino Nano - tutoriel numérique capteur de lumière ambiante BH1715

Arduino Nano - tutoriel numérique capteur de lumière ambiante BH1715

Le BH1715 est un capteur de lumière ambiante numérique avec une interface de bus I²C. Le BH1715 est utilisé communément pour obtenir les données de lumière ambiantes pour régler la puissance de rétro-éclairage LCD et clavier pour les appareils mobile
Particule Photon - tutoriel numérique capteur de lumière ambiante BH1715

Particule Photon - tutoriel numérique capteur de lumière ambiante BH1715

Le BH1715 est un capteur de lumière ambiante numérique avec une interface de bus I²C. Le BH1715 est utilisé communément pour obtenir les données de lumière ambiantes pour régler la puissance de rétro-éclairage LCD et clavier pour les appareils mobile
Arc en ciel ambiant horloge

Arc en ciel ambiant horloge

Bonjour Instructables, Bonjour tout le monde.Il s'agit de mon premier projet jamais ici. Espère vous plaira et Désolé pour d'éventuelles erreurs.Voici une horloge qui indique non seulement le temps, mais il indique également la température et l'humid
DIY Eclairage ambiant avec Hyperion. Fonctionne avec des Sources HDMI/AV || Raspberry Pi

DIY Eclairage ambiant avec Hyperion. Fonctionne avec des Sources HDMI/AV || Raspberry Pi

Il s'agit d'un élargissement de ma précédente version de l'éclairage ambiant. Jetez un oeil à ce premier :Cette fois je vais ajouter une nouvelle fonction à mon bricolage de l'éclairage ambiant. Jusqu'à présent, il fonctionne uniquement avec le logic
Chemise climatisée

Chemise climatisée

Air conditionné chemise vous tenir au frais tout en regardant professionnel ; donc vous pouvez garder votre sang froid. Ce court métrage climatisé a deux ventilateurs (de chaque côté près de l'arrière de cette chemise) qui forcent l'air frais sous le