HC 05 restituisce solo null

Ciao a tutti! Attualmente sto lavorando ad un progetto che utilizza un sensore di temperatura. La parte importante è che dovrebbe essere un wearable device e quindi deve poter funzionare alimentandolo a batteria. A questo scopo, per raccogliere i dati, ho comprato un modulo HC 05 e per provarlo sto mandando delle semplici stringhe a Processing, il problema è che mi appaiono solo una infinità di valori null. Sapreste come risolvere questo problema? Preciso che sto usando un macbook e fare la connessione tra computer e modulo è stato piuttosto impegnativo (non so se questo possa influire, ma meglio specificare).
Codice Arduino:

#include <SoftwareSerial.h>
const int RxD = 5;
const int TxD = 6;

SoftwareSerial BTSerial (RxD,TxD); // RX, TX
 
void setup() {
    Serial.begin(9600);
    BTSerial.begin(9600);
}

void loop() {
  BTSerial.println("Hello Processing");
}

Codice Processing:

import processing.serial.*;

Serial myPort;

void setup() {
  size(200, 200);
  //String porte[]=Serial.list();
  myPort = new Serial(this, "/dev/tty.HC-05", 9600);  
}

void draw() {
  background(255);
  String data=myPort.readStringUntil('\n');
  println(data);
}

Benvenuta, Marina :slightly_smiling_face:

Pubblica sempre il codice (usando <CODE>), altrimenti è difficile aiutarti!

Grazie!
Ho modificato e inserito il codice, effettivamente così può risultare più chiaro.

Il codice che si trova nel loop() viene eseguito di continuo, nel tuo caso stai stampando sulla seriale del BT a ritmo folle, probabilmente saturandola. Prova ad aggiungere un delay(1000), così spedisci 1 messaggio al secondo, già più gestibile, e vedi se cambia qualcosa.

Ciao, Ale.

Ho provato anche così, ma non sembra cambiare nulla. Non capisco se ci sia un problema di connessione nonostante risulti connesso, perchè anche quando lo metto in modalità AT non risponde ai comandi.

Mi spiace ma non ho mai usato quei moduli, ne processing, quindi non saprei aiutarti oltre. Se hai la possibilità prova anche la connessione con un cellulare ed uno delle tante app di terminale BT che si trovano in giro.

Ciao, Ale.

Un modulo tipo questo ?
"Modulo convertitore Seriale/Bluetooth HC-05"
Se non puoi settarlo via AT, magari il suo baude-rate non è di default a 9600.
Inoltre ha 2 modalità, Master e Slave, bisogna sapere come è settato tramite i comandi AT.

Prova comandi AT usando altra velocità (esempio 38400)

Si è un modulo come quello. Ma non mi è chiara una cosa, quando entro in modalità AT attraverso il pulsante sul modulo, nelle impostazioni bluetooth del mio computer il modulo deve risultare connesso? Perchè al momento quando sono in AT il modulo si disconnette dal computer e non riesce a riconnettersi.

A me pare si disconnette.
Di solito (vado a memoria, non li uso da molto) imposti un programma su Arduino che prende da seriale (usando serial monitor) e rimandando comunicazione al BT tramite SoftwareSerial

Prova a leggere qui: "https://www.instructables.com/AT-command-mode-of-HC-05-Bluetooth-module/"

Grazie dei consigli. Alla fine sono riuscita a risolvere il problema, lo scrivo qui che magari qualcuno alle prime armi come me potrebbe averne bisogno. In pratica quando si autorizza un macbook ad installare una nuova applicazione, per qualche motivo (di sicurezza immagino) non si sta automaticamente autorizzando l'applicazione ad utilizzare tutte le funzionalità disponibili. Di conseguenza non è nemmeno autorizzata ad accedere al bluetooth. Per far si che funzioni bisogna andare su Impostazioni -> Accessibilità-> Bluetooth e da qui autorizzare le app che ci interessano.
Dopo anni che utilizzo dispositivi apple, ho dato per scontato questa cosa :woman_facepalming:t2:

1 Like

Ottimo, io avevo letto ma non ci ho pensato a questo problema che esiste anche su GNU/Linux ed in genere su tutti i sistemi unix like.
Di apple non ne ho avuto mai, ma mi hanno detto che c'è similitudine con GNU/Linux. La similitudine la trovo qui: /dev/tty.HC-05, anche su linux/unix c'è una cartella /dev con dentro tutti i device file a cui l'utente semplice non può accedere.

Ciao.

image

ciao prendi con le pinze perche' sto' andando a memoria e cerco per quello che posso di contribuire alle discussioni, ma quei moduli necessitano di un traslatore di livello per RX e TX

Verificare il funzionamento del modulo con un semplice programma - https://it.arduino-france.site/modulo-bluetooth/

@robotehnika18: Buonasera e benvenuto nella sezione Italiana del forum ...

... cortesemente, come prima cosa, leggi attentamente il REGOLAMENTO di detta sezione, (... e, per evitare future possibili discussioni/incomprensioni, prestando molta attenzione al punto 15), dopo di che, come da suddetto regolamento (punto 16.7), fai la tua presentazione NELL'APPOSITA DISCUSSIONE (... quello che vedi in blu è un link, fai click su di esso per raggiungere la discussione) spiegando bene quali esperienze hai in elettronica e programmazione, affinché noi possiamo conoscere la tua esperienza ed esprimerci con termini adeguati.

Grazie,

Guglielmo

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.