2016-10-03 1 views
0

Ich arbeite mit einer Android-App in Android Studio und einem Raspberry Pi 3 auf NOOBS. Ich möchte, dass die App das Pi nach Zahlen aus einer Textdatei abfragt, oder nur die gesamte Textdatei, wenn es nötig ist.Wie kann ich eine Android-App über Bluetooth mit Raspberry Pi verbinden, um eine Textdatei mit Zahlen zu senden?

Bisher bin ich diesem Tutorial gefolgt: (http://www.instructables.com/id/Control-Raspberry-Pi-GPIO-Using-an-App/?ALLSTEPS) für die Erstellung einer App, die eine LED an den GPIO des Raspberry Pi angeschlossen funktioniert. Ich war erfolgreich, aber das verwendete Bluetooth nicht. Ich habe es hauptsächlich versucht zu bestätigen, dass ich tatsächlich etwas zwischen der Android App und dem Raspberry Pi machen kann.

Ich habe dann versucht dieses Tutorial: (http://www.instructables.com/id/Android-Bluetooth-Control-LED-Part-2/?ALLSTEPS), die eine Android-App erstellt, um über Bluetooth verbinden, um eine LED zu steuern. Dieses Tutorial verwendet jedoch Arduino, nicht Raspberry Pi. Daher funktioniert die Arduino-Skizze nicht auf dem Pi. Ich habe versucht, mein eigenes C-Programm zu programmieren, das imitiert, was die Arduino-Skizze macht, aber es hat nicht für mich funktioniert. Mein Versuch dieses Tutorial ist fehlgeschlagen. Ich werde den Code posten, den ich unten schreiben wollte, falls jemand mir helfen könnte, mein C-Programm zu reparieren und vielleicht einen weiteren Stich bei diesem zu machen.

Der Code, den ich zum Steuern eines auf dem Raspberry Pi LED schrieb über Android App Bluetooth-Verbindung:

#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() 

die LED-Steuerung ist nicht mein Endziel, also bin ich weniger besorgt darüber, dass ich eine Arbeits Android haben App, um eine LED zu steuern, und mehr besorgt, dass ich etwas über Bluetooth zwischen einer Android-App und dem Pi arbeiten kann. Mein neues Ziel ist es also, Text in einer Android App anzeigen zu können, die via Bluetooth vom Pi empfangen wurde.

Ich habe endlos nach einer Lösung für dieses Problem gesucht, und es ist entweder der Fall, dass die Verbindung nicht über Bluetooth ist, oder die App mit etwas anderem als dem Pi verbunden ist. Wenn es etwas gibt, das genau das tut, wonach ich suche, dann entschuldige ich mich für meine schlechten Suchfähigkeiten.

+0

Nur teling, dass es nicht für Sie arbeiten, ist nicht sehr informativ. Von Ihnen wird erwartet, genau zu sagen, was passieren soll. Und was passiert oder passiert stattdessen. – greenapps

+0

Warum gibst du so schlechte Informationen? Wir können nichts damit machen. Sie sollen genau sagen, was Ihr Code tut oder nicht tut. Youwant Hilfe ist es nicht? – greenapps

Antwort

0

gibt es eine weitere ähnliche Frage, die ich auf ähnlichen Thema vor einigen Minuten fragte: Data transfer via bluetooth between paired Android and Raspberry PI

+0

Vielen Dank für den Vorschlag. Ich schaute durch den Code und ich sehe, dass es für den Aufbau der Bluetooth-Verbindung und die Kommunikation nützlich sein kann, aber ich bin gespannt, welche Einrichtung Sie mit der App arbeiten. Verwenden Sie zwei Android-Geräte, um eine Verbindung herzustellen, wie im Google-Beispiel, oder ein Android-Gerät, das an einen Computer angeschlossen ist, z. B. ein Raspberry Pi? – ktedid

+0

Ich benutze zwei Android-Telefone oder Android-Handy und HC05-Modul. Der einzige Unterschied ist, dass hc05 eine andere UUID hat –

+0

// HC-05 UUID "00001101-0000-1000-8000-00805F9B34FB" öffentliche statische finale UUID HC_05_UUID = UUID.fromString ("00001101-0000-1000-8000-00805F9B34FB "); –

Verwandte Themen