nodo-domotica.nl

AppLamp aansturen met UDP / NodeJS

Alles over domotica wat NIET over de nodo gaat

AppLamp aansturen met UDP / NodeJS

Berichtdoor latcho » 20 apr 2013, 01:20

Alle AppLampen (RGB Full Color en Dual white 6W LED+ Led strip controller) kunnen met UDP en 3x een hex byte aangestuurd worden.
Aan/ uit per zone, dimmen, hue, wit kleurtemperatuur etc. ( alles wat met de app kan )
Hieronder illustreer ik dat aan de hand van een simpel JS scriptje dat via NodeJS gedraaid wordt.
Via PHP en elke andere taal die een socket kan openen en UDP kan versturen kan je dit ook.

Als iemand alle HEX commando's wil, mail me even via de AppLamp site en ik stuur je de lijst (tot ik een geek page toevoeg op http://www.applamp.nl).
Heb je geen zin om me te mailen, kan je gewoon uitlezen wat de smartphone app aan UDP verstuurt en ben je ook zo vertrokken.

Via portforewarding op je router kan je ook de lampen (met app of met je eigen script) van buitenaf aansturen.

Mijn persoonlijk volgend projectje is om het licht van een TV "beeldbuis" te faken voor als ik op vakantie ga.
Hier een basic voorbeeldje van een smooth kleur sweepje over de hele HUE circel met javascript en nodeJS:


  • Download de NodeJS installer en voeg de folder met daarine node.exe toe aan je windows PATH:
  • SET PATH=C:\Program Files\Nodejs;%PATH%
  • maak een nieuwe JS text file: " huesweep.js " en paste de code van hieronder
  • pas het IP aan als je een ander hebt voor de Wifi Control Box
  • open een CMD prompt en CD naar de dir waar je JS script staat
  • CMD>> node.exe huesweep.js [ENTER]

    Nu zie je een rustige color sweep door heel het HUE gamma van de Full Color AppLamp :)
Code: Selecteer alles
<huesweep.js>::
var WifiBoxPort = 50000;
var WifiBoxHost = '192.168.1.100';
const ColByte = 0x20;
const EndByte = 0x55;
var dgram = require('dgram');
var timeOutLoopMS = 33;

var client = dgram.createSocket('udp4');
var fs = require('fs');

colorSweepNext();


var sweepCol = 0;
function colorSweepNext() {
 if(sweepCol >255) sweepCol = 0;
 var col = sweepCol++;
 var colHex = hueDecToHex(col);
 var message = new Buffer([ColByte,colHex,EndByte]);
 client.send(message, 0, message.length, WifiBoxPort, WifiBoxHost, function(err, bytes) {
 if (err) throw err;
  });
  setTimeout(colorSweepNext, timeOutLoopMS);
}

function hueDecToHex(c) {
    var hex = c.toString(16);
    return hex.length == 1 ? "0x0" + hex : "0x"+hex;
}
latcho
 
Berichten: 2
Geregistreerd: 20 apr 2013, 00:51

Re: AppLamp aansturen met UDP / NodeJS

Berichtdoor latcho » 15 mei 2013, 03:03

AppLamp API nu te downloaden !
http://www.applamp.nl/service/applamp-api/
latcho
 
Berichten: 2
Geregistreerd: 20 apr 2013, 00:51


Keer terug naar Overige domotica

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers. en 1 gast

cron