pyncos-module


Namepyncos-module JSON
Version 0.0.15 PyPI version JSON
download
home_pagehttps://gitee.com/zwsjz/carbot-module-lib
Summary
upload_time2023-08-27 04:11:56
maintainer
docs_urlNone
authorxuwh
requires_python>=3.10
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![PyPI version](https://badge.fury.io/py/pyncos-module.svg)](https://badge.fury.io/py/pyncos-module)

## NCOS-Module

NCOS子设备基类。

通过继承该类快速构建NCOS下的子设备模块,并与NCOS进行数据交换

## 类

### ModuleBase

#### <span style="color:#4CAF50">| RUN </span>

运行模块, 并开始管理主事件循环

```python
def run(self)
```

##### 返回

None

#### <span style="color:#4CAF50">| BIND_NCOS_BROKER </span> 

绑定NCOS的主题网关

```python
def bind_ncos_broker(self, host:str, port:int)
```
##### 参数

| 参数 | 类型 | 说明 |
|:---- |:---- |:--- |
| host | str | 网关主机地址 |
| port | int | 网关端口  |

##### 返回

None

#### <span style="color:#4CAF50">| ADD_TOPIC </span> 

添加模块订阅

```python
def add_topic(self, topic:str, accessor)
```

##### 参数

| 参数 | 类型 | 说明 |
|:---- |:---- |:--- |
| topic | str | 订阅的主题 |
| accessor | func |  接收到订阅消息时的处理函数 |

##### 返回

None

#### <span style="color:#4CAF50">| SET_WILL </span> 

设置模块遗愿,当模块与NCOS网关断开时向NCOS发送指定内容

```python
def set_will(self, content:str)
```

##### 参数

| 参数 | 类型 | 说明 |
|:---- |:---- |:--- |
| content | str | 向NCOS发送的指定内容 |

##### 返回

None

#### <span style="color:#4CAF50">| HANDLE_CONNECT </span> 

当与MCU或其他设备建立好连接后执行本函数

```python
@abstractmethod
def handle_connect(self)
```

##### 参数

None

##### 返回

None

#### <span style="color:#4CAF50">| HANDLE_DISCONNECT </span> 

当与MCU或其他设备断开连接后执行本函数

```python
@abstractmethod
def handle_disconnect(self)
```

##### 参数

None

##### 返回

None

#### <span style="color:#4CAF50">| HANDLE_STARTUP </span> 

当模块run函数被调用时执行本函数

```python
@abstractmethod
def handle_startup(self)
```

##### 参数

None

##### 返回

None

#### <span style="color:#4CAF50">| HANDLE_EXIT </span> 

当模块run函数退出时执行本函数

```python
@abstractmethod
def handle_exit(self)
```

##### 参数

None

##### 返回

None

#### <span style="color:#4CAF50">| HANDLE_POST_INSTALL </span> 

主动向NCOS安装本模块时执行本函数

```python
@abstractmethod
def handle_post_install(self)
```

##### 参数

None

##### 返回

None

#### <span style="color:#4CAF50">| HANDLE_BROKER_CONNECTED </span> 

与NCOS主题网关建立连接时执行本函数

```python
@abstractmethod
def handle_broker_connected(self, client, userdata, flags, rc)
```

##### 参数

| 参数 | 类型 | 说明 |
|:---- |:---- |:--- |
| client | object | the client instance for this callback |
| userdata | object | 用户自定义数据 |
| flags | dict | response flags sent by the broker |
| rc | int | the connection result |

##### 返回

None

#### <span style="color:#4CAF50">| HANDLE_NCOS_READY </span> 

当收到NCOS广播已准备好时执行本函数

```python
@abstractmethod
def handle_NCOS_ready(self, data)
```

##### 参数

| 参数 | 类型 | 说明 |
|:---- |:---- |:--- |
| data | dict | 参见[NCOS_Ready](#ncos_ready) |

##### 返回

None

#### <span style="color:#4CAF50">| HANDLE_DATA_PULL </span> 

当NCOS发起拉取数据指令执行本函数

```python
@abstractmethod
def handle_data_pull(self, data)
```

##### 参数

| 参数 | 类型 | 说明 |
|:---- |:---- |:--- |
| data | dict | |

##### 返回

None

#### <span style="color:#4CAF50">| HANDLE_CONFIG </span> 

当NCOS向模块下发配置指令时执行本函数

```python
@abstractmethod
def handle_config(self, data)
```

##### 参数

| 参数 | 类型 | 说明 |
|:---- |:---- |:--- |
| data | dict |  |

##### 返回

None

#### <span style="color:#4CAF50">| HANDLE_ACTION </span> 

当NCOS向模块下发操作指令时执行本函数

```python
@abstractmethod
def handle_action(self, data)
```

##### 参数

| 参数 | 类型 | 说明 |
|:---- |:---- |:--- |
| data | dict |  |

##### 返回

None

#### <span style="color:#4CAF50">| HANDLE_INSTALLED </span> 

当收到NCOS对模块安装请求的响应时执行本函数

```python
@abstractmethod
def handle_installed(self, result:bool, reason:str)
```

##### 参数

| 参数 | 类型 | 说明 |
|:---- |:---- |:--- |
| result | bool | 安装结果的标识, true = 安装成功 |
| reason | str | 安装失败的原因 |

##### 返回

None

#### <span style="color:#4CAF50">| HANDLE_UNINSTALLED </span> 

当模块主动卸载时执行本函数

```python
@abstractmethod
def handle_uninstalled(self, reason:str)
```

##### 参数

| 参数 | 类型 | 说明 |
|:---- |:---- |:--- |
| reason | str | 卸载原因 |

##### 返回

None

#### <span style="color:#4CAF50">| HANDLE_ERROR </span> 

当模块发生异常时的处理函数

```python
@abstractmethod
def handle_error(self, error)
```

##### 参数

| 参数 | 类型 | 说明 |
|:---- |:---- |:--- |
| error | str | 异常信息 |

##### 返回

None

### 数据结构

#### NCOS_Ready

```JSON
{
  "slots": []
}

            

Raw data

            {
    "_id": null,
    "home_page": "https://gitee.com/zwsjz/carbot-module-lib",
    "name": "pyncos-module",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "",
    "keywords": "",
    "author": "xuwh",
    "author_email": "xuwhdev@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/2d/54/56df3719fe2632da55327468bf835b0f71a84246ef42bf0f528dc0d2e830/pyncos-module-0.0.15.tar.gz",
    "platform": null,
    "description": "[![PyPI version](https://badge.fury.io/py/pyncos-module.svg)](https://badge.fury.io/py/pyncos-module)\r\n\r\n## NCOS-Module\r\n\r\nNCOS\u5b50\u8bbe\u5907\u57fa\u7c7b\u3002\r\n\r\n\u901a\u8fc7\u7ee7\u627f\u8be5\u7c7b\u5feb\u901f\u6784\u5efaNCOS\u4e0b\u7684\u5b50\u8bbe\u5907\u6a21\u5757\uff0c\u5e76\u4e0eNCOS\u8fdb\u884c\u6570\u636e\u4ea4\u6362\r\n\r\n## \u7c7b\r\n\r\n### ModuleBase\r\n\r\n#### <span style=\"color:#4CAF50\">| RUN </span>\r\n\r\n\u8fd0\u884c\u6a21\u5757\uff0c \u5e76\u5f00\u59cb\u7ba1\u7406\u4e3b\u4e8b\u4ef6\u5faa\u73af\r\n\r\n```python\r\ndef run(self)\r\n```\r\n\r\n##### \u8fd4\u56de\r\n\r\nNone\r\n\r\n#### <span style=\"color:#4CAF50\">| BIND_NCOS_BROKER </span> \r\n\r\n\u7ed1\u5b9aNCOS\u7684\u4e3b\u9898\u7f51\u5173\r\n\r\n```python\r\ndef bind_ncos_broker(self, host:str, port:int)\r\n```\r\n##### \u53c2\u6570\r\n\r\n| \u53c2\u6570 | \u7c7b\u578b | \u8bf4\u660e |\r\n|:---- |:---- |:--- |\r\n| host | str | \u7f51\u5173\u4e3b\u673a\u5730\u5740 |\r\n| port | int | \u7f51\u5173\u7aef\u53e3  |\r\n\r\n##### \u8fd4\u56de\r\n\r\nNone\r\n\r\n#### <span style=\"color:#4CAF50\">| ADD_TOPIC </span> \r\n\r\n\u6dfb\u52a0\u6a21\u5757\u8ba2\u9605\r\n\r\n```python\r\ndef add_topic(self, topic:str, accessor)\r\n```\r\n\r\n##### \u53c2\u6570\r\n\r\n| \u53c2\u6570 | \u7c7b\u578b | \u8bf4\u660e |\r\n|:---- |:---- |:--- |\r\n| topic | str | \u8ba2\u9605\u7684\u4e3b\u9898 |\r\n| accessor | func |  \u63a5\u6536\u5230\u8ba2\u9605\u6d88\u606f\u65f6\u7684\u5904\u7406\u51fd\u6570 |\r\n\r\n##### \u8fd4\u56de\r\n\r\nNone\r\n\r\n#### <span style=\"color:#4CAF50\">| SET_WILL </span> \r\n\r\n\u8bbe\u7f6e\u6a21\u5757\u9057\u613f\uff0c\u5f53\u6a21\u5757\u4e0eNCOS\u7f51\u5173\u65ad\u5f00\u65f6\u5411NCOS\u53d1\u9001\u6307\u5b9a\u5185\u5bb9\r\n\r\n```python\r\ndef set_will(self, content:str)\r\n```\r\n\r\n##### \u53c2\u6570\r\n\r\n| \u53c2\u6570 | \u7c7b\u578b | \u8bf4\u660e |\r\n|:---- |:---- |:--- |\r\n| content | str | \u5411NCOS\u53d1\u9001\u7684\u6307\u5b9a\u5185\u5bb9 |\r\n\r\n##### \u8fd4\u56de\r\n\r\nNone\r\n\r\n#### <span style=\"color:#4CAF50\">| HANDLE_CONNECT </span> \r\n\r\n\u5f53\u4e0eMCU\u6216\u5176\u4ed6\u8bbe\u5907\u5efa\u7acb\u597d\u8fde\u63a5\u540e\u6267\u884c\u672c\u51fd\u6570\r\n\r\n```python\r\n@abstractmethod\r\ndef handle_connect(self)\r\n```\r\n\r\n##### \u53c2\u6570\r\n\r\nNone\r\n\r\n##### \u8fd4\u56de\r\n\r\nNone\r\n\r\n#### <span style=\"color:#4CAF50\">| HANDLE_DISCONNECT </span> \r\n\r\n\u5f53\u4e0eMCU\u6216\u5176\u4ed6\u8bbe\u5907\u65ad\u5f00\u8fde\u63a5\u540e\u6267\u884c\u672c\u51fd\u6570\r\n\r\n```python\r\n@abstractmethod\r\ndef handle_disconnect(self)\r\n```\r\n\r\n##### \u53c2\u6570\r\n\r\nNone\r\n\r\n##### \u8fd4\u56de\r\n\r\nNone\r\n\r\n#### <span style=\"color:#4CAF50\">| HANDLE_STARTUP </span> \r\n\r\n\u5f53\u6a21\u5757run\u51fd\u6570\u88ab\u8c03\u7528\u65f6\u6267\u884c\u672c\u51fd\u6570\r\n\r\n```python\r\n@abstractmethod\r\ndef handle_startup(self)\r\n```\r\n\r\n##### \u53c2\u6570\r\n\r\nNone\r\n\r\n##### \u8fd4\u56de\r\n\r\nNone\r\n\r\n#### <span style=\"color:#4CAF50\">| HANDLE_EXIT </span> \r\n\r\n\u5f53\u6a21\u5757run\u51fd\u6570\u9000\u51fa\u65f6\u6267\u884c\u672c\u51fd\u6570\r\n\r\n```python\r\n@abstractmethod\r\ndef handle_exit(self)\r\n```\r\n\r\n##### \u53c2\u6570\r\n\r\nNone\r\n\r\n##### \u8fd4\u56de\r\n\r\nNone\r\n\r\n#### <span style=\"color:#4CAF50\">| HANDLE_POST_INSTALL </span> \r\n\r\n\u4e3b\u52a8\u5411NCOS\u5b89\u88c5\u672c\u6a21\u5757\u65f6\u6267\u884c\u672c\u51fd\u6570\r\n\r\n```python\r\n@abstractmethod\r\ndef handle_post_install(self)\r\n```\r\n\r\n##### \u53c2\u6570\r\n\r\nNone\r\n\r\n##### \u8fd4\u56de\r\n\r\nNone\r\n\r\n#### <span style=\"color:#4CAF50\">| HANDLE_BROKER_CONNECTED </span> \r\n\r\n\u4e0eNCOS\u4e3b\u9898\u7f51\u5173\u5efa\u7acb\u8fde\u63a5\u65f6\u6267\u884c\u672c\u51fd\u6570\r\n\r\n```python\r\n@abstractmethod\r\ndef handle_broker_connected(self, client, userdata, flags, rc)\r\n```\r\n\r\n##### \u53c2\u6570\r\n\r\n| \u53c2\u6570 | \u7c7b\u578b | \u8bf4\u660e |\r\n|:---- |:---- |:--- |\r\n| client | object | the client instance for this callback |\r\n| userdata | object | \u7528\u6237\u81ea\u5b9a\u4e49\u6570\u636e |\r\n| flags | dict | response flags sent by the broker |\r\n| rc | int | the connection result |\r\n\r\n##### \u8fd4\u56de\r\n\r\nNone\r\n\r\n#### <span style=\"color:#4CAF50\">| HANDLE_NCOS_READY </span> \r\n\r\n\u5f53\u6536\u5230NCOS\u5e7f\u64ad\u5df2\u51c6\u5907\u597d\u65f6\u6267\u884c\u672c\u51fd\u6570\r\n\r\n```python\r\n@abstractmethod\r\ndef handle_NCOS_ready(self, data)\r\n```\r\n\r\n##### \u53c2\u6570\r\n\r\n| \u53c2\u6570 | \u7c7b\u578b | \u8bf4\u660e |\r\n|:---- |:---- |:--- |\r\n| data | dict | \u53c2\u89c1[NCOS_Ready](#ncos_ready) |\r\n\r\n##### \u8fd4\u56de\r\n\r\nNone\r\n\r\n#### <span style=\"color:#4CAF50\">| HANDLE_DATA_PULL </span> \r\n\r\n\u5f53NCOS\u53d1\u8d77\u62c9\u53d6\u6570\u636e\u6307\u4ee4\u6267\u884c\u672c\u51fd\u6570\r\n\r\n```python\r\n@abstractmethod\r\ndef handle_data_pull(self, data)\r\n```\r\n\r\n##### \u53c2\u6570\r\n\r\n| \u53c2\u6570 | \u7c7b\u578b | \u8bf4\u660e |\r\n|:---- |:---- |:--- |\r\n| data | dict | |\r\n\r\n##### \u8fd4\u56de\r\n\r\nNone\r\n\r\n#### <span style=\"color:#4CAF50\">| HANDLE_CONFIG </span> \r\n\r\n\u5f53NCOS\u5411\u6a21\u5757\u4e0b\u53d1\u914d\u7f6e\u6307\u4ee4\u65f6\u6267\u884c\u672c\u51fd\u6570\r\n\r\n```python\r\n@abstractmethod\r\ndef handle_config(self, data)\r\n```\r\n\r\n##### \u53c2\u6570\r\n\r\n| \u53c2\u6570 | \u7c7b\u578b | \u8bf4\u660e |\r\n|:---- |:---- |:--- |\r\n| data | dict |  |\r\n\r\n##### \u8fd4\u56de\r\n\r\nNone\r\n\r\n#### <span style=\"color:#4CAF50\">| HANDLE_ACTION </span> \r\n\r\n\u5f53NCOS\u5411\u6a21\u5757\u4e0b\u53d1\u64cd\u4f5c\u6307\u4ee4\u65f6\u6267\u884c\u672c\u51fd\u6570\r\n\r\n```python\r\n@abstractmethod\r\ndef handle_action(self, data)\r\n```\r\n\r\n##### \u53c2\u6570\r\n\r\n| \u53c2\u6570 | \u7c7b\u578b | \u8bf4\u660e |\r\n|:---- |:---- |:--- |\r\n| data | dict |  |\r\n\r\n##### \u8fd4\u56de\r\n\r\nNone\r\n\r\n#### <span style=\"color:#4CAF50\">| HANDLE_INSTALLED </span> \r\n\r\n\u5f53\u6536\u5230NCOS\u5bf9\u6a21\u5757\u5b89\u88c5\u8bf7\u6c42\u7684\u54cd\u5e94\u65f6\u6267\u884c\u672c\u51fd\u6570\r\n\r\n```python\r\n@abstractmethod\r\ndef handle_installed(self, result:bool, reason:str)\r\n```\r\n\r\n##### \u53c2\u6570\r\n\r\n| \u53c2\u6570 | \u7c7b\u578b | \u8bf4\u660e |\r\n|:---- |:---- |:--- |\r\n| result | bool | \u5b89\u88c5\u7ed3\u679c\u7684\u6807\u8bc6, true = \u5b89\u88c5\u6210\u529f |\r\n| reason | str | \u5b89\u88c5\u5931\u8d25\u7684\u539f\u56e0 |\r\n\r\n##### \u8fd4\u56de\r\n\r\nNone\r\n\r\n#### <span style=\"color:#4CAF50\">| HANDLE_UNINSTALLED </span> \r\n\r\n\u5f53\u6a21\u5757\u4e3b\u52a8\u5378\u8f7d\u65f6\u6267\u884c\u672c\u51fd\u6570\r\n\r\n```python\r\n@abstractmethod\r\ndef handle_uninstalled(self, reason:str)\r\n```\r\n\r\n##### \u53c2\u6570\r\n\r\n| \u53c2\u6570 | \u7c7b\u578b | \u8bf4\u660e |\r\n|:---- |:---- |:--- |\r\n| reason | str | \u5378\u8f7d\u539f\u56e0 |\r\n\r\n##### \u8fd4\u56de\r\n\r\nNone\r\n\r\n#### <span style=\"color:#4CAF50\">| HANDLE_ERROR </span> \r\n\r\n\u5f53\u6a21\u5757\u53d1\u751f\u5f02\u5e38\u65f6\u7684\u5904\u7406\u51fd\u6570\r\n\r\n```python\r\n@abstractmethod\r\ndef handle_error(self, error)\r\n```\r\n\r\n##### \u53c2\u6570\r\n\r\n| \u53c2\u6570 | \u7c7b\u578b | \u8bf4\u660e |\r\n|:---- |:---- |:--- |\r\n| error | str | \u5f02\u5e38\u4fe1\u606f |\r\n\r\n##### \u8fd4\u56de\r\n\r\nNone\r\n\r\n### \u6570\u636e\u7ed3\u6784\r\n\r\n#### NCOS_Ready\r\n\r\n```JSON\r\n{\r\n  \"slots\": []\r\n}\r\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "",
    "version": "0.0.15",
    "project_urls": {
        "Homepage": "https://gitee.com/zwsjz/carbot-module-lib"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8dbf06a5cfaec8b974edc9cd615074e88d759102f50b1703cef63accfbbbcfad",
                "md5": "bb801a1c6f62395d7242050c63c33596",
                "sha256": "c436d87a868e5f88758dd7bdf31ff092d2f66c912708792a7fbcc6517c46c1fe"
            },
            "downloads": -1,
            "filename": "pyncos_module-0.0.15-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "bb801a1c6f62395d7242050c63c33596",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 8284,
            "upload_time": "2023-08-27T04:11:54",
            "upload_time_iso_8601": "2023-08-27T04:11:54.420688Z",
            "url": "https://files.pythonhosted.org/packages/8d/bf/06a5cfaec8b974edc9cd615074e88d759102f50b1703cef63accfbbbcfad/pyncos_module-0.0.15-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2d5456df3719fe2632da55327468bf835b0f71a84246ef42bf0f528dc0d2e830",
                "md5": "9bde645bc7b71e0aa17a19f98f7a8ce8",
                "sha256": "70d823d995edbcd9750afd2c0a7cfccf44426be8967ccdb1377b3f2fee498d7c"
            },
            "downloads": -1,
            "filename": "pyncos-module-0.0.15.tar.gz",
            "has_sig": false,
            "md5_digest": "9bde645bc7b71e0aa17a19f98f7a8ce8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 8424,
            "upload_time": "2023-08-27T04:11:56",
            "upload_time_iso_8601": "2023-08-27T04:11:56.016647Z",
            "url": "https://files.pythonhosted.org/packages/2d/54/56df3719fe2632da55327468bf835b0f71a84246ef42bf0f528dc0d2e830/pyncos-module-0.0.15.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-27 04:11:56",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "pyncos-module"
}
        
Elapsed time: 0.11219s