Stap 1: Waardoor de uitvalsbasis
De base is het gemakkelijkste deel om te bouwen, maar was een pijn om draad...
U kunt opmerken dat ik heb gebruikt een basis voor de NRF24L01 in de foto, dit werd gebruikt om de stabiliteit van de Raad van bestuur. Ze zijn zeer gevoelig voor kleine spanning variaties, dit was gewoon een voorzorgsmaatregel toegevoegd tijdens een test.
Om de draad van de NRF24L01 tot en met de YUN moet u gebruik maken van drie van de ICSP mannelijke pinnen in het diagram weergegeven, gebruiken de NRF24L01 pin digram en onderstaande tabel draad :)
NRF24L01: Functioneren: YUN Pin
1: GND: GND
2: VCC: 3.5v
3: CE: D9
4: CSN: D10
5: SCK: SCK
6: MOSI: MOSI
7: MISO: MISO
8: IRQ:
Hieronder vindt u de code die wordt gebruikt voor de zender. Er zijn drie bestanden die nodig zijn, nadat u hebt het arduino Ino bestand gegenereerd, zoeken en de anderen te redden in dezelfde map.
Arduino Code ***
#include
#include
#include
#include
#include
#include
#include "TembooAccount.h" / / bevat Temboo-accountgegevens
/ *** VERVANGT DOOR UW WAARDEN HIERONDER: *** /
Merk op dat voor extra veiligheid en herbruikbaarheid, je zou kunnen
#define-instructies gebruiken voor het opgeven van deze waarden in een .h bestand.
Const String TWITTER_ACCESS_TOKEN = "Invoegen uw Token";
Const String TWITTER_ACCESS_TOKEN_SECRET = "Invoegen uw Token";
Const String TWITTER_API_KEY = "Invoegen uw Token";
Const String TWITTER_API_SECRET = "Invoegen uw Token";
int numRuns = 1; uitvoering tellen, zodat dit niet altijd wordt uitgevoerd
int maxRuns = 10; het maximum aantal keren die moet worden uitgevoerd door de HomeTimeline Twitter choreografe
int msg [1];
RF24 radio(9,10);
TheMessage koord = "";
char incomingByte = 0;
Const uint64_t pijp = 0xE8E8F0F0E1LL;
VOID Setup {}
Serial.begin(9600);
Voor foutopsporing, wacht u totdat een seriële console is verbonden.
delay(4000);
terwijl (!. Serieel);
Bridge.begin();
Radio.begin();
radio.openWritingPipe(pipe);
}
void loop
{
terwijl we nog niet het max aantal punten bereikt...
Als (numRuns < = maxRuns) {}
Serial.println ("Running ReadATweet - Run #" + String(numRuns++));
TembooChoreo HomeTimelineChoreo;
beroep doen op de Temboo client.
Merk op dat de client moet worden reinvoked, en opnieuw gevuld met
passende argumenten, telkens wanneer wordt de methode run() genoemd.
HomeTimelineChoreo.begin();
instellen van de referenties van de account van de Temboo
HomeTimelineChoreo.setAccountName(TEMBOO_ACCOUNT);
HomeTimelineChoreo.setAppKeyName(TEMBOO_APP_KEY_NAME);
HomeTimelineChoreo.setAppKey(TEMBOO_APP_KEY);
de Temboo klant vertellen welke choreografe te lopen (Twitter > tijdlijnen > HomeTimeline)
HomeTimelineChoreo.setChoreo("/Library/Twitter/Timelines/HomeTimeline");
instellen van de vereiste choreografe ingangen
Zie https://www.temboo.com/library/Library/Twitter/Ti...
voor volledige informatie over de ingangen voor deze choreografe
HomeTimelineChoreo.addInput ("Count", "1"); het maximum aantal Tweets om terug te keren uit elke aanvraag
HomeTimelineChoreo.addInput ("AccessToken", TWITTER_ACCESS_TOKEN);
HomeTimelineChoreo.addInput ("AccessTokenSecret", TWITTER_ACCESS_TOKEN_SECRET);
HomeTimelineChoreo.addInput ("ConsumerKey", TWITTER_API_KEY);
HomeTimelineChoreo.addInput ("ConsumerSecret", TWITTER_API_SECRET);
vervolgens definiëren we twee uitvoerfilters waarmee ons geven de
elementen van het antwoord van Twitter die we willen ontvangen.
Zie de voorbeelden op http://www.temboo.com/arduino
voor meer informatie over het gebruik van uitvoerfilters
We willen de tekst van de tweet
HomeTimelineChoreo.addOutputFilter ("tweet", "/ [1] / tekst", "Reactie");
en de naam van de auteur
HomeTimelineChoreo.addOutputFilter ("Auteur", "/ [1] / user/screen_name", "Reactie");
vertellen van het proces te voeren en de resultaten afwachten. De
terugkeer code zal ons vertellen of de Temboo-client
was in staat om ons verzoek te sturen naar de servers van de Temboo
unsigned int returnCode = HomeTimelineChoreo.run();
een responscode van 0 betekent succes; afdrukken van de API-reactie
if(returnCode == 0) {}
Tekenreeks Auteur; een tekenreeks om te houden van de naam van de auteur van de tweet
Tekenreeks tweet; een tekenreeks die de tekst van de tweet
choreografe uitgangen worden geretourneerd als key/value-paren, gescheiden door
newlines en record/veld terminator tekens, bijvoorbeeld:
Name1\n\x1F
Value1\n\x1E
Name2\n\x1F
Value2\n\x1E
Zie de voorbeelden op http://www.temboo.com/arduino voor meer details
We kunnen dit formaat lezen in afzonderlijke variabelen, als volgt:
while(HomeTimelineChoreo.available()) {}
de naam van het output-artikel lezen
Naam = HomeTimelineChoreo.readStringUntil('\x1F');
name.Trim();
de waarde van de uitvoer-object lezen
String data = HomeTimelineChoreo.readStringUntil('\x1E');
data.Trim();
de waarde toewijzen aan de juiste tekenreeks
Als (naam == "tweet") {}
Tweet = gegevens;
} else if (naam == "Auteur") {}
Auteur = gegevens;
}
}
Serial.println ("Auteur +"-"+ tweet);
Steve string = ("Auteur +"-"+ tweet);
int messageSize = steve.length();
for (int i = 0; ik < messageSize; i ++) {}
int charToSend [1];
charToSend [0] = steve.charAt(i);
Radio.write(charToSend,1);
}
msg [0] = 2;
Radio.write(msg,1);
} else {}
Er is een fout opgetreden
afdrukken van de ruwe uitvoer vanuit de choreografe
while(HomeTimelineChoreo.available()) {}
char c = HomeTimelineChoreo.read();
Serial.Print(c);
}
}
HomeTimelineChoreo.close();
}
Serial.println("Waiting...");
delay(90000); 90 seconden tussen de aanroepen van de HomeTimeline
}
RF24_config.h***
/*
Copyright (C) 2011 J. Coliz
Dit programma is vrije software; je kunt het herdistribueren en/of
aanpassen onder de voorwaarden van de GNU General Public License
versie 2 zoals uitgegeven door de Free Software Foundation.
*/
#ifndef __RF24_CONFIG_H__
#define __RF24_CONFIG_H__
#if ARDUINO < 100
#include
#else
#include
#endif
#include
Spullen die wordt normaal gesproken geleverd door 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
Vermijden van valse waarschuwingen
#if 1
#if! gedefinieerd (NATIVE) & & gedefinieerd (ARDUINO)
#undef PROGMEM
#define PROGMEM __attribute__ ((section(".progmem.data")))
#undef PSTR
#define PSTR(s) (__extension__ ({statische const char __c [en] PROGMEM (s) =; & __c [0] ;}))
#endif
#endif
Progmem is Arduino-specifieke
#ifdef ARDUINO
#include
#define PRIPSTR "%S"
#else
typedef char const 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 ft = cpp
TembooAccount.h***
#define TEMBOO_ACCOUNT "" / / uw Temboo account naam
#define TEMBOO_APP_KEY_NAME "" / uw Temboo app toets naam /
#define TEMBOO_APP_KEY "" / / uw Temboo app keyblink
****
Zodra alle de code is geladen, sluit de arduino YUN aan een voeding en internet, open de seriële monitor, geef het een paar momenten om te verbinden en de bovenste tweet van het gekozen kanaal moet verschijnen.