Ciao, ho provato a fare una ricerca ma non sono riuscito a trovare quel che mi serve.
Ho un arduino con connesso un sensore di temperatura DHT11.
I dati vengono letti e spediti sulla seriale con questi comandi:
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>
#include <Wire.h>
#include <PCF8574_HD44780_I2C.h>
// pin di connessione segnale sensore
#define DHTPIN 7
// tipo di sensore
#define DHTTYPE DHT11
// Address 0x3F, 16 chars, 2 line display
PCF8574_HD44780_I2C lcd(0x3F,16,2);
DHT_Unified dht(DHTPIN, DHTTYPE);
String temp;
String um;
void setup() {
// comunicazione seriale
Serial.begin(9600);
// Inizializzazione sensore di temperatura
dht.begin();
// Inizializione LCD
lcd.init(); // LCD Initialization
lcd.backlight(); // Backlight ON
lcd.clear(); // Clear the display
delay(3000);
}
void loop() {
// Delay between measurements.
delay(3000);
// Get temperature event and print its value.
sensors_event_t event;
dht.temperature().getEvent(&event);
// temperatura
temp = '*';
// umidità
um = '*';
// Clear del display
lcd.clear();
// cursore alla prima linea
lcd.setCursor(0,0);
lcd.print("Temp: ");
if (isnan(event.temperature)) {
lcd.print('ERRORE');
} else {
temp = event.temperature;
lcd.print(temp);
lcd.println(" C° ");
}
// cursore alla seconda linea
lcd.setCursor(0,1);
lcd.print("Um. rel: ");
// Get humidity event and print its value.
dht.humidity().getEvent(&event);
if (isnan(event.relative_humidity)) {
lcd.println("ERROR");
} else {
um = event.relative_humidity;
lcd.print(um);
lcd.println(" %");
}
Serial.print(temp+'-'+um);
}
Ho collegato l'arduino al raspberry tramite cavo usb.
Se da raspberry lancio:
cat /dev/ttyACM0
vedo i dati arrivare dalla seriale.
Stessa cosa se apro in raspberry l'ide di arduino e apro il monitor seriale.
Ora la domanda:
Sul raspberry ho scritto questo codice python scopiazzandolo:
#!/usr/bin/python
import serial
arduino = serial.Serial('/dev/ttyACM0', 9600)
while True :
try:
data = arduino.readline()
print(data)
except:
pass
Ma non vedo niente in console, avete suggerimenti?