In a coming series of articles, I’ll be presenting a project I’m working on to allow communication between BugOne boards and applications from same or different computers. This project focuses on the development of the uBroadcast library (read micro broadcast). This article is mostly a presentation of the concepts behind.
The goal of uBroadcast library is to allow communications such as those from next picture. The objective is simple, any message sent by a software or BugOne board will be received by all the others. Using uBroadcast, BugOne boards must be capable to send a message to all connected applications. In the mean time, applications must be capable to send and receive messages to and from any other software or BugOne board.
As uBroadcast is used to exchange message with BugOne boards, packets use the same format as dasLabor RFM12 library. The raw message goes from 3 to 258 bytes and can contain up to 255 byte of data. Each message can be typed (from 0 to 255)
For software communication I’ll be using UDP broadcasting. It’s main drawback is that there is no insurance that packet will be transmitted. This choice was made however because it allows broadcasting. Implementation of UDP communication is simple. For french speakers I would advise a great reminder from Fabrice Harrouet of ENIB.
To allow communication between BugOne and applications, I’ll make a bridge software that will handle both RFM12 USB sniffer and UDP communication.
During development, I’ll try to keep library as simple as possible because I’m developing it for my own use, in a controlled environment, for simple exchanges. However I’ll be glade of any remark. Finally I decided to develop uBroadcast because I didn’t found anything fitting my needs, but if you can advise me another well known and supported library …