| | |
 |
Our Mobile Home Control project is based on the project work of 3 other students of our school. They developed a Universal Mobile Home Control System. We expanded this project with a client based on the .Net Micro Framework with our Tahoe II development board.
Mobile Home Control is a universal system in which you can control digital and analog I/Os and monitor electrical devices. The system consists of some control modules, which are connected to a server via TCP and provided with some digital and analog I/Os. A control module consists of an ATmega 32 Microcontroller and a Wiznet-Ethernet Module for the Ethernet Connection. The server provides web services to control the modules. The access to the web services is protected with a username and a password. There are two kinds of user roles: Admins can add, configure or delete modules within the system. A normal user can control the modules. Last year 2 clients were developed:
One client is a fully scalable Silverlight Page. Within this page you can control the modules and you can also watch a live-stream of WLAN cameras in which the modules or electrical devices can be monitored. In the live-stream you can click on electrical devices (e.g.: a bulb) to change its state. If you click on an activated bulb, it will switch off and vice versa.
Another client was an application for the Java Micro Edition. Nowadays nearly everybody has a Java-enabled mobile phone, so this is a very useful application. For newer mobile phones with acceleration sensors, you can change the state of the digital I/O’s by tilting the mobile phone or control the analog output by turning it.
Our project is a client for the .NET Micro Framework. As we have to connect to web services, we had to build the Proxy Class for the communication with its XML-Serializer and XML-Deserializer. We started our project with .NET MF 3.0, so we had to build our own HTTP class based on the Grommet library. For the ASP .Net authentication service we had to implement support for session-cookies. We also built a universal GUI-library for further projects.
The user-interface is really simple. At first you have to login to the system. Then a list of all available control modules is displayed. If you choose one control module, you get a list of all its available analog and digital I/Os and their status. For the analog I/Os you have a slider control in which you can set the value.
The special thing about our project is the universal and easy usability of the system and the cheap implementation. Controlling of the system can easily be done via a standard web browser (with Silverlight-plugin), a Java-enabled mobile phone and now with a .Net Micro Framework client.
We completed this project as a final year project at school. At this point we want to thank DI Waser for his technical support and the idea for the project.
[youtube video]
http://www.youtube.com/watch?v=xW8jr96t93M
http://geekswithblogs.net/baumgartner/archive/2010/02/23/welcome-to-my-blog.aspx
[Images]
http://cid-d9436bff0d23a77c.skydrive.live.com/redir.aspx?page=browse&resid=D9436BFF0D23A77C!135&ct=photos
If you are interrested or if you want to know something about our project write to: baul_baumgartner@yahoo.de
Please also give a feedback.
|
 |
Our Robot Control client is based on a project of two classmates. Universal Robot Control is a universal applicable platform which allows you to control robots.
The user can control the robot from any place on earth using a browser, PDA or a cell phone. Our part is a client based on the .NET Micro Framework which runs on a Tahoe II development board.
At the beginning, a robot has to be registered and configured via a Silverlight page which communicates with web services. In this case the server is a Windows Azure application.
Following interfaces are supported:
• Modes (e.g. autonomic driving)
• Speed control
• Directional control
• Analog I/O’s
• Digital I/O’s
• Battery status
• Accelerometer
• Localizer (view on a map)
• Warnings (e.g. low battery status)
• Errors (e.g. motor current too high)
• Video stream
• Audio stream
Every robot can be configured individually and can implement some or each of the interfaces. The clients only show the supported interfaces according to the configuration. First you have to login into the system. A robot can be controlled by many users. There are two kinds of users: Administrators, who can administrate the robot and normal users, who can just control them. Each user is linked to one specific robot.
The other project group developed three clients:
The robot can be controlled via a Silverlight page which offers great user experience.
A .NET Compact Framework application was developed for Windows Mobile 6 devices. They implemented the possibility to watch a live stream of a WLAN camera. For Windows Mobile devices, which have a built in acceleration-senor (e.g. HTC Touch Diamond), it’s possible to control the robot with motion control.
Another client is an application for Java-enabled cell phones. For newer mobile phones with built-in acceleration sensors, motion control is also available.
Our part was an application for the .NET Micro Framework. After logging into the system, you get a list of each available interfaces for the corresponding robot.
We implemented the following functionalities:
• You can change the mode via radio buttons.
• The robot can be controlled with its speed and directional control either with slider controls in a separate window or with the built-in acceleration sensor of the Tahoe II board.
• Analog ports can be changed with a slider control in a separate window.
• Digital ports can be changed by clicking on them.
• The battery status is polling every 30 seconds.
• In a separate window the accelerometer values can be shown.
• For the localizer we used the Google Static Maps API to show where the robot is placed. Navigation, zoom and different map types are supported.
• The status of errors and warnings is polling every 30 seconds.
• Audio and video streams are not implemented.
We completed this project as a final year project at our school. At this point we want to thank DI Gerhard Waser for his technical support.
Within the next 4 weeks we will publish a video of the project which shows the whole functionality on YouTube.
If you are interrested or if you want to know something about our project write to: baul_baumgartner@yahoo.de
Please also give a feedback.
|
 |
Our Info Terminal loads its content from a web server via Web Services. We built a full scalable Silverlight Homepage, in which we can edit the contents for the Info terminal. Our Info Terminal application runs on a Tahoe II developer board.
The interface for the page is easy to use. At first you have to login as an Administrator. Then you can add edit or delete news entries. You are also able to set an entry as invisible. A news entry can consist of a picture and as a text content. Internally the Homepage works with WCF Web Services. The Service scales the image into an adequate format for the Tahoe II display and saves the picture on the server.
We made two versions for the Info Terminal:
In one version we saved the picture in the database of the server and received it via the Web Service. In this version we had a problem with the base64 decoding. The whole communication worked very well, but the Deserializer took very much time to decode the picture.
This problem made us to develop an easier way to transmit the picture. Now the Tahoe II receives the news-entries with the URL of the image via Web Services and then loads the image separately over a HTTP connection.
The interface of the Micro Framework Application is also very easy. At first you have to login as a user. Then you get a list of 20 news entries maximum. Only the header and a small picture are shown. If you click on a news entry, you can see the whole news entry with its text. You can also click on the picture to see the picture in a bigger format, scaled to the display size of the Tahoe II. Every 30 seconds the Info Terminal polls if there are new news or an entry was edited. If a change is detected, the Info Terminal will update its content.
We completed this project as a final year project at school. At this point we want to thank DI Waser for his technical support and the idea for the project.
Within the next 2 weeks we will publish a YouTube-video of the project. There we can show the whole functionality of the project.
[Images]http://cid-d9436bff0d23a77c.skydrive.live.com/browse.aspx/Info%20Terminal%20pictures?ct=photos&sa=128946975
http://geekswithblogs.net/baumgartner/archive/2010/02/24/info-terminal.aspx
If you are interrested or if you want to know something about our project write to: baul_baumgartner@yahoo.de
Please also give a feedback.
|