Étape 4: programmation
Recherchez le fichier ci-joint ino pour la programmation de l’arduino. / / firmware mis à jour a été téléchargée avec la meilleure réception et résoudre problèmes de synchronisation avec le serveur d’api thingspeak. / / Merci à Bookwormzero aka Neil pour trouver le moment issue. bon travail fait.
i, m en utilisant arduino à lire l’api et à agir selon les données reçues. Nous pouvons utiliser n’importe quel appareil compatible internet pour contrôler les broches de l’arduino. ici je, m tourner Conseil conduit sous et hors tension en écrivant H pour la grande et L pour faible sur le web api. Cela peut être fait de n’importe où dans le monde avec internet.
Mise à jour de l’article:-
Commandes suivantes sont utilisées pour exploiter le canal de Thingspeak.
- Mise à jour canal d’alimentation - GET
OBTENIR https://api.thingspeak.com/update?api_key=your_api_key&field1=value
- Mise à jour canal d’alimentation - POST
POSTER https://api.thingspeak.com/update.json
api_key = votre clé api
champ1 = valeur vous souhaitez valider
- Obtenir un flux de canal
OBTENIR https://api.thingspeak.com/channels/your_channel_no/feeds.json?results=1
- Obtenir un flux de champ de chaîne
OBTENIR https://api.thingspeak.com/channels/your_channel_no/fields/1.json?results=1
- Obtenir des mises à jour
OBTENIR https://api.thingspeak.com/channels/your_channel_no/status.json
Mise à jour canal alimentation-GET requête peut être utilisée pour écrire des données dans champ1 en tapant l’URL dans n’importe quel navigateur ayant une connexion internet. Cela servir notre télécommande c'est-à-dire n’importe quel appareil compatible internet.
Maintenant, pour contrôler les choses, nous avons besoin lire les données de champ1 en utilisant notre arduino et utilisez-la comme une commande pour des tâches prédéfinies. Par exemple, j’ai utilisé « H » pour faire des Conseil dirigé haut et « L » pour la rendre faible.
Pour lire la valeur de field1, nous enverrons "obtenir une demande de champ Feed-GET de canal en utilisant arduino et ESP8266.
Ici, je suppose que vous avez travaillé avant avec esp8266. Quand on envoie la requête GET, web envoyer api que certaines données en retour dans la chaîne format qui peut être lus avec uart d’esp8266. Il suffit de chercher + IPD à série telle qu’elle est transmise, s’il existe quelque chose à lire.
Dans la chaîne retournée, vous obtiendrez les données du champ 1. Découvrez la chaîne ci-dessous:-
{"channel":{"id":85291,"name":"IoT testing","description":"Home Automation cum controller","field1":"test led","field2":"fan","field3":"tv","field4":"light","created_at":"2016-02-07T13:01:17Z","updated_at":"2016-02-23T14:34:38Z","last_entry_id":695},"feeds":[{"created_at":"2016-02-23T14:34:38Z","entry_id":695,"field1":"L"}]}
partie "BOLD" est les principales données, que nous devons utiliser. Pour l’obtenir droite j’ai utilisé un truc ici. comme nous n’avez pas besoin de la chaîne entière, j’ai cherché « flux RSS » mot comme point de départ, car il est unique dans toute chaîne ne vient qu’une seule fois. et stockée la chaîne restants dans un tableau de caractères. L est le caractère 66e après les tétées. Tableau stockant cette valeur doit donc tableau [65].
Utilisez cette valeur pour déclencher une fonction souhaitée.
Remarque: - changer le tableau [65] tableau [i-13] pour une meilleure réception et résoudre les problèmes associés à identifier la valeur du champ.
changement esp8266 en bauds 57600 ou inférieur avant de l’utiliser comme taux de transfert de matériel est 115200. logiciel de série doit être inférieure à matériel.
iot_automation_updated.INO