{
"info": {
"author": "Zbigniew Zasieczny",
"author_email": "z.zasieczny@gmail.com",
"bugtrack_url": null,
"classifiers": [],
"description": "PJON-python\r\n===========\r\n\r\nPythonic interface to PJON communication protocol.\r\n\r\nPJON (Github: `PJON `__ ) is an\r\nopen-source, multi-master, multi-media (one-wire, two-wires, radio)\r\ncommunication protocol available for various platforms (Arduino/AVR,\r\nESP8266, Teensy).\r\n\r\nPJON is one of very few open-source implementations of multi-master\r\ncommunication protocols for microcontrollers.\r\n\r\nPJON-python module in the current status enables communication with\r\nother PJON devices directly over UART (serial communication):\r\n\r\n- In a basic scenario PJON + PJON-python can be a viable alternative to\r\n more complex protocols like Firmata (Arduino firmware on Github:\r\n `firmata/Arduino `__ for direct\r\n (SIMPLEX) communication host-uC.\r\n- If RS485 drivers with auto-tx setup are used the host (e.g. Raspberry\r\n PI) can join multi-master PJON bus and python programs can\r\n communicate with multiple uC.\r\n- If uC with proxy firmware (sending packets between serial and other\r\n type of PJON bus) is used the host can communicate with PJON buses\r\n other than serial through that serial2pjon proxy uC.\r\n\r\nPJON-python module opens popular uC platforms (Arduino, ESP8266, Teensy)\r\nto the whole range of applications: - multi-master automation (reporting\r\nby exception lowers latency compared to polling-based protocols like\r\nModbus) - open-hardware IoT (thanks to integration flexibility of other\r\npython modules)\r\n\r\nCurrent status:\r\n---------------\r\n\r\n- work in progress, minimal client operational with PJON v4.2 or v4.3\r\n (ThroughHardwareSerial strategy is required)\r\n- initially PHY abstraction to BitBang and OverSampling strategies\r\n provided by a serial-PJON bridge implemented as Arduino sketch\r\n- support for ThroughHardwareSerial strategy in HALF\\_DUPLEX,\r\n multi-master communication mode e.g. over RS485 bus is provided\r\n directly (serial-RS485 converter required)\r\n- support for ThroughHardwareSerial strategy in SIMPLEX communication\r\n mode will be provided directly (e.g. to talk to a single Arduino).\r\n- Communication with a single arduino connected to USB works in\r\n HALF\\_DUPLEX mode out of the box without any additional hardware\r\n\r\noutstading features\r\n-------------------\r\n\r\n- PJON serial strategy\r\n- receive without ACK from local bus [done]\r\n- receive with ACK [done]\r\n- send without ACK to local bus [done]\r\n- send with ACK [done]\r\n- PJON protocol\r\n- receive [done]\r\n- send [done]\r\n- update [done]\r\n- repetitive send\r\n- local bus support [done]\r\n- including sender ID [done]\r\n- shared bus support\r\n- auto addressing (PJON v5 feature)\r\n- public api\r\n- blocking [implementing]\r\n- non-blocking [done]\r\n- auto-discover of serial-PJON bridge\r\n\r\nPJON-python versions are aligned with PJON versions to indicate\r\ncompatibility with C implementation for uC platforms.\r\n\r\nv4 goals:\r\n^^^^^^^^^\r\n\r\n- local and remote serial port support with auto-discovery of the\r\n serial2pjon proxy arduino\r\n- PJON serial strategy for local bus with ACK support [done]\r\n- full PJON serial protocol for serial strategy (remote buses support)\r\n\r\nv5 goals:\r\n^^^^^^^^^\r\n\r\n- auto addressing\r\n\r\nminimal client example\r\n\r\n.. code:: python\r\n\r\n from pjon_python.base_client import PjonBaseSerialClient\r\n import time\r\n\r\n pjon_cli = PjonBaseSerialClient(1, 'COM6')\r\n pjon_cli.start_client()\r\n\r\n\r\n def receive_handler(payload, packet_length, packet_info):\r\n print \"received packet from device %s with payload: %s\" % (packet_info.sender_id, payload)\r\n\r\n pjon_cli.set_receive(receive_handler)\r\n\r\n while True:\r\n # recipient id payload\r\n pjon_cli.send(35, 'C123456789') # payload can be string or an array of bytes (or any type suitable for casting to byte)\r\n time.sleep(1)",
"description_content_type": null,
"docs_url": null,
"download_url": "https://github.com/Girgitt/PJON-python/tarball/4.2.6",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/Girgitt/PJON-python",
"keywords": "PJON,multimaster,serial,RS485,arduino",
"license": "UNKNOWN",
"maintainer": null,
"maintainer_email": null,
"name": "PJON-python",
"package_url": "https://pypi.org/project/PJON-python/",
"platform": "UNKNOWN",
"project_url": "https://pypi.org/project/PJON-python/",
"project_urls": {
"Download": "https://github.com/Girgitt/PJON-python/tarball/4.2.6",
"Homepage": "https://github.com/Girgitt/PJON-python"
},
"release_url": "https://pypi.org/project/PJON-python/4.2.6/",
"requires_dist": null,
"requires_python": null,
"summary": "Python implementation of the PJON communication protocol.",
"version": "4.2.6"
},
"last_serial": 2604841,
"releases": {
"4.2.1": [
{
"comment_text": "",
"digests": {
"md5": "3423ad43f592a0772d76d8285b0f4f59",
"sha256": "37ee8cedcb54004b72388767d3c57b5704e29bbdefc8730841f1ac1ed183454b"
},
"downloads": -1,
"filename": "pjon_python-4.2.1.zip",
"has_sig": false,
"md5_digest": "3423ad43f592a0772d76d8285b0f4f59",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3540,
"upload_time": "2016-09-10T15:41:26",
"url": "https://files.pythonhosted.org/packages/7a/33/37c58b0008f65ba9ac7212e8c8745a28b0f6097c56620e8ce855905c7db4/pjon_python-4.2.1.zip"
}
],
"4.2.2": [
{
"comment_text": "",
"digests": {
"md5": "4991e88855f6ee9a2323d112b5dc94ba",
"sha256": "b70f5358fc814f6f2bc42ad74f6950a4b4289bf7a2789b672c25a34a3e386da3"
},
"downloads": -1,
"filename": "pjon_python-4.2.2.zip",
"has_sig": false,
"md5_digest": "4991e88855f6ee9a2323d112b5dc94ba",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12558,
"upload_time": "2016-09-10T15:52:54",
"url": "https://files.pythonhosted.org/packages/f5/83/932fff64e084b090c704a332ee4cff1de206cd156f653e4f5df748053d62/pjon_python-4.2.2.zip"
}
],
"4.2.3": [
{
"comment_text": "",
"digests": {
"md5": "ecc6d76f8167ae0328ec7e8feed5eb88",
"sha256": "344f4f3e4f86438e9fe9c44358a60495614481b5b1ce5b66de0825cc23f6940d"
},
"downloads": -1,
"filename": "pjon_python-4.2.3.zip",
"has_sig": false,
"md5_digest": "ecc6d76f8167ae0328ec7e8feed5eb88",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13953,
"upload_time": "2016-10-09T22:03:35",
"url": "https://files.pythonhosted.org/packages/88/c1/a3930bcc78910bd224af4caf21113e55d7d821ddf460e1b6fc7ba0fe3ed3/pjon_python-4.2.3.zip"
}
],
"4.2.4": [
{
"comment_text": "",
"digests": {
"md5": "82521426fd931150b42dca2f4f255dd8",
"sha256": "bdb1c173412eca33f35b963934af095bd71669ccc2ce3198d56504549134f3e8"
},
"downloads": -1,
"filename": "pjon_python-4.2.4.tar.gz",
"has_sig": false,
"md5_digest": "82521426fd931150b42dca2f4f255dd8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13182,
"upload_time": "2017-01-25T10:16:43",
"url": "https://files.pythonhosted.org/packages/41/c3/515796b6c3d6e3d9bd6764a24dd42ff4bd76cb592d792f33402d037994f3/pjon_python-4.2.4.tar.gz"
}
],
"4.2.5": [
{
"comment_text": "",
"digests": {
"md5": "51cbb39d278357a5784df8e9f57e4167",
"sha256": "0a406d4a43ab7eee8ec9b00b92a4f686f3c4bf1c110d6e3e310ed60e1a714c25"
},
"downloads": -1,
"filename": "pjon_python-4.2.5.tar.gz",
"has_sig": false,
"md5_digest": "51cbb39d278357a5784df8e9f57e4167",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13471,
"upload_time": "2017-01-29T13:12:04",
"url": "https://files.pythonhosted.org/packages/fd/83/e9f5dc2c7bd10d8051738296bc1a698475b2d1f792a0db71edd83cdf11d9/pjon_python-4.2.5.tar.gz"
}
],
"4.2.6": [
{
"comment_text": "",
"digests": {
"md5": "028b6e5100394678e6ccf61086d88c44",
"sha256": "28f6279c3b8b4727121346f7eb0c29aead4c16ac052cacc652d42d052f0f4302"
},
"downloads": -1,
"filename": "pjon_python-4.2.6.tar.gz",
"has_sig": false,
"md5_digest": "028b6e5100394678e6ccf61086d88c44",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13529,
"upload_time": "2017-01-29T13:35:34",
"url": "https://files.pythonhosted.org/packages/3e/5a/f0f62fe3a0496df302f4c840dff217a6da6ede8c9996ec1adec5f25d7b41/pjon_python-4.2.6.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "028b6e5100394678e6ccf61086d88c44",
"sha256": "28f6279c3b8b4727121346f7eb0c29aead4c16ac052cacc652d42d052f0f4302"
},
"downloads": -1,
"filename": "pjon_python-4.2.6.tar.gz",
"has_sig": false,
"md5_digest": "028b6e5100394678e6ccf61086d88c44",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13529,
"upload_time": "2017-01-29T13:35:34",
"url": "https://files.pythonhosted.org/packages/3e/5a/f0f62fe3a0496df302f4c840dff217a6da6ede8c9996ec1adec5f25d7b41/pjon_python-4.2.6.tar.gz"
}
]
}