meshtastic-mqtt-json


Namemeshtastic-mqtt-json JSON
Version 1.0.4 PyPI version JSON
download
home_pagehttps://github.com/acidvegas/meshtastic_mqtt_json
SummaryA lightweight Python library for parsing Meshtastic MQTT messages
upload_time2024-12-03 02:27:09
maintainerNone
docs_urlNone
authoracidvegas
requires_python>=3.6
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Meshtastic MQTT Parser

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.

## Overview

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.

## Features

- Connects to any Meshtastic MQTT broker
- Decrypts encrypted messages
- Parses all standard Meshtastic message types
- Outputs clean JSON format
- Message type filtering support
- Simple command-line interface

## Installation

Install from PyPI:

```bash
pip install meshtastic-mqtt-json
```

## usage
```bash
python meshtastic_mqtt_json [options]
```

```python
from meshtastic_mqtt_json import MeshtasticMQTT
client = MeshtasticMQTT()
client.connect(broker='mqtt.meshtastic.org', port=1883, root='msh/US/2/e/', channel='LongFast', username='meshdev', password='large4cats', key='AQ==')
```

### Command Line Options
| Option       | Description                   | Default               |
| ------------ | ------------------------------|---------------------- |
| `--broker`   | MQTT broker address           | `mqtt.meshtastic.org` |
| `--port`     | MQTT broker port              | `1883`                |   
| `--root`     | Root topic                    | `msh/US/2/e/`         |
| `--channel`  | Channel name                  | `LongFast`            |
| `--username` | MQTT username                 | `meshdev`             |
| `--password` | MQTT password                 | `large4cats`          |
| `--key`      | Encryption key                | `AQ==`                |
| `--filter`   | Filter specific message types |                       |

### Filter Example
```bash
python meshtastic_mqtt_json.py --filter "NODEINFO,POSITION,TEXT_MESSAGE"
```


## Supported Message Types

The library supports parsing of the following Meshtastic message types:
| Message Type                    | Description                   |
| ------------------------------- | ----------------------------- |
| **ADMIN_APP**                   | Administrative messages       |
| **ATAK_FORWARDER**              | ATAK forwarding messages      |
| **ATAK_PLUGIN**                 | ATAK plugin messages          |
| **AUDIO_APP**                   | Audio messages                |
| **DETECTION_SENSOR_APP**        | Sensor detection data         |
| **IP_TUNNEL_APP**               | IP tunneling messages         |
| **NEIGHBORINFO_APP**            | Neighbor information          |
| **NODEINFO_APP**                | Node information and details  |
| **PAXCOUNTER_APP**              | People counter data           |
| **POSITION_APP**                | GPS position updates          |
| **PRIVATE_APP**                 | Private messages              |
| **RANGE_TEST_APP**              | Range testing data            |
| **REMOTE_HARDWARE_APP**         | Remote hardware control       |
| **REPLY_APP**                   | Reply messages                |
| **ROUTING_APP**                 | Routing information           |
| **SERIAL_APP**                  | Serial communication          |
| **SIMULATOR_APP**               | Simulator messages            |
| **STORE_FORWARD_APP**           | Store and forward messages    |
| **TELEMETRY_APP**               | Device telemetry data         |
| **TEXT_MESSAGE_APP**            | Plain text messages           |
| **TEXT_MESSAGE_COMPRESSED_APP** | Compressed text messages      |
| **TRACEROUTE_APP**              | Network route tracing         |
| **WAYPOINT_APP**                | Waypoint information          |
| **ZPS_APP**                     | Zone/Position System messages |


## Roadmap
- [ ] Add support for custom node ID & names for the client
- [ ] Add support for custom MQTT servers besides the official Meshtastic server
- [ ] Create a PyPi package for easy import into other projects
- [ ] Create an examples folder with use cases for the library, such as an IRC relay, cli chat, logging, etc.

___

###### 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)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/acidvegas/meshtastic_mqtt_json",
    "name": "meshtastic-mqtt-json",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": null,
    "author": "acidvegas",
    "author_email": "acid.vegas@acid.vegas",
    "download_url": "https://files.pythonhosted.org/packages/64/1b/dae9cc91ee53eaf3737314ff98ccc21ba47625025ebf6de3568fa4ee0107/meshtastic_mqtt_json-1.0.4.tar.gz",
    "platform": null,
    "description": "# Meshtastic MQTT Parser\n\nA 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.\n\n## Overview\n\nThis 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.\n\n## Features\n\n- Connects to any Meshtastic MQTT broker\n- Decrypts encrypted messages\n- Parses all standard Meshtastic message types\n- Outputs clean JSON format\n- Message type filtering support\n- Simple command-line interface\n\n## Installation\n\nInstall from PyPI:\n\n```bash\npip install meshtastic-mqtt-json\n```\n\n## usage\n```bash\npython meshtastic_mqtt_json [options]\n```\n\n```python\nfrom meshtastic_mqtt_json import MeshtasticMQTT\nclient = MeshtasticMQTT()\nclient.connect(broker='mqtt.meshtastic.org', port=1883, root='msh/US/2/e/', channel='LongFast', username='meshdev', password='large4cats', key='AQ==')\n```\n\n### Command Line Options\n| Option       | Description                   | Default               |\n| ------------ | ------------------------------|---------------------- |\n| `--broker`   | MQTT broker address           | `mqtt.meshtastic.org` |\n| `--port`     | MQTT broker port              | `1883`                |   \n| `--root`     | Root topic                    | `msh/US/2/e/`         |\n| `--channel`  | Channel name                  | `LongFast`            |\n| `--username` | MQTT username                 | `meshdev`             |\n| `--password` | MQTT password                 | `large4cats`          |\n| `--key`      | Encryption key                | `AQ==`                |\n| `--filter`   | Filter specific message types |                       |\n\n### Filter Example\n```bash\npython meshtastic_mqtt_json.py --filter \"NODEINFO,POSITION,TEXT_MESSAGE\"\n```\n\n\n## Supported Message Types\n\nThe library supports parsing of the following Meshtastic message types:\n| Message Type                    | Description                   |\n| ------------------------------- | ----------------------------- |\n| **ADMIN_APP**                   | Administrative messages       |\n| **ATAK_FORWARDER**              | ATAK forwarding messages      |\n| **ATAK_PLUGIN**                 | ATAK plugin messages          |\n| **AUDIO_APP**                   | Audio messages                |\n| **DETECTION_SENSOR_APP**        | Sensor detection data         |\n| **IP_TUNNEL_APP**               | IP tunneling messages         |\n| **NEIGHBORINFO_APP**            | Neighbor information          |\n| **NODEINFO_APP**                | Node information and details  |\n| **PAXCOUNTER_APP**              | People counter data           |\n| **POSITION_APP**                | GPS position updates          |\n| **PRIVATE_APP**                 | Private messages              |\n| **RANGE_TEST_APP**              | Range testing data            |\n| **REMOTE_HARDWARE_APP**         | Remote hardware control       |\n| **REPLY_APP**                   | Reply messages                |\n| **ROUTING_APP**                 | Routing information           |\n| **SERIAL_APP**                  | Serial communication          |\n| **SIMULATOR_APP**               | Simulator messages            |\n| **STORE_FORWARD_APP**           | Store and forward messages    |\n| **TELEMETRY_APP**               | Device telemetry data         |\n| **TEXT_MESSAGE_APP**            | Plain text messages           |\n| **TEXT_MESSAGE_COMPRESSED_APP** | Compressed text messages      |\n| **TRACEROUTE_APP**              | Network route tracing         |\n| **WAYPOINT_APP**                | Waypoint information          |\n| **ZPS_APP**                     | Zone/Position System messages |\n\n\n## Roadmap\n- [ ] Add support for custom node ID & names for the client\n- [ ] Add support for custom MQTT servers besides the official Meshtastic server\n- [ ] Create a PyPi package for easy import into other projects\n- [ ] Create an examples folder with use cases for the library, such as an IRC relay, cli chat, logging, etc.\n\n___\n\n###### Mirrors for this repository: [acid.vegas](https://git.acid.vegas/meshtastic_mqtt_json) \u2022 [SuperNETs](https://git.supernets.org/acidvegas/meshtastic_mqtt_json) \u2022 [GitHub](https://github.com/acidvegas/meshtastic_mqtt_json) \u2022 [GitLab](https://gitlab.com/acidvegas/meshtastic_mqtt_json) \u2022 [Codeberg](https://codeberg.org/acidvegas/meshtastic_mqtt_json)\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A lightweight Python library for parsing Meshtastic MQTT messages",
    "version": "1.0.4",
    "project_urls": {
        "Bug Tracker": "https://github.com/acidvegas/meshtastic_mqtt_json/issues",
        "Documentation": "https://github.com/acidvegas/meshtastic_mqtt_json#readme",
        "Homepage": "https://github.com/acidvegas/meshtastic_mqtt_json",
        "Source Code": "https://github.com/acidvegas/meshtastic_mqtt_json"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e291c5a9f6243ed769fa339ef4844967356778a352d2daa901c70546230a62c5",
                "md5": "9bc52d0cdd74615eaca05b1a198b7bb9",
                "sha256": "4dc1447a914d9e23a9ccf43c27c0b45f0ba184212d5ca842d7cf3093115711d9"
            },
            "downloads": -1,
            "filename": "meshtastic_mqtt_json-1.0.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9bc52d0cdd74615eaca05b1a198b7bb9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 7501,
            "upload_time": "2024-12-03T02:27:07",
            "upload_time_iso_8601": "2024-12-03T02:27:07.111383Z",
            "url": "https://files.pythonhosted.org/packages/e2/91/c5a9f6243ed769fa339ef4844967356778a352d2daa901c70546230a62c5/meshtastic_mqtt_json-1.0.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "641bdae9cc91ee53eaf3737314ff98ccc21ba47625025ebf6de3568fa4ee0107",
                "md5": "dc170a2b40fd3c5121be4bb663d80510",
                "sha256": "984284508dc5434f1cff7bfc101db6e556d2fa198fdc440f0d100a37753d8c11"
            },
            "downloads": -1,
            "filename": "meshtastic_mqtt_json-1.0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "dc170a2b40fd3c5121be4bb663d80510",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 8504,
            "upload_time": "2024-12-03T02:27:09",
            "upload_time_iso_8601": "2024-12-03T02:27:09.803932Z",
            "url": "https://files.pythonhosted.org/packages/64/1b/dae9cc91ee53eaf3737314ff98ccc21ba47625025ebf6de3568fa4ee0107/meshtastic_mqtt_json-1.0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-03 02:27:09",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "acidvegas",
    "github_project": "meshtastic_mqtt_json",
    "github_not_found": true,
    "lcname": "meshtastic-mqtt-json"
}
        
Elapsed time: 0.44815s