Stap 6: Computer codering - controle van uw lampen van het Internet!
#include < cstdlib >
#include "serial_port.h"
met behulp van namespace std;
int main (int argc, char *argv[])
{
Als (argc! = 3)
{
keren 0;
}
serial_port haven ("/ dev/ttyUSB0", 38400);
char pkt [] = {0x00, (char)atoi(argv[1]), 0xAA, (char)atoi(argv[2]), 0xFF};
Port.serial_write (pkt, 5);
Port.serial_close();
keren 0;
}
Dat is allen daar is aan het! We hebben nu een command line utility, lampctl, om te schakelen van de lampen in- en uitschakelen vanaf de opdrachtregel. Als een test, ik afstandsbedie-ning in op mijn Android telefoon en was in staat om te schakelen van de lampen in- en uitschakelen van mijn telefoon. Hoe geweldig is dat!
Ik heb niet gekeken naar grotere huisautomatisering opstellingen nog, maar ik echt wil. Dit Instructable is slechts een klein deel van wat zou een veel grotere installatie. Als ik vind elke meer leuke dingen van de huisautomatisering zal ik meer Instructables maken over het. Het zal leuk draaien mijn woonkamer lichten in- en uitschakelen van halverwege in het hele land deze week!
Bijgevoegd zijn de codebestanden voor dit project. De OutletControl.c, fanbus.c en fanbus.h bestanden zijn de bestanden van de AVR te compileren met AVR-GCC of AVR Studio, terwijl de lampctl.cpp, serial_port.cpp en serial_port.h bestanden de code van de PC voor het opdrachtregelprogramma lampctl zijn. Merk op dat de functie van mijn serial_port niet de baudrate goed ingesteld, dus instellen met behulp van stty -F /dev/ttyX 38400 waar ttyX is uw seriële poort (USB0 voor mij).