Comunicacion entre Yun y Amazon IOT

Hola a todos,

Este es mi primer post ya que hace poco que he empezado con el YUN.

He estado trabajando con el sketch que te da el sdk de AWS y ya he conseguido enviar datos al servidor.

Lo que quiero es enviar datos de un sensor de temperatura y humedad que esta pinchado al serial del YUN. La definicion y carga de la libreria ya esta en el codigo (adjunto), pero no se como publicar estos datos.

En el sketch sale un mensaje “new message” y un contador, me gustaría eliminar esto y que publicase la info de temperatura y humedad

Codigo del sensor:

  float h = dht.readHumidity(); //Se lee la humedad
  float t = dht.readTemperature(); //Se lee la temperatura
  //Se imprimen las variables
  // Serial.println("Humedad: "); 
  // Serial.println(h);
  Serial.println("Temperatura: ");
  Serial.println(t);
  delay(2000); //Se espera 2 segundos para seguir leyendo //datos

Mil gracias por vuestra ayuda

Eduard

codigo base

#include <aws_iot_mqtt.h>
#include <aws_iot_version.h>
#include "aws_iot_config.h"
#include "DHT.h" //cargamos la librería DHT
#define DHTPIN 2 //Seleccionamos el pin en el que se conectará el sensor
#define DHTTYPE DHT22 //Se selecciona el DHT22(hay otros DHT)
DHT dht(DHTPIN, DHTTYPE); //Se inicia una variable que será usada por Arduino para comunicarse con el sensor

aws_iot_mqtt_client myClient; // init iot_mqtt_client
char msg[32]; // read-write buffer
int cnt = 0; // loop counts
int rc = -100; // return value placeholder
bool success_connect = false; // whether it is connected

// Basic callback function that prints out the message
void msg_callback(char* src, unsigned int len, Message_status_t flag) {
 if(flag == STATUS_NORMAL) {
   Serial.println("CALLBACK:");
   int i;
   for(i = 0; i < (int)(len); i++) {
     Serial.print(src[i]);
   }
   Serial.println("");
 }
}

void setup() {
 // Start Serial for print-out and wait until it's ready
 Serial.begin(115200);
 while(!Serial);
 dht.begin(); //Se inicia el sensor
 //
 char curr_version[80];
 snprintf_P(curr_version, 80, PSTR("AWS IoT SDK Version(dev) %d.%d.%d-%s\n"), VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH, VERSION_TAG);
 Serial.println(curr_version);
 // Set up the client
 if((rc = myClient.setup(AWS_IOT_CLIENT_ID)) == 0) {
   // Load user configuration
   if((rc = myClient.config(AWS_IOT_MQTT_HOST, AWS_IOT_MQTT_PORT, AWS_IOT_ROOT_CA_PATH, AWS_IOT_PRIVATE_KEY_PATH, AWS_IOT_CERTIFICATE_PATH)) == 0) {
     // Use default connect: 60 sec for keepalive
     if((rc = myClient.connect()) == 0) {
       success_connect = true;
       // Subscribe to "topic1"
       if((rc = myClient.subscribe("topic1", 1, msg_callback)) != 0) {
         Serial.println("Subscribe failed!");
         Serial.println(rc);
       }
     }
     else {
       Serial.println(F("Connect failed!"));
       Serial.println(rc);
     }
   }
   else {
     Serial.println(F("Config failed!"));
     Serial.println(rc);
   }
 }
 else {
   Serial.println(F("Setup failed!"));
   Serial.println(rc);
 }
 // Delay to make sure SUBACK is received, delay time could vary according to the server
 delay(2000);
}

void loop() 
  {
  if(success_connect) {
 // Generate a new message in each loop and publish to "topic1"
  sprintf(msg, "new message ", cnt);
  if((rc = myClient.publish("topic1", msg, strlen(msg), 1, false)) != 0) {
  Serial.println(F("Publish failed!"));
  Serial.println(rc);
     }
 
 // Get a chance to run a callback
  if((rc = myClient.yield()) != 0) {
  Serial.println("Yield failed!");
  Serial.println(rc);
    }
 
 // Done with the current loop
  sprintf_P(msg, PSTR("loop %d done"), cnt++);
  Serial.println(msg);
  delay(1000);
  }
  }

antes que te lo digan los moderadores, leete las normas, sobre todo la parte del titulo y la de como se inserta los codigos.

saludos

ok, muchas gracias como os decia es mi primer post,

Saludos