HOME 

Recently i build a three wheel robot using mindstorms and Mindsensors NXT Sumoeyes Infrared sensor35. The wheels are HiTechnic RotaCaster omniwheels 31. I programmed the bot using RobotC for Mindstorms.

20121229-152044.jpg 20121229-152646.jpg
20121229-152653.jpg
After years the new ZX Spectrum Online database is ready. The new database contains 18962 records. Al programs are online playable without the need of any plugin. Just an up-to-date browser is enough. Its not tested on IE.. but why should I. IE sucks anyway.! Firefox rulez
An important part of a decent domotica system is the central console. With this console it is possible to control all devices and view all ip-cameras. I wanted to use an IPAD, soo it needed to be wall mounted. After a lot of googling I found only the iPort CM-IW2000. This wall-mount is cool but got the price of the IPAD itself ($499). Soo.. out-of-the-box wallmount is not going to do it for me, soo lets build my own..
First I removed the part of the plaster. I installed a audio cable wich I connect to my stereo receiver. I integrated the power adaptor in the switch socket. I bought a low-cost IPAD-cover to be able to screw it the wooden wall-structure. My IPAD is such a tight fit, so screwing it to the back is not even necesary. To finish the IPAD I needed some kind of frame.

I used a 3mm white acrylate frame. I had it made using laser cutting technology. There are a lot of companies on the internet selling these services. You need to make an design using Autocad. This is the design I made. ( ipad-frame1-2007.zip ) You can open the design in Autodesk Autocad 2007 or compatible app. After installing it all, the result is superb! A multifunctional console to control all devices in the house and also play mp3 music to the stereo….

 

I started my domotica project a couple of month ago. I wanted to be able to control all my home equipment using my iphone or my ipad. First of all I had to select a domotica standard to use like Z-wave and X10. I selected the X10 standard because this is one of the oldest standards and there is a lot of X10 compatible stuff to buy out there. Marmitek is market leader when it comes to X10 devices. The X10 protocol is used for the signals over the existing powerlines in a home. A X10 devices has a unique house en device code like for example A02 and B03. I wanted a couple of DIN X10 devices in my meter cupboard to control the lights in the garden. This resulted in a expansion of my meter cupboard because I also needed 3 phase coupler modules to send all the X10 signals from one phase to the other.

To send the signals from a computer, a interface controller is needed. I bought a CM15Pro from Marmitek to send the signals. This device is compatible with the program X10 Commander. Now I’m able to send X10 signals using my iphone with the X10 commander app. To have a os independant control I still have to build a webbased program. Ofcourse it has to run on linux. It turns out that the Cm15Pro has very bad linux support, so I also bought the older Cm11 controller from Marmitek.This controller is connected to a PC using the serial port. It'[s ald technology but it works. Linux support for the CM11 is superb with the HEYU tool. Damn, this is some great tool. I build a php/mysql program wich is alble to send shellcommand usign HEYU. Voila.. It’s still in a developing satate, but when it’s finisched I will published it on this site…. have fun!

 

One project i recently completed was the integration of remote control of my Ademtech Galaxy 16 plus intruder alarm system. This alarm system is
now know as the Honeywell Galaxy 16+ burglar alarm system. Well, the main goal of this project was the ability to control my burglar alarm over the internet using my iphone4. The only software available to control this system isde Galaxy Gold software. With this software you can connect using the onboard analoge modem or connect directly using a RS232 cable with the Ademtech RS232 interface (E054). I recenty bought a used interface ( 80 euro ). This is pretty old technology these days, so 80 euro is a bit expensive. However it is the only way.
My vmware server is always up, so I wanted to be able to use the Galaxy Gold software on a vitual machine on vmware. With a remote desktop connection I could use the Galaxy Gold software from anywhere in the world using a VPN over the internet. The RS232 cable is connected to the external com port of my esx(i) server. It is possible to reroute this comport to a virtual machine using the Virtual Infrastructure client. You need vmware esx(i) version 4.1 or above. The most tricky part was building the cable, and connect it over my CAT5E infrastructure to connect it on my vmware esx(i) server wich is locate near my garage.

The RS232 Interface uses a null modem to connect to the computer. You need a cable with a DB25 onnector and in my case a DB9 connector. These are the pins needed for a connection between the computer en the E054 interface.

Good documentation of the RS232 interface is hard to find. So here is the pin layout of the cable I used:

DB25 DB9
---------------------------
pin2 ---- pin2
pin3 ---- pin3
pin5 ---- pin7
pin7 ---- pin5

I connect using a baudrate of 19200 baud. All other speeds did not work in my case. This is strange because in all documentation I found in the internet a speed of 9600 baud (8 bit, 1 stopbit an no parity ) is
mentioned. However.. 19200 baud works and is even faster… still nothing compared to my gigbit ethernet

Now I’m able to use the Galaxy Gold with my Iphone4 using Jaadu RDP to connect with the virtual machine. Of course you can use any RDP client you want to connect. Yooohooo… mission accomplished !

If you own a cool Cisco 7970 IP Phone, and you have an ip webcam, then this script could be interesting for you. It is possible to show your ip camera in de serviceURL of you 7970 phone. What you need is a webserver to host you menu.xml and your cam.php script. I use a Axis 207W IP camera, but the script should work on all posible cameras.

You need to define your ServiceURL in your config-file (SEP0xxxxxxxx.cnf.xml) of your 7970 iphone.

<servicesURL>http://192.168.8.6/menu.xml</servicesURL>

In this file you can define the menu for your services button.To publish the cam script use this code:

<CiscoIPPhoneMenu>
  <Title>IPAS XML Services</Title>
  <Prompt>Please make your selection.</Prompt>
  <MenuItem>
    <Name>Axis Netcamera </Name>
    <URL>http://192.168.8.6:/cam.php</URL>
  </MenuItem>
</CiscoIPPhoneMenu>

This is the actual php script wich generates the xml output and shows a png-image converted from an image of your Ip-camera. The script supports 4 different cameras and softkeys.
I created the script for use with apache and ImageMagick on linux. It is important that you have the php-pecl-imagick modules installed in your apache. This module is needed to convert the jpeg-image to png format and resize the image to match the 7970 browser. Remember to edit the variables in the script to your need.

<?php
////////////////////////////////////////////////////////////////////////
// IP-Camera image on your Cisco 7970G IP-phone 
////////////////////////////////////////////////////////////////////////
// This simple script downloads an image from your ip-camera (Axis) and 
// convert the image to a 7970G browser format. 
// Script by ipas 27-10-2012
////////////////////////////////////////////////////////////////////////
// You need php-pecl-imagick installed on your apache-server 
////////////////////////////////////////////////////////////////////////

$camurl1="http://cam1.domain.com/axis-cgi/jpg/image.cgi";
$camtext1="Keuken";
$buttontext1="Keuken";
$camurl2="http://cam1.domain.com/axis-cgi/jpg/image.cgi";
$camtext2="Oprit - Voordeur";
$buttontext2="Oprit";
$camurl3="http://cam1.domain.com/axis-cgi/jpg/image.cgi";
$camtext3="Woonkamer";
$buttontext3="Woonkmr";
$camurl4="http://cam1.domain.com/axis-cgi/jpg/image.cgi";
$camtext4="Terras";
$buttontext4="Terras";
$camurl5="http://cam1.domain.com/axis-cgi/jpg/image.cgi";
$camtext5="Garage";
$buttontext5="Garage";
//the path to the imagefile. must be world-writable! chmod 777
$imagepath="/home/www/cam-image/image.png";
$imageurl="http://cisco-cam.domain.com/cam-image/image.png";
$camscripturl="http://cisco-com.domain.com/cam.php";

////////////////////////////////////////////////////////////////////////
$cam=3;
$cam=$_REQUEST[cam];
if ($cam==1){
  $camurl=$camurl1;
  $camtext=$camtext1;
  } elseif ($cam==2){
  $camurl=$camurl2;
  $camtext=$camtext2;
  } elseif ($cam==3){
  $camurl=$camurl3;
  $camtext=$camtext3;
  } elseif ($cam==4){
  $camurl=$camurl4;
  $camtext=$camtext4;
  } else {
  $camurl=$camurl5;
  $camtext=$camtext5;
  }

  // Get the image from the camera
  $image = file_get_contents($camurl);

  // Create Imagick object
  $im = new Imagick();

  // Convert image into Imagick
  $im->readimageblob($image);

  // Resize image to match a cisco 7970 browser
  $im->resizeImage(296,166,Imagick::FILTER_LANCZOS,1);

  // Add a subtle border
  $color=new ImagickPixel();
  $color->setColor("rgb(220,220,220)");
  $im->borderImage($color,1,1);
  $im->setImageChannelDepth(imagick::CHANNEL_RED, 5);
  $im->setImageChannelDepth(imagick::CHANNEL_GREEN, 12);
  $im->setImageChannelDepth(imagick::CHANNEL_BLUE, 12);

  $im->setImageFormat("png");
  // Output the image
  $output = $im->getimageblob();
  $outputtype = $im->getFormat();

// output to file
  $fp = fopen($imagepath, 'w');
  fwrite($fp, $im);
  fclose($fp);

$output= "
<CiscoIPPhoneImageFile>
  <Prompt>" . $camtext . "</Prompt>
  <URL>" . $imageurl . "</URL>
  <SoftKeyItem>
    <Name>" . $buttontext1 . "</Name>
    <URL>" . $camscripturl . "?cam=1</URL>
    <Position>1</Position>
  </SoftKeyItem>
  <SoftKeyItem>
    <Name>" . $buttontext2 . "</Name>
    <URL>" . $camscripturl . "?cam=2</URL>
    <Position>2</Position>
  </SoftKeyItem>
  <SoftKeyItem>
    <Name>" . $buttontext3 . "</Name>
    <URL>" . $camscripturl . "?cam=3</URL>
    <Position>3</Position>
  </SoftKeyItem>
  <SoftKeyItem>
    <Name>" . $buttontext4 . "</Name>
    <URL>" . $camscripturl . "?cam=4</URL>
    <Position>4</Position>
  </SoftKeyItem>
  <SoftKeyItem>
    <Name>" . $buttontext5 . "</Name>
    <URL>" . $camscripturl . "?cam=5</URL>
    <Position>5</Position>
  </SoftKeyItem>
</CiscoIPPhoneImageFile>
";

header("Content-type: text/xml");
header("Connection: close");
header("Expires: -1");
echo $output;

?>

 

My latest switchmodding project is the silencing of a Netgear Smartswitch
GS724TPS. This switch is the newest 24 port gigabit smartswitch of
Netgear with Power over Ethernet (POE). The model got a powerful
powersupply wich can hold an additional set of 120mm fans with cool
LED’s. The switch got a factory set of 4 small Y.S.TECH FD124020EB 12V
0.12A 40mm fans. This 4 fans are responsable for an acoustic noise of 46
dBA. Ofcourse is this unacceptable within a home enviroment. I replaced
the 4 small fans with a set of two Enermax Appolish 120mm fans 12V 0.4A fans. These fans got circular type LEDs up to 4 times brighter than any other. I choose the blue fans.
The original fans are connected to the mainboard with a regular 12V 3-pin connector. The custom 120mm fans could be connected to these pins. Imported to know is the fact that the pins are reversed. The black wire is connected to the middle pin. This is different to standard computer-fans. However, I did not use this connectors because the fan speed is controlled by the mainboard. The current on the fans is between 7-12V. The LED-fans need a steady 12V so I used 12V of the mainboard-connector. Just use the white (+12V) en black (Gound) wires of this mainboard connector and you’re fine. (The yellow wire is a +5V).I cut two big wholes in the top of the switch. I also made a hole in the plastic of powersupply. I disabled the small fans by unconnecting the connectors of the mainboard. Note: This created a ‘fan-failure’ in the switchlog and the fan-error LED is lid, but who cares.. just ignore it. I
also closed the fan-opening on the left side of the switch, so air can only be sucked in on the right side of the switch. This air cools all the components on the mainboard en powersupply. This is it.. A cool 24
port Gigabit POE switch suited for silent home networking.