This thesis focuses on developing a serial communication interception tool, with the aim of debugging the communication interface of both communicating devices, therefore facilitating development and testing of these devices. The interception device is also designed as a server with implemented push mechanism to mediate intercepted communication to all connected clients through a web application, which also provides various tools for communication altering. Communication devices in this case are energy meter and interchangeable communication module. My main focus in developing this device was software development, with the main platform for software architecture being Raspberry Pi with Linux operating system on board. I have used various programming languages and frameworks such as JavaScript, Python, HTML, Node.js and various methods of interprocess communication such as named pipes and signals, with the help of many Linux system calls that contributed to synchronization of the process interactions. various software libraries have also been of great help, especially socket.io which helped implementing the push mechanism on the server. The scope of this thesis also includes testing the load and temperature of a Raspberry Pi processor due to programs written in Python and a server implemented in Node.js framework. Test results have led to the conclusion that the current software implementation is appropriate for use and does not overload the Raspberry Pi processor.
|