Besoin d'aide envoie message MQTT [NOVICE]

Salut !

Tout d’abord je tiens à préciser que je suis complétement novice dans le domaine de l’Arduino, je suis entrain de faire un stage de LP.

Il me faut donc envoyer un message sur un serveur MQTT, j’ai réussi à me connecter au serveur mais pas à envoyer le message…

Voici le programme que j’ai établi:

#include <PubSubClient.h>
#include <YunClient.h>
#include <Bridge.h>

YunClient yunClient;
const char server[] = "10.44.163.158";
PubSubClient client(server, 1883, yunClient);


void setup() {
  Bridge.begin();

}

void loop() {
  const char topic[] = "sensor";
  const char payload[] = "Bonjour";
  int publish (topic, payload);
  delay(1000);

}

J’attends une réponse de votre part ! :slight_smile:

On dirait que vous n’avez pas beaucoup lu d’exemples... qu’est-ce qui est fourni avec la librairie PubSubClient.h ?? Trouvez vous que votre code y ressemble?

le mqtt en suivant les exemples, il n'y a rien de plus simple.

les exemples comme le précise J-M-L sont bien fait et fonctionnels, il n'y a qu'à les adapter à ce qu'on veux faire.

Malheureusement j'ai bien essayé avec les exemples mais impossible de faire fonctionner le tout..

dans quel exemple vous avez vu

  int publish (topic, payload);

pour envoyer quelque chose?

Oui, je ne sais pas trop ce que je fais mais j’essaye…

J’ai essayé avec ce code, sans grand succès, avec un serveur MQTT que j’ai installé sur ma machine.

#include <YunClient.h>
#include <PubSubClient.h>

#define MQTT_SERVER "10.44.160.8"

#define MQTT_CLIENTID "YunDomusLab"

void callback(char* topic, byte* payload, unsigned int length) {
  // handle message arrived
}

YunClient yun;
PubSubClient mqtt(MQTT_SERVER, 1883, callback, yun);

void setup()
{
  Serial.begin(9600);
  Bridge.begin();
  if (mqtt.connect("YunDomusLab")) {
    mqtt.publish("outTopic","hello world");
    mqtt.subscribe("inTopic");
  }
}

void loop()
{
  mqtt.loop();
}

Je peux communiquer depuis le logiciel MQTT Fx vers le serveur, depuis le logiciel Arduino vers la carte Arduino Yun (par le réseau) mais pas de la carte Arduino vers le serveur…

Pouvez-vous m’aider ?

Ok, apparemment il y avait un conflit entre les deux réseaux du Labo, j'ai trouvé la solution :wink: