![](/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.