Introduction

Developed the Local Craft Terminal application to perform Commission, Provision and Diagnostic operations on the South East Water digital meters using the Android/Java to interface and interoperate with the Firmware/C via NFC sensor and Javolution (Java to C Parser and Formatter).

Project Team

  • Duration ~2-3 months and 3 production releases
  • 1 x Program Manager / 1 x Project Manager
  • 1 x Senior Firmware Engineer was responsible
    • Document requirements and specifications
    • Provide guidance to Firmware Developers and Testers
  • 2 x Senior Firmware Engineer was responsible
    • Developed firmware for the digital meter using CoAP/LwM2M/IPSO
    • Developed firmware for interface with the android
  • 1 x Senior Software Engineer was responsible for 3 production releases
    • Set up the Development Environment for NFC using Android Phone with NFC built in and NFC sensor tag
    • Set up the Development Environment for the Android to interface with the Firmware using Javolution (open source used to format the Java to C/CPP and parse C/CPP to Java)
    • Set up the Development Environment for the Android to engineer with
      • Internationalisation with Locale support - UI strings, info/warns/error codes and messages are stored to values/strings
      • Android update to date structure and releases to support latest android (I just finished reworking on the porting the sew-lct application to the latest android structure from v4/v7 to androidx at the time write this article)
    • The User Interface and Usability was engineered with the knowledge when I worked at the Telecom Research Lab to engineer simple UI and deterministic usability to work on 5-6 inch screen, water/unclean environment and NFC only works with deterministic stable field by tapping
      • Base Menu Base Menu
      • Ultrasonic Menu Ultrasonic Menu
      • Cathodic Menu Cathodic Menu
      • Pressure Menu Pressure Menu
    • Work with the Firmware Team to develop the simple protocol to transport the model for local craft terminal application the digital meter firmware.
      • the protocol to support the NFC constraints (short message) and intermittent characteristic and behaviour specifies
        • single message and multiple messages
        • checksum
        • send and acknowledge
      • the model to support the data/information to be inter-operated specifies
        • Device model: Hardware/Firmware/Daughter-Board, Battery, Clock, Network
        • Commission/Provision/Diagnostic/Calibrate state and model
  • 1 x Testers
  • 1 x Manufacture Operators - we use the sew-lct to commission the digital meters before dispatch to South East Water.

Technologies & Development Environments

  • Release 1: I spent about 8 weeks to develop the application before Covid-19. The most difficult components were:
    • DevEnv01- Javolution to format and parse message that both Android LCT Application and Firmware can work together
    • DevEnv02- Protocol that both work over constraint transport layer
    • DevEnv03- User Interface workflow using Tab and Nested Tab concept
    • DevEnv04- Engineer the Android Application with International/Locale for all string, Info/Warn/Error messages
    • DevEnv05: Engineer the Android components at 2017-2018 (v4/v7 Design and Android) Android technology milestones. I did quick upgrade few days ago to support the modern Android components (AndroidX - I will upgrade my github after asking Extel Technologies and Client permission to partially publish the content - to be provided the github link)
    • Application Development
  • Release 2: I could not remember anything until few days ago
    • Support for other Daughter Boards: Cathodic, Ultrasonic boards
  • Release 3
    • Support for other Daughter Boards: Pressure board and features Please this is just a sample of the second production release

Demonstration

Android NFC Demonstration