In het kader van de thuis automatisering heb ik sinds een weekje een Wifi ledlamp in huis. Middels de bijbehorende afstandsbediening en middels de app kun je de ledlampen bedienen. In het starterspakket zitten een ledlamp, afstandsbediening en Wifibox. De Wifibox is nodig om onder andere de 'Wifi Controller 2 App' te gebruiken welke beschikbaar is voor Android en IOS.
Windows Wifi ledcontroller
Omdat de Wifi Controller app helaas nog niet IOS7 proof is en ik geen Android apparaten in mijn bezit heb kon ik tot op heden de app nog niet gebruiken. Onder dat mom gekeken of het mogelijk is om een eigen controller te maken. Eerst voor Windows en wellicht later voor de Synology. Met Visual Basic 2010 Express heb ik een basale Wifi Controller gemaakt voor Witte lampen! Maar met simpele aanpassingen kan het programma ook makkelijk aangepast worden voor gekleurde ledlampen. Bovenin kan het IP adres en port (standaard 50000) van de Wifibox worden opgegeven.
De wifibox kan worden aangestuurd middels commando's van 3 bytes lang welke via het UDP protocol naar de wifibox gestuurd kunnen worden. Een API voor de wifi ledlamp is gemaakt door www.applamp.nl. Mijn programma is daar dan ook gebaseerd. Dus alle credits voor applamp.nl op dat gebied. De hexadecimaal getallen heb ik omgezet naar ASCII codes (ofwel de byte code). Alleen de eerste byte is echt van belang. Die geeft de feitelijke opdracht door aan de wifibox. De laatste twee bytes zijn altijd ASCII (0) en ASCII (85).
Het programma kent twee belangrijke basis SUB's:
- SendUDP
- Wcommand
SendUDP
De eerste Sub, SendUPD is verantwoordelijk voor het verzenden van het UDP pakketje over het netwerk. Voor deze SUB moeten wel de volgende referenties worden opgenomen in het programma:
- Imports System.Net.Sockets
- Imports System.Text
Wcommand
De twee sub bevat een lijst alle commando's die mogelijk zijn voor een witte lamp. Het IP adres en de port worden uitgelezen van de textboxen op het form. Voor de volledige programma code inclusief een gecompileerde versie (voor de niet programmeurs) van het programma bijgaande download (click op de hardisk).
Vervolg...
Het programma kan natuurlijk uitgebouwd worden. Interessanter zou het zijn om een programma te schrijven voor een NAS zoals bijvoorbeeld voor de Synology NAS. Dan zou het bijvoorbeeld mogelijk zijn om een digitale tijdschakelaar te maken welke automatisch de lampen aan en uit zet op bepaalde tijdstippen. Wellicht is het ook mogelijk om statussen terug te krijgen van de lampen om zo te zien of een lamp aan of uit is. Dit zal nog uitgezocht moeten worden.