Is anyone aware of a web sockets implementation for .Net Micro Framework?
After quite a bit of messing with Fez Panda II board trying to get it to pull down information from the web and do something with it I have started to rethink the architecture for my application.
What I really want my device to do is simply handle events that are triggered from remote systems. Basically I want to connect to a server and listen for events. Ive been thinking WebSockets would be an ideal fit for this.
Also, I could see a web socket implementation useful for devices that want to act as servers (instead of clients). This way they could just send out information as their input signals change. Clients could simply pull up a browser and watch information stream in real time. This could allow for more dashboard type views of devices.
This is all a problem of architecture… and about dealing with restrictions. Wiz5100 ethernet boards for an example are right now stuck with 3 or 4 dimultaneous sockets.
I am working right know with a project with multiple boards sending quite a lot of information to a central server, gathering it all and serving a web page dashboard to “rule them all”
All my little boards on specific event / interrupt are calling a server php script using a simple GET HTTP request, passing several parameters (password, board name, sensor information, etc). The PHP script on the server is stupidly storing this information into a mysql database.
On the same server, I can call a web page wich is gathering / corelating on the information graphicaly (GD) to present a dash board.
Each board also hosts a webserver (running the netconfig class ( http://code.tinyclr.com/project/308/netconfig-wiz5100-http-configuration-framework/ ) which I can reach by clicking on links on the PHP dashboard web page. The boards server allows me to get extra information if needed, configure/reset the boards, adjust sensor thresholds, etc). This is also used by the server to poll them to check none of them are out of service…
This is working smooth, and this is still simple enough to manage, thanks to a clear fragmentation of the tasks (many simple separate tasks). It still took me times to get here
Nicolas, The system you described sounds totally awesome. This is the exact type of application Im thinking about for web sockets. I know this can all be done with TCP/HTTP connections. The thing is if we want our devices to work with other web socket services, then we have to provide an implementation of the protocol in the .Net Micro Framework. As more and more services start providing web socket implementations, well be able to simply point our devices at them and program logic around server fired events. Its all about leveraging a common protocol – this way we dont have to develop our own. If I ever get the time I might seriously look into doing this for the micro framework. I guess I wanted to first ping the community to see if anyone else already did.
It would be a great addition if have Web socket support. with NETMF.
We don’t know much about Web sockets but we are ready to support who is willing to try it out.
Also you can request it at the main netmf community website: www.netmf.com
I think web sockets is a simply a way to allow web developers to open a socket and have full control over it on a server. FEZ already give you full control over a socket and so you have “web sockets”
Oh, yet another web service protocol?