GPS Tracker Firmware & EMQX Setup

Job ID: 39317709

Budget: €200 – €300 EUR

I'm in need of a professional who can develop GPS tracker firmware and set up an EMQX MQTT server for me.

Overview:

Develop the firmware for the GPS Tracker device and set up a secure MQTT server for communication. The firmware should handle GPS data acquisition, LTE communication, secure transmission using MQTT, CAN bus communication, battery monitoring, and device management features. The MQTT server will be hosted on a VPS with secure TLS encryption and support device messaging, logging, and remote configuration. Security mechanisms must ensure that only authorized GPS tracker devices are allowed to connect.

1. Device Firmware Development

Hardware Base:

MCU: STM32 series (specific model defined in schematic)

LTE Module: Quectel EG912

Interfaces:

CAN FD (for communication with vehicle CAN bus)

UART (for LTE module communication)

UART2 (for communication with secondary MCU_2)

GPIO (for indicators and optional sensors)

ADC (for battery level monitoring)

SPI (if additional peripherals needed)

Firmware Requirements:

RTOS or bare-metal firmware using STM32Cube HAL or LL libraries

LTE module communication driver (AT command set for EG912)

GPS data parsing (NMEA or binary format)

CAN FD communication stack to read and write messages on vehicle CAN bus

Control of CAN FD transceiver shutdown input:

Automatically disable transceiver (via GPIO) when tracker is operating in battery power mode

UART2 communication protocol to interact with a secondary STM32 (MCU_2):

MCU_2 will operate in various modes: 2-mode (on/off) or 5-mode (on, 10%, 30%, 50%, off)

Modes must be sent and received, with support for future expansion

Battery voltage monitoring using ADC input:

Measure battery level periodically

Detect and report current power supply source (battery or vehicle power)

Security module for platform authentication:

Secure tracker authentication using pre-shared keys, unique device certificates, or cryptographic signatures

Each tracker must authenticate before data exchange is permitted

Platform must distinguish between authorized trackers (ours) and unauthorized or third-party trackers (alien)

Unauthorized connection attempts must be logged and rejected

Data packet construction in JSON format

MQTT client implementation with TLS (using lightweight MQTT library such as Paho Embedded C or MQTTC)

AES-128 encryption of payloads before MQTT transmission

Watchdog and self-recovery system for LTE/GPS/UART2/CAN errors

OTA firmware update capability via LTE

Power-saving modes (e.g., sleep mode, low-power timers)

2. MQTT Server Setup

Server Environment:

VPS (AlmaLinux 9)

Public IP or domain with SSL certificate

MQTT Broker:

EMQX (Open Source)

TLS encryption enabled (port 8883)

Device authentication via pre-shared keys or certificates

Security access control list (ACL) to whitelist valid device IDs

Topic structure:

tracker/<device_id>/data

tracker/<device_id>/status

tracker/<device_id>/command

tracker/<device_id>/log

Additional Server Features:

Logging incoming messages to files or a database

Intrusion detection alerts for unauthorized tracker attempts

Basic web-based dashboard to monitor connection status (optional at this stage)

Scripts for broker deployment, backup, and restart

3. Deliverables:

Complete STM32 firmware source code and binary

EG912 AT command driver and configuration script

CAN FD and UART2 communication drivers with MCU_2 mode handling logic

CAN FD transceiver shutdown control logic for battery mode

Battery monitoring and power supply source detection implementation

Secure authentication and tracker verification mechanism

MQTT integration with secure TLS communication

MQTT broker deployment script and configuration guide (for AlmaLinux 9 with EMQX)

Documentation for firmware logic, MQTT topic structure, and server setup

Testing plan and logs for field validation

4. Timeline:

Firmware prototype (basic GPS → MQTT)

Secure MQTT broker setup

Full firmware functionality (CAN, UART2, Battery monitoring, Security, OTA, encryption)

Field testing and validation



Please provide examples of your previous work in your bid. Thank you.
Related categories: Microcontroller MQTT Firmware STM32 CAN Bus