[SOLVED] Arduino YUN no envia ni lee datos de Ubidots

Estoy tratando de enviar y leer datos desde mi arduino yun hacia ubidots, eh seguido paso a paso el tutotial que se indica en la plataforma pero cuando abro la consola solo que queda en:

Ubidots client

Get data… done!

… y luego de esto no hace nada mas, ya actualize el firmware del Yun y nada

Hola @andrest,

El Arduino Yún es un buen dispositivo por tamaño y conectividad, sin embargo también nos ha resultado un poco problemático debido a que tiene varias capas a través de las cuales va el dato del sensor:

Sensor --> Arduino ATmega --> OpenWRT Linux OS --> Proceso en Lua 

lo cual aumenta la probabilidad de fallo. Vamos entonces a hacer un debug para detectar el problema:

  1. Primero te pedimos utilizar el ejemplo del Github en lugar del de ubidots.com/docs: GitHub - ubidots/ubidots-arduino-yun verás que el código que dice “A quick example” es diferente y a lo mejor sí funciona.
  2. Una vez corras el ejemplo, acceder a través de consola (PUTTY o cualquier cliente SSH) teniendo en cuenta la dirección IP de tu Arduino:

ssh arduino@192.168.1.103

Una vez logueado, escribes el siguiente comando:

ps aux | grep ubidots

Éste comando nos mostrará los procesos de Lua que corren dentro del OpenWrt, allí debes ver el ubidots_post y/o el ubidots_get dependiendo de tu programa de Arduino.

Déjanos saber hasta ahí cómo se ve

Hola gracias por responder ya cargue el ejemplo que me indicaron, el resultado es el mismo y con respecto al conmando indicado accedi por ssh digite el comando y la respuesta es :
BusyBox v1.94.4 (2014-11-13 19:03:47 CET) multi-call binary

 Usage:ps

 Show list of processes

  w       Wide output

Hola, al parecer no aceptó el comando pues te está arrojando la ayuda de como utilizarlo;

Intenta solo con ps aux o ps para ver si te aparece la lista completa de procesos

Obtengo estas salidas con ps, ps aux no funciona


Al parecer no hay ningún proceso de lua corriendo en el sistema operativo.

Por favor verifica si los archivos de lua de Ubidots si están bien instalados; si corres el comando manualmente te debe enviar datos a Ubidots:

La sintáxis es:

lua ubidots_post.lua [valor] [token] [id_de_la_variable]

Por ejemplo enviar el valor “11”:

lua ubidots_post.lua 11 0OvNxD1kRbXBBMUmfb6LkIzzY6xxxx 5488d1a57625420xxxxaa3f7

Lo realize y creo que no obtube buenos resultados esta es la salida obtenida

Los archivos .lua deben ir cargados en la siguiente ruta verdad “/root/{aqui archivos lua}”

Existira forma de lograr usar la libreria ubidots arduino wifi shield con el modulo ethernet shield de arduino mismo?

Hola, en efecto no funciona. La razón es que por algún motivo el Yún que tienes no vino con la librería http de Lua, mientras que el que tenemos en nuestro laboratorio sí la tiene de fabrica.

Gracias por reportar éste incidente, vamos a verificar si hay una forma de enviar datos con Lua sin usar dicha librería.

Hola pues si en efecto despues de horas de busqueda encontre lo que faltaba lo que se requiere es instalar en el Linino la libreria luasocket y lo realize de la siguiente manera sobre el directorio raiz de Linino :
opkg update
opkg install luasocket

Y con eso ya no dio problema con el metodo save_value y get_value el metodo save3_values no funciono ah y por ultimo porque no me acepta la api key de mi perfil tube que generar un token para poner conectar hay algun problema con el token generado tiene tiempo de caducidad ?

Hola Andrés,

Vamos a agregar entonces ese paso al tutorial para los usuarios que lo tienen desactualizado. El método save3_values no está soportado.

En cuanto al token; los archivos de Lua reciben solamente tokens; no reciben API keys. Cuando generas un token mediante la interfaz web, éste no tiene caducidad.

Hola todos, hemos re-publicado un tutorial más detallado del Yún: http://ubidots.com/docs/devices/ArduinoYUN.html