2016-10-03 26 views
0

我正在使用Android Studio中的Android應用程序以及在NOOBS上運行的Raspberry Pi 3。我想讓應用程序從文本文件中查詢Pi,或者根據需要查詢整個文本文件。如何通過藍牙將Android應用程序連接到Raspberry Pi,以發送數字文本文件?

到目前爲止,我已經遵循本教程:(http://www.instructables.com/id/Control-Raspberry-Pi-GPIO-Using-an-App/?ALLSTEPS)製作一個應用程序,該應用程序操作連接到Raspberry Pi的GPIO的LED。我成功了,但這並沒有使用藍牙。我主要是爲了確認我可以在Android應用程序和Raspberry Pi之間做些什麼。

然後我嘗試了這個教程:(http://www.instructables.com/id/Android-Bluetooth-Control-LED-Part-2/?ALLSTEPS),它創建一個Android應用程序通過藍牙連接,以控制LED。然而,本教程使用Arduino而不是Raspberry Pi。因此,Arduino草圖不​​適用於Pi。我嘗試編寫我自己的C程序,它模仿了Arduino素描正在做的事情,但它並不適合我。我在這個教程中的嘗試失敗了。我會發布我在下面寫的代碼,以防有人可以幫我修理我的C程序,並且可能會再試一次。

我寫的,可用於控制樹莓派一個LED的代碼,通過Android應用的藍牙連接:

#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
#include <wiringSerial.h> 
#include <wiringPi.h> 

#define LED 11 // Pin 17 

void ledOn(); 
void ledOff(); 

char command[4]; 
char strin[4]; 
int ledon = 0; 
int strtolVal; 
int fd; 
char sgc[4]; 
int sgci; 

void ledOn() { 
    digitalWrite(LED, 1); 
} 

void ledOff() { 
    digitalWrite(LED, 0); 
} 

int main() { 
    fd = serialOpen("/dev/rfcomm1", 115200); 
    wiringPiSetup(); 
    pinMode(11, OUTPUT); // physical #11, GPIO #17 

    while(1) { 

     if(serialDataAvail(fd) > 0) { 
      sgci = serialGetchar(fd); 
     } 

     sgci = serialGetchar(fd); 
     sgc[0] = sgci + '0'; 

     if(strcmp(sgc, "0") == 0) { 
      ledOff(); 
     } else if (strcmp(sgc, "1") == 0) { 
      ledOn(); 
     } 
    } // end while loop 
} // end main() 

控制LED是不是我的最終目標,所以我不太擔心,我有一個工作的Android應用程序來控制一個LED,更擔心我可以通過藍牙在Android應用程序和Pi之間工作。因此,我的新目標是能夠在Android應用中顯示文本,這是通過藍牙從Pi接收的。

我已經無休止地搜索這個問題的解決方案,或者是連接不是通過藍牙,或者應用程序連接到除Pi之外的其他東西。如果不知何故,那裏有些東西正是我正在尋找的東西,然後我爲我可憐的搜索技能道歉。

+0

只有特靈,它並沒有爲你的工作是不是很豐富。您需要確切地說出應該發生的事情。發生什麼或者發生什麼。 – greenapps

+0

你爲什麼給這種不好的信息?我們無能爲力。你應該確切地告訴你的代碼是幹什麼的。你想幫忙嗎? – greenapps

回答

0

有另一個類似的問題,我問幾分鐘前,類似的話題: Data transfer via bluetooth between paired Android and Raspberry PI

+0

謝謝你的建議。我查看了代碼,發現它對藍牙連接建立和通信很有用,但我很好奇你使用該應用的設置。您是否使用兩個android設備連接在一起,如Google示例或連接到計算機的一個Android設備,如覆盆子pi? – ktedid

+0

我使用兩個android手機或android手機和HC05模塊。唯一的區別是,hc05有不同的UUID –

+0

// HC-05 UUID「00001101-0000-1000-8000-00805F9B34FB」 public static final UUID HC_05_UUID = UUID.fromString(「00001101-0000-1000-8000-00805F9B34FB 「); –

相關問題