2015-01-19 4 views
1

나는 인텔 갈릴레오 플랫폼을 갖춘 원예 시스템을 연구 중이다. Openweathermaps에서 예측과 함께 로컬 센서 데이터를 사용하고 있습니다. 결과를 표시하기 위해 필요한 경우 Paraimpu를 사용하여 트윗합니다. 여태까지는 그런대로 잘됐다. 나는 이제 내 시스템이 방아쇠 단어가 들어있는 들어오는 짹짹에 반응하도록하는 방법을 찾고있다. 나는이 트리거 단어를 검사하는 Twython을 사용하여 파이썬 스크립트를 작성했습니다. (마지막 순간 내에서) 새로운 트윗이있을 경우, 파이썬 스크립트는 1을 반환하지 않을 경우 0인텔 갈릴레오 및 파이썬 - 인터페이스

[...] 
if timedelta<triggertime: 
    erg = 1 #Neuer Tweet vorhanden 
else: 
    erg = 0 #Kein neuer Tweet vorhanden 
print erg 

그리고 나는 여기 붙어 : 나는 파이썬 스크립트 자체를 호출 할 때, 그냥 잘 작동합니다. 그러나 아두 이노 코드에서 시스템 기능을 사용할 때, 나는 숫자와 같은 좀 이상한 포맷 물건을 얻을하지 않습니다 | 내 아두 이노 코드에서 시스템 함수를 호출하는 방법은 cßBð¿ :

char* checkTweets() { 
    char result[1]; 
    system("python /media/realroot/Files/tweetcheck.py > /media/realroot/result.txt"); 
    FILE *tempFile; 
    tempFile = fopen("result.txt", "r"); 
    fgets(result, 1, tempFile); 
    fclose(tempFile); 
    return (result); 
} 

I Arduino/Python 인터페이스에 익숙하지 않습니다. 어떤 제안을 주셔서 감사합니다!

+0

왜 파이썬에서 IO를합니까? – nwk

+0

내 코드의 주요 부분은 arduino 스케치입니다. 파이썬에서 arduino 스케치로 데이터를 정수 값으로 전달하는 방법이 있습니까? 그것은 나를위한 가장 편리한 방법이 될 것입니다. –

답변

1

나는 나의 갈릴레오 파이썬과 인터페이스 작업을 매우 유사한 코드를 가지고 있고, 나는 당신의 오류의 원인이 될 수있는 두 가지 차이점주의 사항 : I 시스템 호출을하면

, 나는 파일이 아닌 텍스트로 저장을 파일 :

system("python /media/realroot/Files/tweetcheck.py > /media/realroot/result"); 

이상한 결과가 텍스트 파일로 저장되는 이유는 무엇일까요?

또는 파일을 읽는 중 오류가 발생했습니다. 내가 이런 짓을 할 때, 나는 SD 아두 이노 라이브러리, 프로그램의 상단에 #include <SD.h>을 필요로하며, 파일을 읽는 데 사용 :

File myfile = SD.open("result"); 
// read from file until we hit the a newline 
while (myfile.peek() != '\n') { 
    result = myfile.parseInt(); 
} 
result.close(); 
system("rm /media/realroot/result"); 
+0

답변 해 주셔서 감사합니다! 분명히 txt 파일을 작성하면 오류가 발생했습니다. –