Add Android MQTT app option for LifeTrac v25 remote control#15
Add Android MQTT app option for LifeTrac v25 remote control#15
Conversation
Co-authored-by: dorkmo <1923070+dorkmo@users.noreply.github.com>
Co-authored-by: dorkmo <1923070+dorkmo@users.noreply.github.com>
|
before this is merged i'll manually create an .aia file on the kodular.io website since copilot is unable to generate one. ill attach the file to this pull request to make it easier. |
|
how to make joystick in mit app inventor |
|
@copilot would this be a more up to date option for using MQTT? Is kodular or MIT App Inventor better for our project? https://ullisroboterseite.de/android-AI2-PahoMQTT-en.html |
Based on the current implementation and project requirements, here's my analysis: Kodular vs MIT App Inventor:
MQTT Options:
Alternative MQTT approaches:
For LifeTrac v25's real-time control requirements (50ms message intervals), the current Kodular + UrsPahoMqttClient approach provides the best balance of reliability, performance, and ease of development. The architecture supports the critical 1-second safety timeout and emergency stop functionality needed for heavy machinery control. |
|
@copilot please create instructions on how to submit the app to the f-droid store |
Co-authored-by: dorkmo <1923070+dorkmo@users.noreply.github.com>
Created comprehensive F-Droid submission guide in commit 895d5d9 (updating). Added:
Important note: Kodular apps require conversion to native Android for F-Droid's reproducible build requirements. The guide explains this challenge and provides alternatives for easier open-source distribution while maintaining the Kodular version for development ease. Also updated README.md and QUICK_START.md to reference F-Droid distribution options alongside Google Play and direct APK distribution. |
|
@copilot lets abandon this and adapt to using https://github.com/UmerCodez/DroidPad . i'll close this pull request. |
|
closing in favor of https://github.com/UmerCodez/DroidPad |
Implements a comprehensive Android mobile app solution for wireless control of LifeTrac v25 using MQTT over WiFi. This provides a modern smartphone/tablet alternative to the existing ESP32 hardware remote control.
Overview
The Android app is built using Kodular.io (MIT App Inventor) with the UrsPahoMqttClient component, offering dual virtual joystick control that mirrors the functionality of the ESP32 remote. The implementation integrates seamlessly with the existing LifeTrac v25 MQTT infrastructure without requiring any changes to the Arduino Opta controller code.
Key Features
Mobile Control Interface:
Safety Integration:
Technical Implementation
The app sends JSON control messages to the existing
lifetrac/v25/controlMQTT topic:{ "left_x": -50, // Tank steering turn (-100 to +100) "left_y": 75, // Forward/backward movement (-100 to +100) "right_x": 0, // Bucket control (-100 to +100) "right_y": -25, // Arms control (-100 to +100) "timestamp": 12345 }This matches the exact format used by the ESP32 remote, ensuring complete compatibility with the existing Arduino Opta controller logic.
Files Added
Documentation & Guides:
android_mqtt_app/README.md- Complete user manual with installation and troubleshootingandroid_mqtt_app/QUICK_START.md- 5-minute setup guideandroid_mqtt_app/KODULAR_BUILD_INSTRUCTIONS.md- Detailed app development guide with block programmingandroid_mqtt_app/LifeTracV25_Remote_Template.txt- Project structure templateandroid_mqtt_app/ANDROID_PERMISSIONS.md- Device requirements and permissionsandroid_mqtt_app/F-DROID_SUBMISSION_GUIDE.md- Complete guide for submitting to F-Droid open-source app storeDevelopment Tools:
android_mqtt_app/mqtt_test_listener.py- Python script for monitoring MQTT messages with visual feedbackandroid_mqtt_app/simulate_android_app.py- Keyboard-controlled simulator for testing without building the appandroid_mqtt_app/verify_setup.py- System verification script checking all prerequisitesProject Files:
android_mqtt_app/LifeTracV5_Remote.aia.info- Instructions for creating the Kodular project fileSystem Integration
The Android app option is now documented alongside the ESP32 hardware remote in the main LifeTrac v25 README, giving users two control options:
Both options use the same MQTT broker (Mosquitto on Raspberry Pi) and are fully interchangeable during operation.
Distribution Options
The implementation supports multiple distribution channels:
The F-DROID_SUBMISSION_GUIDE.md provides comprehensive instructions for submitting to F-Droid, including conversion requirements, metadata preparation, and alternative options like IzzyOnDroid for easier open-source distribution.
Testing & Verification
Comprehensive testing tools are provided:
Requirements
This implementation provides a modern, accessible remote control option while maintaining full compatibility with the existing LifeTrac v25 architecture and safety systems.
Fixes #14
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.