A embedded system (Beaglebone Green Wireless) and Internet of Things project about secure communication.
Beaglebone with a temperature sensor accepts commands from a network server, and sends reports back to the server, in both unencrypted (TCP) and encrypted (TLS) channels.
The embedded OS of Beaglebone is Debian GNU/Linux 8. MRAA AIO/GPIO is used to get IO from sensors.
lab4c_tcp:
- builds and runs on Beaglebone.
- accepts the following parameters:
--period=
#, sampling interval in seconds--scale=
F|C, Fahrenheit or Celsius--id=
9-digit-number--host=
name or address--log=
filename- port number
- accepts commands and generates reports from/to a network connection to a server.
- open a TCP connection to the server at the specified address and port
- immediately send (and log) an ID terminated with a newline: ID=ID-number This new report enables the server to keep track of which devices it has received reports from.
- send (and log) newline terminated temperature reports over the connection
- process (and log) newline-terminated commands received over the connection
- The last command sent by the server will be an OFF.
The temperature sensor has been connected to Analog input 0.
lab4c_tls:
- builds and runs on Beaglebone
- operates by:
- opening a TLS connection to the server at the specified address and port
- sending (and logging) ID followed by a newline
- sending (and logging) temperature reports over the connection
- processing (and logging) commands received over the connection