Netduino home hardware projects downloads community

Jump to content


Photo

SkyNet


  • Please log in to reply
4 replies to this topic

#1 Veetrik

Veetrik

    Member

  • Members
  • PipPip
  • 12 posts

Posted 22 May 2011 - 11:52 PM

This SkyNet project uses a windows form to intercepts messages from a remote Skype connection
and passes them to the Netduino to control the position of a webcam.
It is similar to the SkyDuino project by Hari Wiguna for the Arduino.

After creating the Pan and Tilt project for the Netduino, I was using VNC to remotely to view my home (host) PC from my office (remote). I used a webcam viewer to see the webcam image and a web browser to send the commands on the host PC.
I thought it will would really nice to simplify this by viewing the image and controlling the webcam remotely using only one application. Skype seem like a good canidate for this.

To use this you will need two Skype accounts. The first account is for the host PC where Netduino is located.
Skype needs to be set up to automatically answer calls and to allow video calls.
The first time SkyNet is run, Skype will display 'SkyNet.exe wants to use Skype'. Select 'Allow Access' to proceed.

SkyNet is run on the host PC and it automatically starts Skype if it is not running.
It intercepts any chat messages received by Skype on the Host PC that are meant for the Netduino.
It then sends these commands to the Netduino via a socket connection. You can use the buttons on
the SkyNet form to send commands direcly to the Netduino for testing purposes. There is also
a checkbox available labeled 'Send To Netduino. You can uncheck this box if the Netduino is not connect and you wish to test SkyNet. There is also a box where you must enter the Netduino's IP address.

Code to send commands via socket to the Netduino Pan and Tilt application:

 public void SendCommand(string cmd)
  {
	...
           string header = "GET /PanTilt.htm?c=" + cmd + " HTTP/1.0\n"; 
           byte[] bytes = Encoding.ASCII.GetBytes(header.ToString());
           IPEndPoint remoteEP = new IPEndPoint(IPAddress.Parse(txtSkyNet.Text), 80);
           Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
           sock.Connect(remoteEP);
           sock.Send(bytes);
           sock.Close();
	...
   }


On the Netduino you will need to run the Pan and Tilt which is a web server that uses these commands to control the orientation of the webcam mounted on pan and tilt servos.


On the remote PC you will use the second Skype account to make a video call to the first account.
You can use the Skype chat messaging system to send any of the following commands to the host PC:
u - up
d - down
l - left
r - right
c - center
skynet on - skynet will send commands to the Netduino
skynet off - skynet will not send commands (for debugging)

Attached Files



#2 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7165 posts
  • LocationNew York, NY

Posted 23 May 2011 - 03:11 PM

Very cool. Do you have a video of your project in action by any chance (YouTube)?

#3 SirPoonga

SirPoonga

    Advanced Member

  • Members
  • PipPipPip
  • 96 posts

Posted 23 May 2011 - 04:48 PM

The machines are taking over.

#4 Veetrik

Veetrik

    Member

  • Members
  • PipPip
  • 12 posts

Posted 23 May 2011 - 11:51 PM

Very cool. Do you have a video of your project in action by any chance (YouTube)?


Thanks Chris, here's a screen shot:
Posted Image


and here's the video:
http://www.youtube.com/watch?v=mx-WD_sVqfE

#5 Omar (OZ)

Omar (OZ)

    Advanced Member

  • Members
  • PipPipPip
  • 564 posts
  • LocationPA, USA

Posted 24 May 2011 - 12:20 AM

Awesome project! Who needs thousand dollar home surveillance systems when you have that! nicely done
My Blog - Oz's Tutorials and Projects

Twitter - @ozsolutions
Youtube - VCSandARM




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2010-2014 Secret Labs LLC  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.