Ciao ragazzi, mi chiamo Marco,
sono entrato in questo nuovo mondo da un paio di mesi e per adesso ho creato un'applicazione che scambia i dati dal cellulare (Java-Eclipse) attraverso modulo HC-05 .
Riesco a fare accendere le luci, spegnerle, ad azionare un crepuscolare e il sensore di temperatura..
Quello che non riesco a fare è leggere la stringa .
Serial.print(DHT.temperature);
Non capisco se la mia applicazione non la legge o se devo aggiungere qualcos'altro..
Questa è la parte Java che "prende la stringa"
// dopo avere aperto la connessione bluetooth col device,
// capisco se c'è qualcosa da stampare
void beginListenForData() {
try {
final Handler handler = new Handler();
// This is the ASCII code for a newline character
final byte delimiter = 10;
stopWorker = false;
readBufferPosition = 0;
readBuffer = new byte[1024];
workerThread = new Thread(new Runnable() {
public void run() {
while (!Thread.currentThread().isInterrupted()
&& !stopWorker) {
try {
int bytesAvailable = mmInputStream.available();
if (bytesAvailable > 0) {
byte[] packetBytes = new byte[bytesAvailable];
mmInputStream.read(packetBytes);
for (int i = 0; i < bytesAvailable; i++) {
byte b = packetBytes[i];
if (b == delimiter) {
byte[] encodedBytes = new byte[readBufferPosition];
System.arraycopy(readBuffer, 0,
encodedBytes, 0,
encodedBytes.length);
final String data = new String(
encodedBytes, "US-ASCII");
readBufferPosition = 0;
handler.post(new Runnable() {
public void run() {
tv_temperatura.setText(data);
}
});
} else {
readBuffer[readBufferPosition++] = b;
}
}
}
} catch (IOException ex) {
stopWorker = true;
}
}
}
Scusate se ho fatto una domanda banale ma sono molto arrugginito e comunque alle prime armi con Arduino.
Grazie a tutti!