- M2M Communication
A company in the agriculture industry engaged us to help develop a communication protocol that would allow continuous communication to remotely located devices despite intermittent network connections. It was crucial these devices never entered a state where they could not communicate.
We collaborated to devise a remotely configurable machine-to-machine (M2M) mobile application to collect and communicate data.
The remote configuration defines many options including:
- Data to be collected
- Frequency of collection
- Length of capture
- Time between uploads
- Retry limits
- Maximum data bandwidth requirements
We implemented data throttling and prioritization in order to maintain communication over an intermittent network. If the network slowed, data would be sent in smaller pieces. If parts of the data failed to send, the failed pieces would be retried, rather than retrying from the beginning. Prioritization allowed us to decipher what data takes precedence.
Our engineers wrote and tested C++ application under Windows Embedded that controls the system that is currently being used in the field.
We have maintained this system for the past three years and have built numerous error/retry scenarios to ensure the information important to our customer is transmitted. Additionally, we are involved with the port to Linux. This system is still actively used today.