qingping


Nameqingping JSON
Version 0.3 PyPI version JSON
download
home_pagehttps://github.com/bitrate16/qingping
SummaryQingping utilities
upload_time2025-08-04 20:53:23
maintainerNone
docs_urlNone
authorbitrate16
requires_pythonNone
licenseGNU Affero General Public License v3
keywords
VCS
bugtrack_url
requirements pexpect pygatt attrs
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # qingping client library

Tool for configuring your Qingping Air Monitor Lite without internet or app.

# WARNING

**Carefully check your device model before use. Author is not responsible for possible damage or device bricking.**

In practive device can not be killed by bluetooth packets, but incompatibilities between firmware and/or hardware may cause fatal damage when operating on unknown opcodes. You must understand and accept the risks before using this utility.

# How to use

Install with

```bash
pip install qingping
```

If you want to connect your device to your MQTT server, put it into pairing mode and do

```bash
python3 -m qingping.bluetooth \
    --verbose \
    --mac MAC__ADDRESS__HERE \
    --wifi-ssid "WIFI__SSID__HERE" \
    --wifi-password "WIFI__PASSWORD__HERE" \
    --link-token "00112233445566778899AABBCCDDEEFF" \
    --mqtt-host "MQTT__HOST__HERE" \
    --mqtt-port 1883 \
    --mqtt-login qingping \
    --mqtt-password qingping \
    --mqtt-client "MQTT__CLIENT__HERE" \
    --mqtt-read "MQTT__TOPIC__READ__HERE" \
    --mqtt-write "MQTT__TOPIC__WRITE__HERE"
```

Optionally change `mqtt-login`, `mqtt-pasword` and `link-token`.

# Supported devices

Currently supported devices:
- Qingping Air Monitor Lite (CGDN1)

# Features

* Full offline device setup
* Support of all (known) bluetooth commands with docs and examples
* Support of all (known) MQTT configuration commands with docs and examples
* Library and a standalone script

# Bluetooth

See [bluetooth.md](bluetooth.md)

# Pipeline

Connection pipeline described [pipeline.md](pipeline.md)

# TODO:

- Discover other packet types
- Documentation for MQTT commands
- Support cli configuration over MQTT

# License

```
qingping - python tools for air monitor
Copyright (C) 2025  bitrate16 (bitrate16@gmail.com)

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/bitrate16/qingping",
    "name": "qingping",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "bitrate16",
    "author_email": "bitrate16@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/4e/e4/9de75fad8c6ebcff58a3f6c11bbc028550cf392e19d4a51d957043676476/qingping-0.3.tar.gz",
    "platform": null,
    "description": "# qingping client library\n\nTool for configuring your Qingping Air Monitor Lite without internet or app.\n\n# WARNING\n\n**Carefully check your device model before use. Author is not responsible for possible damage or device bricking.**\n\nIn practive device can not be killed by bluetooth packets, but incompatibilities between firmware and/or hardware may cause fatal damage when operating on unknown opcodes. You must understand and accept the risks before using this utility.\n\n# How to use\n\nInstall with\n\n```bash\npip install qingping\n```\n\nIf you want to connect your device to your MQTT server, put it into pairing mode and do\n\n```bash\npython3 -m qingping.bluetooth \\\n    --verbose \\\n    --mac MAC__ADDRESS__HERE \\\n    --wifi-ssid \"WIFI__SSID__HERE\" \\\n    --wifi-password \"WIFI__PASSWORD__HERE\" \\\n    --link-token \"00112233445566778899AABBCCDDEEFF\" \\\n    --mqtt-host \"MQTT__HOST__HERE\" \\\n    --mqtt-port 1883 \\\n    --mqtt-login qingping \\\n    --mqtt-password qingping \\\n    --mqtt-client \"MQTT__CLIENT__HERE\" \\\n    --mqtt-read \"MQTT__TOPIC__READ__HERE\" \\\n    --mqtt-write \"MQTT__TOPIC__WRITE__HERE\"\n```\n\nOptionally change `mqtt-login`, `mqtt-pasword` and `link-token`.\n\n# Supported devices\n\nCurrently supported devices:\n- Qingping Air Monitor Lite (CGDN1)\n\n# Features\n\n* Full offline device setup\n* Support of all (known) bluetooth commands with docs and examples\n* Support of all (known) MQTT configuration commands with docs and examples\n* Library and a standalone script\n\n# Bluetooth\n\nSee [bluetooth.md](bluetooth.md)\n\n# Pipeline\n\nConnection pipeline described [pipeline.md](pipeline.md)\n\n# TODO:\n\n- Discover other packet types\n- Documentation for MQTT commands\n- Support cli configuration over MQTT\n\n# License\n\n```\nqingping - python tools for air monitor\nCopyright (C) 2025  bitrate16 (bitrate16@gmail.com)\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program.  If not, see <https://www.gnu.org/licenses/>.\n```\n",
    "bugtrack_url": null,
    "license": "GNU Affero General Public License v3",
    "summary": "Qingping utilities",
    "version": "0.3",
    "project_urls": {
        "Homepage": "https://github.com/bitrate16/qingping"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4ee49de75fad8c6ebcff58a3f6c11bbc028550cf392e19d4a51d957043676476",
                "md5": "f1856b16e643b0ef4781b57d2ca1742a",
                "sha256": "bd2c1897926e6a851832518d75a616f00254ce099fe4eda7410fe1449a865186"
            },
            "downloads": -1,
            "filename": "qingping-0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "f1856b16e643b0ef4781b57d2ca1742a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 14430,
            "upload_time": "2025-08-04T20:53:23",
            "upload_time_iso_8601": "2025-08-04T20:53:23.203029Z",
            "url": "https://files.pythonhosted.org/packages/4e/e4/9de75fad8c6ebcff58a3f6c11bbc028550cf392e19d4a51d957043676476/qingping-0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-04 20:53:23",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "bitrate16",
    "github_project": "qingping",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "pexpect",
            "specs": []
        },
        {
            "name": "pygatt",
            "specs": []
        },
        {
            "name": "attrs",
            "specs": []
        }
    ],
    "lcname": "qingping"
}
        
Elapsed time: 0.91228s