Paso 1: Hacer la base
La base es la parte más fácil de construir, pero era un dolor a...
Usted notará que he usado una base para el NRF24L01 en la foto, esto fue utilizada para aumentar la estabilidad de la Junta. Son muy sensibles a las variaciones de voltaje pequeño, esto fue sólo una precaución añadida durante una prueba.
Para cablear el NRF24L01 a la YUN tiene que hacer uso de tres de las clavijas macho ICSP que se muestra en el esquema, utilice el digram de pin NRF24L01 y la siguiente tabla para cable :)
NRF24L01: Función: YUN Pin
1: GND: TIERRA
2: VCC: 3.5v
3: CE: D9
4: CSN: D10
5: SCK: SCK
6: MOSI: MOSI
7: MISO: MISO
8: IRQ:
por favor encuentre a continuación el código utilizado para el transmisor. Hay tres archivos necesarios, una vez que ha generado el archivo .ino de arduino, localizar y salvar a los otros en la misma carpeta.
Código de Arduino ***
#include
#include
#include
#include
#include
#include
#include "TembooAccount.h" / / contiene información de la cuenta Temboo
/ *** SUSTITUIR LOS VALORES SIGUIENTES: *** /
Tenga en cuenta que para la seguridad adicional y reutilización, usted podría
utilizar declaraciones de #define para especificar estos valores en un archivo .h.
const String TWITTER_ACCESS_TOKEN = "Introduzca su Token";
const String TWITTER_ACCESS_TOKEN_SECRET = "Introduzca su Token";
const String TWITTER_API_KEY = "Introduzca su Token";
const String TWITTER_API_SECRET = "Introduzca su Token";
int numRuns = 1; cuenta de ejecución, así este no funciona para siempre
int maxRuns = 10; el número máximo de veces que se debe ejecutar el coreo HomeTimeline de Twitter
int msg [1];
Radio(9,10) de RF24;
String mensaje = "";
char incomingByte = 0;
const uint64_t tubo = 0xE8E8F0F0E1LL;
void setup() {}
Serial.Begin(9600);
Para la depuración, espere hasta que se conecta una consola serie.
Delay(4000);
mientras (!. Serie);
Bridge.Begin();
radio.Begin();
radio.openWritingPipe(pipe);
}
void loop()
{
Si bien no hemos alcanzado el número máximo de pistas...
Si (numRuns < = maxRuns) {}
Serial.println ("Funcionamiento ReadATweet - ejecución #" + String(numRuns++));
TembooChoreo HomeTimelineChoreo;
invocar al cliente Temboo.
Tenga en cuenta que el cliente debe ser reinvoked y repoblado con
argumentos adecuados, cada vez se llama a su método run().
HomeTimelineChoreo.begin();
establecer credenciales de cuenta Temboo
HomeTimelineChoreo.setAccountName(TEMBOO_ACCOUNT);
HomeTimelineChoreo.setAppKeyName(TEMBOO_APP_KEY_NAME);
HomeTimelineChoreo.setAppKey(TEMBOO_APP_KEY);
decirle al cliente Temboo que coreo para ejecutar (Twitter > plazos > HomeTimeline)
HomeTimelineChoreo.setChoreo("/Library/Twitter/Timelines/HomeTimeline");
configurar las entradas de coreo requiere
Ver https://www.temboo.com/library/Library/Twitter/Ti...
para más información sobre las entradas para esta coreo
HomeTimelineChoreo.addInput ("cuenta", "1"); el número máximo de Tweets a la vuelta de cada solicitud
HomeTimelineChoreo.addInput ("LiveConnectSession", TWITTER_ACCESS_TOKEN);
HomeTimelineChoreo.addInput ("AccessTokenSecret", TWITTER_ACCESS_TOKEN_SECRET);
HomeTimelineChoreo.addInput ("ConsumerKey", TWITTER_API_KEY);
HomeTimelineChoreo.addInput ("ConsumerSecret", TWITTER_API_SECRET);
a continuación, definiremos dos filtros de salida que nos permiten especificar el
elementos de la respuesta de Twitter que queremos recibir.
Vea los ejemplos en http://www.temboo.com/arduino
para más información sobre el uso de filtros de salida
queremos que el texto del tweet
HomeTimelineChoreo.addOutputFilter ("tweet", "/ [1] / texto", "Respuesta");
y el nombre del autor
HomeTimelineChoreo.addOutputFilter ("autor", "/ [1] / usuario/screen_name", "Respuesta");
Dile el proceso a ejecutar y esperar los resultados. El
devolver código nos dirá si el cliente Temboo
fue capaz de enviar nuestra petición a los servidores de Temboo
unsigned int returnCode = HomeTimelineChoreo.run();
un código de respuesta de 0 significa éxito; la respuesta de la API de impresión
if(returnCode == 0) {}
Autor de la cadena; una cadena para sujetar el tweet nombre del autor
Tweet de cadena; una cadena para sostener el texto del tweet
salidas de la coreo se devuelven como pares clave/valor, delimitados con
saltos de línea y campo de registro de terminador caracteres, por ejemplo:
Name1\n\x1F
Value1\n\x1E
Name2\n\x1F
Value2\n\x1E
Vea los ejemplos en http://www.temboo.com/arduino para más detalles
podemos leer este formato en las variables independientes, como sigue:
{while(HomeTimelineChoreo.Available())}
leer el nombre del elemento de salida
String nombre = HomeTimelineChoreo.readStringUntil('\x1F');
Name.Trim();
leer el valor del elemento de salida
String datos = HomeTimelineChoreo.readStringUntil('\x1E');
Data.Trim();
asignar el valor a la cadena apropiada
Si (nombre == "tweet") {}
Tweet = datos;
} else if (nombre == "autor") {}
autor = datos;
}
}
Serial.println ("+ autor +"-"+ tweet);
Steve la secuencia = ("+ autor +"-"+ tweet);
int messageSize = steve.length();
para (int i = 0; i < messageSize; i ++) {}
int charToSend [1];
charToSend [0] = steve.charAt(i);
radio.Write(charToSend,1);
}
MSG [0] = 2;
radio.Write(MSG,1);
} else {}
hubo un error
imprimir la salida de la coreo
{while(HomeTimelineChoreo.Available())}
char c = HomeTimelineChoreo.read();
Serial.Print(c);
}
}
HomeTimelineChoreo.close();
}
Serial.println("Waiting...");
Delay(90000); Espere 90 segundos entre llamadas de HomeTimeline
}
RF24_config.h***
/*
Copyright (C) 2011 J. Coliz
Este programa es software libre; Usted puede redistribuirlo y/o
modificar bajo los términos de la Licencia Pública General de GNU
versión 2, publicada por la Free Software Foundation.
*/
#ifndef __RF24_CONFIG_H__
#define __RF24_CONFIG_H__
#if ARDUINO < 100
#include
#else
#include
#endif
#include
Cosas que normalmente es proporcionado por Arduino
#ifdef ARDUINO
#include
#else
#include
#include
#include
extern HardwareSPI SPI;
#define _BV(x) (1 << (x))
#endif
#undef SERIAL_DEBUG
#ifdef SERIAL_DEBUG
#define IF_SERIAL_DEBUG(x) ({x ;})
#else
#define IF_SERIAL_DEBUG(x)
#endif
Evitar advertencias falsas
#if 1
#if! definido (original) & & definido (ARDUINO)
#undef PROGMEM
#define PROGMEM __attributos__ ((section(".progmem.data")))
#undef PSTR
#define PSTR(s) (__extension__ ({static const char __c [] PROGMEM = (s); & __c [0] ;}))
#endif
#endif
Progmem es específico de Arduino
#ifdef ARDUINO
#include
#define PRIPSTR "%S"
#else
typedef char const de char;
typedef uint16_t prog_uint16_t;
#define PSTR(x) (x)
#define printf_P printf
#define strlen_P strlen
#define PROGMEM
#define pgm_read_word(p) (*(p))
#define PRIPSTR "%s"
#endif
#endif / / __RF24_CONFIG_H__
VIM: ai: cin:sts = 2 sw = 2 pies = cpp
TembooAccount.h***
#define TEMBOO_ACCOUNT "" / / nombre de la cuenta de su Temboo
#define TEMBOO_APP_KEY_NAME "" / / su aplicación Temboo clave nombre
#define TEMBOO_APP_KEY "" / / su Temboo app keyblink
****
Una vez que todo el código es cargado, conectar el arduino YUN a una fuente de alimentación y a internet, abra al monitor de la serie, dan unos instantes para conectar y debe aparecer el mensaje superior de alimentación solicitada.