特定のユーザーのツイートをProcessingに取得しようとしていて、TTSライブラリを使用して話していますが、特定の値が以上のArduinoから検出されたシリアル= 491310ArduinoからProcessingへのデータはProcessing 'If Statement'の処理に影響しません
は私が処理に入ってくるのつぶやきを持っているし、それらはと値491310が処理によってピックアップされ、印刷されたと話されていることができますが、それは、if文の配置( 'です私が苦労しているif(sensor == 491310){'}は、現在のところ効果がありません。誰でもこの問題を解決できますか?
絶対初心者は、どんな助けも素晴らしいでしょう。ありがとう。
import twitter4j.util.*;
import twitter4j.*;
import twitter4j.management.*;
import twitter4j.api.*;
import twitter4j.conf.*;
import twitter4j.json.*;
import twitter4j.auth.*;
import guru.ttslib.*;
import processing.serial.*;
TTS tts;
Serial myPort;
int sensor = 0;
void setup() {
tts = new TTS();
myPort = new Serial(this, Serial.list()[0], 9600);
}
void draw() {
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setOAuthConsumerKey("XXXX");
cb.setOAuthConsumerSecret("XXXX");
cb.setOAuthAccessToken("XXXX");
cb.setOAuthAccessTokenSecret("XXXX");
java.util.List statuses = null;
Twitter twitter = new TwitterFactory(cb.build()).getInstance();
String userName ="TWITTER HANDLE";
int numTweets = 19;
String[] twArray = new String[numTweets];
try {
statuses = twitter.getUserTimeline(userName);
}
catch(TwitterException e) {
}
if(statuses != null) {
for (int i=0; i<statuses.size(); i++) {
Status status = (Status)statuses.get(i);
if (sensor == 491310) {
println(status.getUser().getName() + ": " + status.getText());
tts.speak(status.getUser().getName() + ": " + status.getText());
}
}
}
}
void serialEvent (Serial myPort) {
int inByte = myPort.read();
sensor = inByte;
print(sensor);
}
お返事ありがとうございます! Arduinoからシリアルポートに送信されるデータは1秒と2秒しかないが、Processingでは6桁の数字を使用しているので、代わりになるかもしれない代わりにそれを修正する方法を見つける。 ありがとう! – user2400389