The M2MP protocol

Moved to github This has been moved to github. Still as a backup: Motivations Transmit and receive in real-time Transmit as few data as possible Send and receive any kind of data Basics So the basic ideas are to : Keep a TCP connection open all the time by sending regular keep-alive frames. Define named channels that are only transmitted once (to reduce data consumption) Send byte array, and two-dimensionnal byte arrays on these channels We rely on the TCP protocol for packet checksuming, packet ordering and every little things it does very well We send these kind of frames : ...

December 12, 2009 · Florent Clairambault

TC65 : Settings management

Someone recently asked me and the javacint group how we should handle settings. So I’ll give you two answers : ejw’s reply : You should use some simple DataInputStream and DataOutputStream objects. Mine : If you only store simple values (numbers and text), you should use a simple text file. It enables you to easily see and modify settings outside the TC65. So, my little gift of today will be a simple settings management class. The idea is that this file is in a very simple format (that can be read in any PC) and it only stores settings that have changed. This is very important, it allows you to change the default behavior at next software update but also enable you to override some of the settings for each chip (like the last IMSI identifier of the SIM card). ...

December 11, 2009 · Florent Clairambault

The waspmote

For those of you that take an interest in M2M and/or embedded things. You should look at the Waspmote. This is a generic hardware that can be customized to fit any need. Communication : GPRS / Wifi / ZigBee / USB Location : GPS Power usage : Low consuption, battery or solar as power input Storage : SD Card (2GB), no other storage memory Sensors : Everything you might need (really impressive set of sensors) I looked at the API and it’s in C (pretty low level, you have to free everything) but everything seems to be handled at a high level. It’s sometimes better to have a smart C API rather than a dumb Java API. Look at the examples, they are really easy to read, you don’t need to be a skilled C developer to understand everything. ...

November 25, 2009 · Florent Clairambault

.Net, Flex and WebORB.Net

I’ve been working on a project where we had to use Flex on a .Net environment and it had to be realtime. I was a little worried at first that it could be tricky to set up. But with WebORB.Net it’s pretty easy. We used the integrated RTMP (Real Time Messaging Protocol) messaging server. It’s almost like using WCF. The most important differences are that, by default, objects are transmitted as Hashtable and calls can’t be synchronous. We can bind the object to right .Net object within the WebOrb management console but we decided to do it ourself using reflection (because we don’t like to depend too much on the management console). ...

October 24, 2009 · Florent Clairambault

NetEventServer

I talked some time ago about a library I made to take advantage of the kernel network events. I now release it and explain how to use it. It can help people to do some little network software without knowing where to start from. I built it for network servers made to communicate with remotely connected embedded chips. I wanted to be able to always stay in touch with a huge number of chips without any real cost. So, my very personal goal was to built a server network layer for massive M2M applications. ...

June 17, 2009 · Florent Clairambault