Outils pour utilisateurs

Outils du site


1_-_piloter_une_carte_arduino_avec_cayenne

PILOTER UNE CARTE ARDUINO AVEC CAYENNE

Objecif de la manipulation

Prendre le contrôle d'une carte Arduino à l'aide de Cayenne au travers d'un simple câble USB.

Contexte

Beaucoup de professeurs disposent de peu de matériel dans leur salle. L'on partira donc sur une version minimaliste pour le départ.

Matériel:

  1. Un ordinateur connecté au réseau
  2. Une carte Arduino avec le shield Grove
  3. Un câble USB
  4. Le logiciel ARDUINO
  5. Un capteur (j'utiliserai ici un DHT11)
  6. Un actionneur

Le capteur DHT11 d'humidité et de température est branché sur D4, le relais sur D8.

ETAPE 1

Se créer un compte sur CAYENNE: https://cayenne.mydevices.com/cayenne/signup

ETAPE 2

Télécharger sur son téléphone l'appli “CAYENNE” de myDevices - Paramétrer son compte

ETAPE 3

Télécharger la librairie MqqtCayenne pour Arduino https://github.com/myDevicesIoT/Cayenne-MQTT-Arduino puis installer sur Arduino

ETAPE 4

Installer la librairie Cayenne pour Arduino

ETAPE 5

Brancher la carte Arduino avec le câble USB

ETAPE 6

Sur cayenne choisir un “device” type Arduino UNO et choisir “SERIAL USB CONNECTION”

Dans Arduino, saisir le code suivant:

#define VIRTUAL_CHANNEL 3
#define ACTUATOR_PIN 8 // Do not use digital pins 0 or 1 since those conflict with the use of Serial.
#include <CayenneMQTTSerial.h>
#include "DHT.h"
float temp;
float hum;
char username[] = "################################";
char password[] = "################################";
char clientID[] = "################################";
DHT dht4(4, 11);
void setup()
{
  Serial.begin(9600);
  pinMode(4, INPUT);
  pinMode(ACTUATOR_PIN, OUTPUT);
  Cayenne.begin(username, password, clientID);
}
void loop() {
  Cayenne.loop();
  temp = (float)(dht4.readTemperature());
  hum = (float)(dht4.readHumidity());
}
CAYENNE_OUT_DEFAULT()
{
  Cayenne.virtualWrite(0, millis());
  Cayenne.virtualWrite(1, temp);
  Cayenne.virtualWrite(2, hum); 
}
CAYENNE_IN(VIRTUAL_CHANNEL)
{
  int value = getValue.asInt(); // 0 to 255
  Cayenne.virtualWrite(5, value);
  CAYENNE_LOG(“Channel %d, pin %d, value %d”, VIRTUAL_CHANNEL, ACTUATOR_PIN, value);
  // Write the value received to the PWM pin. analogWrite accepts a value from 0 to 255.
  digitalWrite(ACTUATOR_PIN, value);
}

A la place des ################### placez vos identifiants pour votre carte. Téléversez dans l'Arduino.

Vous remarquerez la présence de cayenne.virtualWrite qui écrit sur des canaux virtuels les données qui remontent vers Cayenne. CAYENNE_IN gère les entrées (actionneurs) CAYENNE_OUT les sorties (mesures des capteurs)

ETAPE 7

Dezipper le fichier de la librairie Cayenne que vous avez téléchargé et vous rendre dans extras/Scripts Repérez le fichier “cayenne-ser.bat” Vérifiez les paramètres:

set COMM_PORT=COMX <-- VOTRE PORT SERIE REPERE SUR ARDUINO
set COMM_BAUD=9600
set SERV_ADDR=mqtt.mydevices.com
set SERV_PORT=1883

Lancez le script.

Sur votre téléphone regardez le résultat.

1_-_piloter_une_carte_arduino_avec_cayenne.txt · Dernière modification : 2020/09/26 15:15 de 127.0.0.1