meshtastic_mqtt- Unnamed repository; edit this file 'description' to name the repository. |
git clone git://git.acid.vegas/-c.git |
Log | Files | Refs | Archive | README | LICENSE |
README.md (4452B)
1 # Meshtastic MQTT Parser 2 3 A lightweight Python library for parsing Meshtastic MQTT messages into JSON format. This tool makes it easy to build applications that interact with Meshtastic mesh networks via MQTT. 4 5 ## Overview 6 7 This library connects to a Meshtastic MQTT broker and decodes various message types into JSON format, making it simple to process Meshtastic mesh network data in your Python applications. 8 9 ## Features 10 11 - Connects to any Meshtastic MQTT broker 12 - Decrypts encrypted messages 13 - Parses all standard Meshtastic message types 14 - Outputs clean JSON format 15 - Message type filtering support 16 - Simple command-line interface 17 18 ## Installation 19 20 Install from PyPI: 21 22 ```bash 23 pip install meshtastic-mqtt-json 24 ``` 25 26 ## usage 27 ```bash 28 python meshtastic_mqtt_json [options] 29 ``` 30 31 ```python 32 from meshtastic_mqtt_json import MeshtasticMQTT 33 client = MeshtasticMQTT() 34 client.connect(broker='mqtt.meshtastic.org', port=1883, root='msh/US/2/e/', channel='LongFast', username='meshdev', password='large4cats', key='AQ==') 35 ``` 36 37 ### Command Line Options 38 | Option | Description | Default | 39 | ------------ | ------------------------------|---------------------- | 40 | `--broker` | MQTT broker address | `mqtt.meshtastic.org` | 41 | `--port` | MQTT broker port | `1883` | 42 | `--root` | Root topic | `msh/US/2/e/` | 43 | `--channel` | Channel name | `LongFast` | 44 | `--username` | MQTT username | `meshdev` | 45 | `--password` | MQTT password | `large4cats` | 46 | `--key` | Encryption key | `AQ==` | 47 | `--filter` | Filter specific message types | | 48 49 ### Filter Example 50 ```bash 51 python meshtastic_mqtt_json.py --filter "NODEINFO,POSITION,TEXT_MESSAGE" 52 ``` 53 54 55 ## Supported Message Types 56 57 The library supports parsing of the following Meshtastic message types: 58 | Message Type | Description | 59 | ------------------------------- | ----------------------------- | 60 | **ADMIN_APP** | Administrative messages | 61 | **ATAK_FORWARDER** | ATAK forwarding messages | 62 | **ATAK_PLUGIN** | ATAK plugin messages | 63 | **AUDIO_APP** | Audio messages | 64 | **DETECTION_SENSOR_APP** | Sensor detection data | 65 | **IP_TUNNEL_APP** | IP tunneling messages | 66 | **NEIGHBORINFO_APP** | Neighbor information | 67 | **NODEINFO_APP** | Node information and details | 68 | **PAXCOUNTER_APP** | People counter data | 69 | **POSITION_APP** | GPS position updates | 70 | **PRIVATE_APP** | Private messages | 71 | **RANGE_TEST_APP** | Range testing data | 72 | **REMOTE_HARDWARE_APP** | Remote hardware control | 73 | **REPLY_APP** | Reply messages | 74 | **ROUTING_APP** | Routing information | 75 | **SERIAL_APP** | Serial communication | 76 | **SIMULATOR_APP** | Simulator messages | 77 | **STORE_FORWARD_APP** | Store and forward messages | 78 | **TELEMETRY_APP** | Device telemetry data | 79 | **TEXT_MESSAGE_APP** | Plain text messages | 80 | **TEXT_MESSAGE_COMPRESSED_APP** | Compressed text messages | 81 | **TRACEROUTE_APP** | Network route tracing | 82 | **WAYPOINT_APP** | Waypoint information | 83 | **ZPS_APP** | Zone/Position System messages | 84 85 86 ## Roadmap 87 - [ ] Add support for custom node ID & names for the client 88 - [ ] Add support for custom MQTT servers besides the official Meshtastic server 89 - [ ] Create a PyPi package for easy import into other projects 90 - [ ] Create an examples folder with use cases for the library, such as an IRC relay, cli chat, logging, etc. 91 92 ___ 93 94 ###### Mirrors for this repository: [acid.vegas](https://git.acid.vegas/meshtastic_mqtt_json) • [SuperNETs](https://git.supernets.org/acidvegas/meshtastic_mqtt_json) • [GitHub](https://github.com/acidvegas/meshtastic_mqtt_json) • [GitLab](https://gitlab.com/acidvegas/meshtastic_mqtt_json) • [Codeberg](https://codeberg.org/acidvegas/meshtastic_mqtt_json)