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)