This module send udp trame for keepalive functionnality. 
All parameters (like udp server address and port, periodic interval ...) are defined into json configuration file. 

Trame have the following format : 
[ Uint32LE:SNExtractedNumber, STATUS, Uint32LE: Date]
 * SNExtractedNumber is the numeric part of the serial number (e.g : MTA-0000000001 have SNExtractedNumber=1)
 * Status is to known when the board have boot/reboot. It first value is define into json configuration file. 
After each udp frame sending, its value is decreased by 1. So from its value and with the periodic interval, 
we are able to known when the board have boot or reboot 
 * Date: timestamp in seconds (Date.now/1000 so number of second elapsed since 1Jan1970 00:00:00 UTC)

On the server, it can send back some command via an udp answer.

Answer have the following format : 

[HMAC 64Bits][Message]

 * HMAC : HMAC with sha256, key = SN (e.g MTA-0000000001), message = Message
HMAC is used for verified integrity of the message (client and server share SN as common secret)
 * Message have the following format 
	[Uint8 CommandIndex][Data]
   * CommandIndex can be 1 or 2. 
     * 1 is used for updating time (data will be new time to set in ISO-8601 format (date.toISOString) 
     * 2 is used for forcing update. (MTA-Gate will launch the script check_4_update.sh) 



# Server
The server code is located into git : http://gitlab.bh-technologies.com/bht-dev/keep-alive

