MZX Simulator

Android

RS232 Serial Comms

Service

SQLite

Project Description

Note: Some screenshots have been editied to protect sensitive information

With the foundation laid by the proven feasibility, the project transitioned into the creation of a robust and feature-rich application. Drawing inspiration from the desktop counterpart, the mobile app was meticulously crafted to encompass all the functionalities of its predecessor while introducing additional utility add-ons tailored to enhance the user experience.

These supplementary features were strategically integrated to provide users with added convenience and efficiency, elevating the overall usability of the application. Notably, the incorporation of sharing of logs with product support, streamlining the troubleshooting process and expediting resolution times.

For field engineers operating in dynamic environments, the application serves as a valuable companion, providing real-time insights into network performance and facilitating efficient troubleshooting of issues encountered in the field. In addition, the application extends its utility to R&D centers, where it serves as a versatile tool for conducting in-depth network analysis and information gathering. By enabling network snooping capabilities, the application empowers researchers to extract valuable data and insights, facilitating the development and refinement of network technologies.

App Features

  • Terminal logging to file
  • Log/Packet Sharing
  • SQLite Database Storage
  • Multiple Profiles for different network configurations
  • Data Filtering

Project Solution

For this project, I made the deliberate choice to pursue Native Android development, the decision to snub a multiplatform approach, such as Flutter, stemmed from the inherent limitations posed by iOS devices lack of support for the RS232 connection crucial to this application's functionality.

To facilitate the low-level communication required for interfacing with the fire panel, I leveraged felhr85's USB serial library. However, adapting the library to align with the company's communication protocol necessitated the development of a custom service tailored to the specific requirements.

The connection process involves the use of an OTG cable to connect the device to a USB RS232 converter, establishing a physical link with the fire panel. This intricate setup ensures seamless communication between the application and the target device, enabling efficient data exchange and control.

The application makes use of file logging in order to stream data to a file, this file can later be shared to anybody an example may be a field engineer sending data to a product support engineer to review and debug network issues.