Cuisine intelly (5 / 7 étapes)

Étape 5: Code a expliqué

L’id de périphérique et le secret de périphérique sont utilisées pour authentifier l’objet physique (comme Edison, Arduino, PI Raspberri,..) avec Lelylan. Pour obtenir les informations d’identification de l’appareil ouvert le tableau de bord, sélectionnez le périphérique nouvellement créé, cliquez sur paramètres et copiez l’ID de périphérique et le Secret de l’appareil.

/ * Paramètres * /

dispositif de var = {id: '' secrète: ''}

Lelylan utilisations MQTT, une publication abonnement protocole pour l’Internet des objets. Pour faire les Lelylan à communiquer avec l’Edison vous devez définir deux sujets : un recevoir courrier provenant de Lelylan (inTopic) et un envoi de messages à Lelylan (out/opic). Ces sujets sont uniques et identifiée par l’id de périphérique.

var inTopic = ' dispositifs /' + device.id + « / get » / / réception de messages,

outTopic = ' dispositifs /' + device.id + « / set » ; publication de messages

Tous les appareils en Lelylan se caractérise par un type qui à son tour, est identifié par une liste de propriétés, les fonctions et les statuts (en savoir plus sur le dev center). Pour ce projet, que nous avons créé le type pan intelligente avec le statut de propriétés (voyant allumé ou éteint), température (pan contenu degrés), qualité de l’air (gar détection) et la température limitent (après qui déclenchera l’alarme).

Ce que nous faisons est de vérifier le reçu message (ou envoyer) et parse (ou créer) le JSON avec un id de propriété spécifique. De cette façon, nous pouvons comprendre les biens reçus ou mettre à jour les valeurs physiques dans Lelylan.

Pour cet exemple, nous utilisons le pan intelligent type ID est 55055efb5a06678498000001)

type var = {}

« status »: {id: « 55055eff5a06673360000001 »},

« température »: {id: « 5505607f5a06673360000004 »},

« air »: {id: « 550560935a06673360000005 »},

« tempLimit »: {id: « 550560a65a0667cff2000001 »},

};

Définissez le serveur MQTT Lelylan (adresse IP du serveur MQTT et port) (id et secret) où se connecter. Nous a également permis une connexion sécurisée grâce à la puissance de calcul de Edison (pas possible avec un Arduino par exemple).

var settings = {}

hôte: « 178.62.108.47 », / / IP du serveur MQTT

Port: « 8883 », / / port du serveur MQTT

nom d’utilisateur : device.id, / / device.id comme nom d’utilisateur du client

mot de passe : device.secret, / / device.secret comme mot de passe client

Protocole: « ssl », / / connexion sécurisée

rejectUnauthorized : faux

}

Dans cette section, nous définissons les broches utilisées pour contrôler la led, pour obtenir la température et d’obtenir la qualité de l’air (détection de gaz).

/ * Définition LED * /

var digitalPin3 = new mraa. GPIO(3) ; digitalPin3.dir (mraa. DIR_OUT) ;

var ledState = true ;

/ * Définition de la température * /

var analogPin0 = new mraa. AIO(0) ; / * Définition de détection de gaz * /

var analogPin1 = new mraa. AIO(1) ;

À ce stade, nous allons ouvrir la connexion MQTT, et nous pouvons commencer à envoyer la température et à Lelylan, les valeurs de qualité de l’air. Voici le code pour lire et envoyer la température à Lelylan, où nous avons lire la valeur actuelle et créer un JSON à envoyer par l’intermédiaire de MQTT à Lelylan (composé de l’id de la température et la valeur de la température). Une logique semblable vit pour le capteur de gaz.

var client = mqtt.connect(settings) ; client.on ("connect", function() {}

function readTemp() {}

var analogValue = Math.round(analogPin0.read(), 2) ;

setTimeout (readTemp, 10000) ;

Console.log ("publier la température à Lelylan') ;

message = {« properties »: [{« id »: type.temperature.id, « value »: analogValue}]} ;

client.Publish (out_topic, JSON.stringify(message)) ; […]

À ce stade, si la température de passage supérieur à la limite définie, le voyant est allumé et les modifications sont envoyées à Lelylan.

Si (analogValue > tempLimit) {}

Console.log (« Allumer de la lumière (température) - », analogValue) ;

boardLight.write(255) ;

message = {« properties »: [{« id »: type.status.id, « value »: « on »}]} ;

client.Publish (out_topic, JSON.stringify(message)) ;

} else {}

Console.log (« Turn off lumineux (température) - », analogValue) ;

boardLight.write(0) ;

message = {« properties »: [{« id »: type.status.id, « value »: « off »}]} ;

client.Publish (out_topic, JSON.stringify(message)) ;

}

Le dernier extrait de code utilisée pour l’abonnement pour tous les messages venant de forme Lelylan, mettre à jour dynamiquement à la limite de température depuis le web. De cette façon nous pouvons varier sa valeur directement à partir de Lelylan tableau de bord ou n’importe quelle application mobile.

client.Subscribe(in_topic) ;

client.on ('message', fonction (sujet, message) {}

var prop = JSON.parse (message) .properties [0] ;

Console.log ("Message reçu", statut) ; / * Définir la limite de température * /

Si (prop.id == typelight.tempLimit.id) {}

tempLimit = prop.value ;

boardLight.write(255) ;

Console.log ('la limite de température a été définie sur', tempLimit) ;

}

client.Publish (out_topic, JSON.stringify(message)) ;

Console.log ("Message reçu (sujet)", sujet, « (message) », message) ;

});

Articles Liés

Minuterie de cuisine Arduino avec une introduction aux interruptions de minuterie

Minuterie de cuisine Arduino avec une introduction aux interruptions de minuterie

Bienvenue sur mon premier instructable,J'ai décidé de faire un projet assez simple d'entrer dans le monde instructable. Ce projet consiste à faire une minuterie de cuisine simple avec un Arduino Uno. Donc je vais donner une petite introduction à l'éc
Grande cuisine Facelift

Grande cuisine Facelift

Donnez à votre cuisine un lifting avec nouvelles portes de coffret.Je vais vous expliquer comment faire la porte rouge sur la photo, avec un pull intégré (manche), que vous pourriez ajouter comme un accent à votre cuisine ou faire assez pour remplace
Sphères juteuse Snack - cuisine facile Science

Sphères juteuse Snack - cuisine facile Science

Il s'agit d'un moyen facile et amusant à jouer avec la nourriture ! Si vous avez des enfants pointilleux, vous pourriez faire des jus de fruits et de légumes et ensuite créer ces gelées « caviar » hors de lui.Il s'agit seulement de deux ingrédients !
Clothes Peg cuisine Hack

Clothes Peg cuisine Hack

Que peut faire un piquet de vêtements dans la cuisine ?Cela peut sembler comme une blague, mais c'est ce que j'ai fait.Étape 1: éléments Quelques pinces à lingeDouble face ruban (ou une colle silicone)ChaîneUn ciseauxVous pouvez facilement obtenir ce
Support de couteau de cuisine

Support de couteau de cuisine

Ma femme voulait une sorte de rabot. Mais nous avons plusieurs différentes sortes et types de couteaux.La première idée était d'acheter un porte-couteau magnétique, mais ces titulaire ne cadrait pas dans notre cuisine... dit ma femme.Donc j'ai constr
Cuisine Coquinas

Cuisine Coquinas

C'est un de mes plats préférés. Coquinas. Certaines personnes appellent Tellina ou Donax Variablilis, son nom scientifique, est une espèce de petite palourde d'eau de mer comestible. C'est une espèce d'eau chaude qui se produit dans des eaux peu prof
Aide de cuisine D4E1

Aide de cuisine D4E1

Ce produit a été créé pour aider les personnes ayant une déficience visuelle qui veut être en mesure de faire cuire à nouveau.Les plus gros problèmes étaient :Détecter où se trouve chaque ustensile de cuisine > œuvres très lentVoir légumes fois sombr
ATRIL PARA cuisine Y pas TUS MANCHAR LIBROS

ATRIL PARA cuisine Y pas TUS MANCHAR LIBROS

Proyecto tiene como objetivo proteger el libro de cocina mientras se cocina. Nations Unies atril por TR sólo levanta el libro de la superficie sucia, sin n'embargo aucun resguarda el libro de las manos sucias. El proyecto investiga la manera de dar v
Savon de cuisine bon matin (café)

Savon de cuisine bon matin (café)

j'ai été prise de savon depuis environ 12 ans. Quand je dis « faire savon » je veux dire vrai savon... pas la glycérine, ou faire fondre et verser genre comme vous acheter de la papeterie (tous si j'ai eu l'occasion de l'utiliser pour certains projet
Déshydrateur, issu d’un placard de la cuisine.

Déshydrateur, issu d’un placard de la cuisine.

Je sais que vous pouvez sortir et acheter un déshydrateur électrique, mais celui-ci peut être construit avec les choses que vous avez déjà et aussi son toujours cool à construire vous-même. Ci-dessus vous y trouverez la partie 3, vidéo que j'ai fait
PVC cuisine Helper Hack

PVC cuisine Helper Hack

Aimé l'idée des aides de cuisine, mais n'a pas apprécié leurs étiquettes de prix. A cherché beaucoup de hacks et la plupart d'entre eux impliqués menuiserie nécessitant des outils supplémentaires ; pas vraiment notre tasse de thé. Puis vint l'aha ! i
Tiroirs de cuisine garde-manger

Tiroirs de cuisine garde-manger

Conduire à travers le quartier, j'ai vu quelques "à vendre" des signes dans les front yard d'un voisin. Je me suis arrêté pour parler avec lui et, étant un ancien entrepreneur général, il avait accumulé quelques vieux outils, dont certains avaie
Pinces de cuisine plat Pack

Pinces de cuisine plat Pack

Cet outil de cuisine vous aidera à économiser de l'espace dans vos tiroirs. Au lieu d'acheter un plein jeu de pinces de cuisine que vous pouvez simplement utiliser des cuillères ou fourchettes que déjà vous avez dans votre cuisine et utilisez comme d
Gros de cuisson dans une petite cuisine

Gros de cuisson dans une petite cuisine

Aller à l'étranger est quelque chose que j'ai n'eu aucun scrupule sur. Culture différente ? Hein, fine. Langue différente ? Je vais le comprendre. Mais ayant en quelque sorte une cuisine différente, c'était ce qui m'a jeté. Après avoir passé des mois