Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

MKR1000 vers ThingSpeak.com

Composants et fournitures

Capteur de température et d'humidité DHT11 (4 broches)
× 1
Arduino MKR1000
× 1

À propos de ce projet

J'avais déjà développé un code pour l'ESP8266 12-E afin que les données des capteurs environnementaux, prises par le DHT11, soient téléchargées sans fil sur le site Web de ThingSpeak et représentées graphiquement. J'avais juste besoin d'apporter des modifications mineures pour que cela fonctionne avec le nouvel Arduino MKR1000.

Étape 1.

Connectez la ligne de données DHT au MKR1000 Pin1 (étiqueté 1 à l'arrière de la carte).

Étape 2. Téléchargez la bibliothèque WiFi101 et la bibliothèque DHT à partir de :

https://github.com/arduino-libraries/WiFi101

https://learn.adafruit.com/dht

Étape 3.

Accédez au Board Manager dans l'IDE Arduino

Outils-->Tableau-->Gestionnaire de tableaux

Recherche de cartes Arduino SAMD (ARM Cortex M0+ 32 bits)

Téléchargez la version 1.6.3 (j'ai eu des problèmes avec la 1.6.4 car la carte MKR100 n'a pas été installée)

Étape 4.

Créez un compte ThingSpeak.com gratuit, étiquetez les champs sur Graph (humidité et températures) et collez votre clé API "écrire" ThingSpeak dans le croquis fourni avec votre SSID WiFi et votre mot de passe WiFI.

Étape 5.

Sélectionnez le port Com approprié, recherchez le MKR1000, compilez et exécutez le code.

Vous devriez voir les mises à jour envoyées à ThingSpeak dans votre fenêtre série.

amusez-vous bien !

Code

  • Graphique de capteur environnemental basé sur le cloud de MKR1000 vers DHT vers ThingSpeak sans fil
MKR1000 vers DHT vers ThingSpeak sans fil basé sur le cloud graphique du capteur environnementalArduino
Une combinaison de croquis d'AdaFruit, WiFi101 WebClient et ThingSpeak Arduino Templates.
/*Ce croquis est une combinaison de croquis ADAFruits DHT, WiFi101 Webclient et l'exemple arduino de ThingSpeakModifié par Stephen Borsay pour le MKR1000, n'hésitez pas à utiliser */ #include  // vous n'en avez pas besoin car nous n'utilisons pas la puce shiled juste #include  #include "DHT.h"#define DHTPIN 1 // quelle broche nous sommes connecté à, la broche 1 est la 5ème broche de la fin// Décommentez le type de capteur DHT que vous utilisez!#define DHTTYPE DHT11 // DHT 11//#define DHTTYPE DHT21 // DHT 21//#define DHTTYPE DHT22 // DHT 22DHT dht (DHTPIN,DHTTYPE);String apiKey="YourApiKeyHere"; // API de ThingSpeakchar ssid[] ="VotreSSIDHERE"; // votre réseau SSID (name)char pass[] ="YourPasswordHere"; //votre mot de passe réseauint keyIndex =0; // votre numéro d'index de votre clé réseau (nécessaire uniquement pour WEP)//#define WEBSITE "api.thingspeak.com"int status =WL_IDLE_STATUS;// si vous ne souhaitez pas utiliser DNS (et réduire la taille de votre croquis)// utilisez l'IP numérique au lieu du nom du serveur ://IPAddress server(74,125,232,128) ; // IP numérique pour Google (pas de DNS)char server[] ="api.thingspeak.com" ; // adresse de nom pour Google (à l'aide de DNS)// Initialisation de la bibliothèque cliente Ethernet // avec l'adresse IP et le port du serveur // auquel vous souhaitez vous connecter (le port 80 est par défaut pour HTTP) :client WiFiClient ; annuler la configuration () { //Initialiser le série et attendre que le port s'ouvre :Serial.begin(9600); while (!Série) {; // attend que le port série se connecte. Nécessaire pour le port USB natif uniquement } // vérifier la présence du shield :if (WiFi.status() ==WL_NO_SHIELD) { Serial.println("WiFi shield not present"); // ne continue pas :while (true); } // tentative de connexion au réseau Wifi :while (status !=WL_CONNECTED) { Serial.print("Tentative de connexion au SSID :"); Serial.println(ssid); //Connectez-vous au réseau WPA/WPA2. Changez cette ligne si vous utilisez open/WEP network status =WiFi.begin(ssid, pass); // attend 10 secondes pour la connexion :delay(10000); } Serial.println("Connecté au wifi"); printWifiStatus(); }void loop() { // Attendre quelques secondes entre les mesures. retard (2000); //préfère utiliser float, mais la taille du package ou la conversion float ne fonctionne pas //révisera à l'avenir avec une fonction de chaîne ou une fonction de conversion float int h =dht.readHumidity(); // Lecture de la température en Celsius (valeur par défaut) int t =dht.readTemperature(); // Lecture de la température en Fahrenheit (isFahrenheit =true) int f =dht.readTemperature(true); // Vérifiez si des lectures ont échoué et quittez plus tôt (pour réessayer). if (isnan(h) || isnan(t) || isnan(f)) { Serial.println("Échec de la lecture depuis le capteur DHT !"); retourner; } // Calcule l'indice de chaleur en Fahrenheit (par défaut) int hif =dht.computeHeatIndex(f, h); // Calculer l'indice de chaleur en Celsius (isFahreheit =false) int hic =dht.computeHeatIndex(t, h, false); Serial.print("Humidité:"); Serial.print(h); Serial.print(" %\t"); Serial.print("Température :"); Serial.print(t); Serial.print(" *C "); Serial.print(f); Serial.print(" *F\t"); Serial.print("Indice de chaleur :"); Serial.print(hic); Serial.print(" *C "); Serial.print(hif); Serial.println(" *F\n"); Serial.println("\nDémarrage de la connexion au serveur..."); // si vous obtenez une connexion, faites un rapport via série :if (client.connect(server, 80)) { Serial.println("connected to server"); client.print(F("POST ")); client.print("/update?key=apiKey&field1=" + (Chaîne) h + "&field2=" +(Chaîne) t + "&field3=" +(Chaîne) f + "&field4=" +(Chaîne) hic + " &field5=" +(Chaîne) hif ); String tsData ="field1=" // besoin de la longueur à donner à ThingSpeak + (String) h + "&field2=" +(String) t + "&field3=" +(String) f + "&field4=" +(String) hic + "&field5=" +(Chaîne) hif; client.print("POST /mise à jour HTTP/1.1\n"); client.print("Hôte :api.thingspeak.com\n"); client.print("Connexion :fermer\n"); client.print("X-THINGSPEAKAPIKEY:" + apiKey + "\n"); client.print("Type de contenu :application/x-www-form-urlencoded\n"); client.print("Content-Length:"); client.print(tsData.length()); //envoyer la chaîne de données legth à ts client.print("\n\n"); client.print(tsData); client.stop(); retard(1000); } }void printWifiStatus() { // imprime le SSID du réseau auquel vous êtes connecté :Serial.print("SSID:"); Serial.println(WiFi.SSID()); // affiche l'adresse IP de votre bouclier WiFi :IPAddress ip =WiFi.localIP(); Serial.print("Adresse IP :"); Serial.println(ip); // affiche la force du signal reçu :long rssi =WiFi.RSSI(); Serial.print("force du signal (RSSI):"); Serial.print(rssi); Serial.println(" dBm");}
Code dans GitHub
Même code mais dans GitHub pour MKR1000https://github.com/sborsay/Arduino_Wireless/blob/master/MRK100_DHt_TS

Schémas

Câblez la ligne de données DHT à la broche 1 du MKR100 (5e broche vers le haut)
connectez 5v et la terre au capteur DHT, tous deux fournis par le MKR1000

Processus de fabrication

  1. Manhattan Skyline :ARM COM compact avec NXP i.MX 8MM
  2. Kontron :nouveau standard de calcul embarqué COM HPC
  3. DHT Tiny Breakout pour Raspberry Pi
  4. Moniteur de température ThingSpeak avec Raspberry Pi
  5. Créez votre premier IOT avec un Raspberry Pi, un capteur DHT11 et Thingspeak.
  6. Broche Mkr1000 :un choix privilégié pour les projets IoT
  7. Les avantages de Parts.Cat.Com et comment s'inscrire
  8. Votre guide de Shop.Cat.Com
  9. Démarrer avec My.Cat.com