Hola,
he estado buscando por el foro pero no he encontrado nada en español. Y en ingles esta todo muy confuso. Estoy haciendo pruebas con un Arduino conectado mediante USB a un raspberry Pi. Este último me sirve de servidor LAMP (Apache, php, mysql....).
Para conectar los dos "cerebros" quiero utilizar PHP porque me parece lo más potente para utilizar ya sea para generar páginas HTML o JSON. El caso es que estoy luchando para conectar estos dispositivos. Tengo instalado la versión de Debian para Raspberry y he conseguido comunicarme entre ambos utilizando el programa minicom. Si mando una H desde la Raspberry se enciende el led y si mando la L se apaga. Pero utilizando PHP conecta (lo se porque parpadea el led) pero no se enciende en ningún caso. Os copio los codigos aqui:
<?php
include "php_serial.class.php";
$serial = new phpSerial;
$serial->deviceSet("/dev/ttyACM0");
$serial->confBaudRate(115200);
$serial->confCharacterLength(8);
$serial->deviceOpen();
$serial->sendMessage("H");
$serial->deviceClose();
?>
const int ledPin = 13; connected to another pin
int incomingChar; // a variable to read incoming serial data into
void setup() {
// initialize serial communication:
Serial.begin(115200);
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
}
void loop() {
// see if there's incoming serial data:
if (Serial.available() > 0) {
// read the oldest byte in the serial buffer:
incomingChar = (char)Serial.read();
// if it's a capital H (ASCII 72), turn on the LED:
if (incomingChar == 'H') {
digitalWrite(ledPin, HIGH);
}
// if it's an L (ASCII 76) turn off the LED:
if (incomingChar == 'L') {
digitalWrite(ledPin, LOW);
}
}
}
Como he comentado utilizando el comando minicom desde la Raspberry mando los caracteres H y L sin problema pero con PHP no funciona. ¿Alguien puede ayudarme?.
Un saludo,
Marziac.