Conectar la placa Arduino con PHP a travez de PHP Serial
Este tutorial sirve para conectar Arduino con PHP de manera mas directa sobre windows con XAMPP y la extensión PHP Serial, que prácticamente debería servir para cualquier dispositivo que se quiera conectar al puerto Serial de la computadora, aunque mi prueba es por USB.
Guía Rápida
- Descarga e instala XAMPP.
- Descarga la extensión y los archivos de ejemplo de PHP Serial.
- Coloca el *.dll en las librerías de PHP y activalas en el php.ini.
- Pon el Xampp en modo CGI.
- Conecta y sube código de prueba al Arduino.
- Inicia el Apache.
- Usa archivo de prueba "sms_list.php" que viene en el paquete de PHP Serial .
- Ejecútalo y Suerte.
Guía Detallada
Una vez instalado XAMPP en windows descarga la extension y los archivos de PHP Serial una vez descompreso copia el archivo php_ser.dll en la carpeta de extensiones de PHP que usualmente suele ser para PHP5
C:/PHP/ext/
ahora debes buscar el php.ini dentro de la carpeta C:\xampp\php en el caso de XAMPP y abrirlo con un bloc de notas, aunque recomiendo NOTEPAD+ que es el que uso, y agregar la extencion que copiamos anteriormente, para hacer eso solo debemos agregar la siguiente linea donde están las demas dll, ejemplo:
extension=php_ser.dll
guarda y cierra el php.ini.
si no estas usando XAMPP talvez asi ya puedas utilizarlo, solo reinicia el apache, pero si eres usuario de XAMPP debes configurarlo para que corra como CGI, ya que por default corre como modulo de apache, para cambiar esto debemos:
- Ir a C:\xampp\apache\conf\extra/httpd-xampp.conf y buscar donde estén las siguientes lineas y descomentar las lineas 1 y 2 y comentar la 3.
<em>#ScriptAlias /php/ "C:/xampp/php/" #Action application/x-httpd-php "/php/php-cgi.exe" LoadModule php5_module "C:/xampp/apache/bin/php5apache2.dll" AddType application/x-httpd-php-source .phps</em>
- Ir a C:\xampp\apache\conf/httpd.conf y buscar <Directory /> y dejarlo como sigue:
<em>Options FollowSymLinks AllowOverride None #Order deny,allow #Deny from all </em>
Ahora si pueden reiniciar el Apache, algo que pude notar es que el tiempo de respuesta es algo lento, si alguien puede mejorarlo que me lo notifique, no sé si es la mejor manera de comunicarlo con PHP en windows, pero eso ya es cuestion de cada quien.