![](/img/trans.png)
[英]How can i send/receive data over bluetooth between ANDROID app and Raspberry Pi?
[英]How can I connect an Android app to Raspberry Pi, via Bluetooth, in order to send a text file of numbers?
我正在使用Android Studio中的Android應用程序,以及在NOOBS上運行的Raspberry Pi 3。 我想讓該應用向Pi查詢文本文件中的數字,或者在需要時僅查詢整個文本文件。
到目前為止,我已經按照本教程進行了操作:( http://www.instructables.com/id/Control-Raspberry-Pi-GPIO-Using-an-App/?ALLSTEPS ),用於制作一個操作LED的應用程序,該LED連接到Raspberry Pi的GPIO。 我成功了,但是沒有使用藍牙。 我主要是為了確認我可以在Android應用程序和Raspberry Pi之間做些什么。
然后,我嘗試了本教程:( http://www.instructables.com/id/Android-Bluetooth-Control-LED-Part-2/?ALLSTEPS ),該教程創建了一個通過藍牙進行連接以控制LED的Android應用。 但是,本教程使用Arduino,而不是Raspberry Pi。 因此,Arduino草圖無法在Pi上運行。 我嘗試編寫自己的C程序,該程序模仿Arduino草圖的功能,但對我不起作用。 我在本教程中的嘗試失敗。 我將在下面發布我嘗試編寫的代碼,以防有人可以幫助我修復我的C程序,並可能在此程序上另謀高就。
我編寫的用於通過Android應用程序藍牙連接控制Raspberry Pi上的LED的代碼:
#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以外的其他設備連接的情況。 如果某種原因,那里確實有某種功能可以滿足我的搜索需求,那么我為我的搜索能力不佳而道歉。
幾分鍾前,我在另一個類似的問題上問了另一個類似的問題: 配對的Android和Raspberry PI之間通過藍牙進行數據傳輸
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.