Paso 6: Codificación de computadoras - controlar tus lámparas de Internet!
#include < cstdlib >
#include "serial_port.h"
usar namespace std;
principal de la int (int argc, char *argv[])
{
Si (argc! = 3)
{
return 0;
}
Puerto de serial_port ("/ dev/ttyUSB0", 38400);
Char [] pkt = {0 x 00, (char)atoi(argv[1]), 0xAA, (char)atoi(argv[2]), 0xFF};
Port.serial_write (pkt, 5);
Port.serial_close();
return 0;
}
Eso es todo allí está a él! Ahora tenemos una utilidad de línea de comandos, lampctl, para encender las luces de encendido y apagado de la línea de comandos. Como prueba, lo remoto en mi teléfono Android y fue capaz de convertir las luces de encendido y apagado de mi teléfono. Lo asombroso es!
No miré en ajustes de automatización del hogar más grandes todavía, pero realmente quiero. Este Instructable es sólo una pequeña parte de lo que podría ser una configuración mucho más grande. Si encuentro cualquier cosas más interesantes de domótica hago Instructables más en él. Será divertido encender mis luces de sala de estar y de a mitad de camino en todo el país esta semana!
Unido son los archivos de código para este proyecto. Los archivos fanbus.h, fanbus.c y OutletControl.c son los archivos AVR para compilar con AVR-GCC o AVR Studio, mientras que el lampctl.cpp, serial_port.cpp y serial_port.h archivos son el código de la PC de la utilidad de línea de comandos lampctl. Tenga en cuenta que mi función serial_port no ajustar correctamente la velocidad de transmisión, así que ponerlo usando stty -F /dev/ttyX 38400 ttyX Dónde está el puerto serie (USB0 para mí).