连接的无功电子设备。
cred-server的Python项目详细描述
cred
===
**cred**(连接的无功电子设备),使您能够连接您的
电子设备,以便它们能够相互通信
,并对网络中发生的事件作出反应。
在客厅里。如果连接了灯开关,然后打开它,它将发送一个事件,如:恒温器将订阅的
``json
{
"设备":"灯"
"位置":"客厅"
"操作":"切换"
"值":"开"
}
```
。然后,服务器会在事件发生时将其传输到恒温器,恒温器也会相应地工作,例如调高房间的温度,因为它现在最有可能被占用。
usage
==
只需使用pip安装,添加配置并运行它。
1.`$pip安装cred服务器`
3。`$cred server`
,并使用curl测试api:)
生成api密钥
==
您可以使用命令行实用程序"cred gen"生成api密钥。确保
它使用与服务器相同的配置。有三种不同的权限级别,
|除了api键之外,所有get都可以
有关如何使用该程序的详细信息,请参见"cred gen--help"。
机翼顺序:
1。本地目录
2。用户主目录
3。用户应用程序目录
4。系统应用程序目录
搜索的文件名为credrc for 1.,3。4。CREDRC和2.如果没有找到,它将使用默认配置。
sqlite3数据库的本地设置示例配置:
``yaml
ssl:false
approt:'127.0.0.1'
主机:'*'
端口:5000
计划程序:false
计划周期:30
pingtimeout:240
数据库:
类型:'sqlite3'
用户:'
密码:'
主机:'
端口:'
数据库:'cred server.db'
```````
或使用postgresql,
``yaml
ssl:false
批准:'127.0.0.1'
主机:'*'
端口:5000
调度程序:false
调度周期:30
pingtime输出:240
数据库:
类型:'postgresql'
用户:'scott'
密码:'tiger'
主机:'localhost'
端口:'5432'
数据库:'mydatabase'
`````
api
==
url端点及其功能描述如下,
|方法函数
----------------
`/auth`获取验证客户端并返回会话密钥
`/events`获取返回所有事件的ID,按ID降序排列|
`/events` post创建与发布它的客户关联的新事件
`/events/<;int>;` get返回特定事件的完整信息
`/clients` get返回重新激活
`/clients/me`获取返回有关客户端本身的信息
`/clients/<;int>;`获取返回有关特定客户端的信息
`/clients/<;int>;/events`获取返回来自e client
`/clients/<;int>;/subscribed events ` get返回客户端订阅的所有事件的ID
所有get的issions和所有post和get的write。
/<;int>;` get返回有关特定API密钥的信息
这些资源是特殊的,需要管理员权限。
以下参数在对以下资源使用get
请求时起作用:events和/clients、
/clients/<;int>;/events、/clients/<;int>;/subscribedevents和/apikeys。
/>|` full=<;bool>;`返回完整信息,而不是只返回id
` before=<;int>;`返回小于
` after=<;int>;`返回大于
` limit=<;int>;`将项目数限制为<;int>;items
|` offset=<;int>;`跳过<;int>;在获取
full=true&limit=10&offset=10`,
将从10个最新事件之后开始,提取10个事件的完整信息。如果您希望能够提取所有事件并对其进行分页或类似的操作,则此功能非常有用。要进入下一页,您需要添加
参数`&from=`和返回的第一个id,然后再增加10个`/clients/<;int>;/事件之类的参数。full=true`可用于为客户端订阅的新事件拉取完整信息。
使用'after=<;int>;'参数,服务器现在不需要跟踪上次拉取客户端时的
,因为客户端可以控制它自己。举个例子,id=145的客户机正在执行第一系列请求:
1。客户端请求`/clients/145/subscribedevents?全=真&极限=10`
2。一个带有事件列表的响应返回,最新的是id=288
3。客户端请求`/clients/145/subscribedevents?from=true&after=288`
4。具有id>;288的所有事件的响应将返回
等。使服务器上保持的状态最小化。如果步骤2。没有生成
结果,客户机将设置"after=0",这仍然只提供新事件。
/en/latest/core/engines.html"sqlalchemy engines")(如sqlite3,
postgresql,postgresql+psycopg2等)。
frontend
===
您可以查看[cred web](https://github.com/technix/cred-web"cred web repository")以获得到api服务器的纯javascript前端。它显示活动客户端和所有即将到来的事件。
clients
==
要轻松创建连接到api服务器的客户端,您可以在[cred client]查看客户端库(https://github.com/technix/cred-client"cred client repository")。
development
=
运行:
1.`$git clone git@github.com:technix/cred-server.git&;cd cred server`
2.`$virtualenv env&;source env/bin/激活`
3。`$pip install-r requirements.txt `
4.安装-r requirements.txt。使用"nosetests"和"watch"运行测试(检测文件更改)
或一行代码,
``bash
$git clone git@github.com:technix/cred-server.git&;cd cred server&;virtualenv env&;source env/bin/activate&;pip install-r requirements.txt
===
**cred**(连接的无功电子设备),使您能够连接您的
电子设备,以便它们能够相互通信
,并对网络中发生的事件作出反应。
在客厅里。如果连接了灯开关,然后打开它,它将发送一个事件,如:恒温器将订阅的
``json
{
"设备":"灯"
"位置":"客厅"
"操作":"切换"
"值":"开"
}
```
。然后,服务器会在事件发生时将其传输到恒温器,恒温器也会相应地工作,例如调高房间的温度,因为它现在最有可能被占用。
usage
==
只需使用pip安装,添加配置并运行它。
1.`$pip安装cred服务器`
3。`$cred server`
,并使用curl测试api:)
生成api密钥
==
您可以使用命令行实用程序"cred gen"生成api密钥。确保
它使用与服务器相同的配置。有三种不同的权限级别,
|除了api键之外,所有get都可以
有关如何使用该程序的详细信息,请参见"cred gen--help"。
机翼顺序:
1。本地目录
2。用户主目录
3。用户应用程序目录
4。系统应用程序目录
搜索的文件名为credrc for 1.,3。4。CREDRC和2.如果没有找到,它将使用默认配置。
sqlite3数据库的本地设置示例配置:
``yaml
ssl:false
approt:'127.0.0.1'
主机:'*'
端口:5000
计划程序:false
计划周期:30
pingtimeout:240
数据库:
类型:'sqlite3'
用户:'
密码:'
主机:'
端口:'
数据库:'cred server.db'
```````
或使用postgresql,
``yaml
ssl:false
批准:'127.0.0.1'
主机:'*'
端口:5000
调度程序:false
调度周期:30
pingtime输出:240
数据库:
类型:'postgresql'
用户:'scott'
密码:'tiger'
主机:'localhost'
端口:'5432'
数据库:'mydatabase'
`````
api
==
url端点及其功能描述如下,
|方法函数
----------------
`/auth`获取验证客户端并返回会话密钥
`/events`获取返回所有事件的ID,按ID降序排列|
`/events` post创建与发布它的客户关联的新事件
`/events/<;int>;` get返回特定事件的完整信息
`/clients` get返回重新激活
`/clients/me`获取返回有关客户端本身的信息
`/clients/<;int>;`获取返回有关特定客户端的信息
`/clients/<;int>;/events`获取返回来自e client
`/clients/<;int>;/subscribed events ` get返回客户端订阅的所有事件的ID
所有get的issions和所有post和get的write。
/<;int>;` get返回有关特定API密钥的信息
这些资源是特殊的,需要管理员权限。
以下参数在对以下资源使用get
请求时起作用:events和/clients、
/clients/<;int>;/events、/clients/<;int>;/subscribedevents和/apikeys。
/>|` full=<;bool>;`返回完整信息,而不是只返回id
` before=<;int>;`返回小于
` after=<;int>;`返回大于
` limit=<;int>;`将项目数限制为<;int>;items
|` offset=<;int>;`跳过<;int>;在获取
full=true&limit=10&offset=10`,
将从10个最新事件之后开始,提取10个事件的完整信息。如果您希望能够提取所有事件并对其进行分页或类似的操作,则此功能非常有用。要进入下一页,您需要添加
参数`&from=`和返回的第一个id,然后再增加10个`/clients/<;int>;/事件之类的参数。full=true`可用于为客户端订阅的新事件拉取完整信息。
使用'after=<;int>;'参数,服务器现在不需要跟踪上次拉取客户端时的
,因为客户端可以控制它自己。举个例子,id=145的客户机正在执行第一系列请求:
1。客户端请求`/clients/145/subscribedevents?全=真&极限=10`
2。一个带有事件列表的响应返回,最新的是id=288
3。客户端请求`/clients/145/subscribedevents?from=true&after=288`
4。具有id>;288的所有事件的响应将返回
等。使服务器上保持的状态最小化。如果步骤2。没有生成
结果,客户机将设置"after=0",这仍然只提供新事件。
/en/latest/core/engines.html"sqlalchemy engines")(如sqlite3,
postgresql,postgresql+psycopg2等)。
frontend
===
您可以查看[cred web](https://github.com/technix/cred-web"cred web repository")以获得到api服务器的纯javascript前端。它显示活动客户端和所有即将到来的事件。
clients
==
要轻松创建连接到api服务器的客户端,您可以在[cred client]查看客户端库(https://github.com/technix/cred-client"cred client repository")。
development
=
运行:
1.`$git clone git@github.com:technix/cred-server.git&;cd cred server`
2.`$virtualenv env&;source env/bin/激活`
3。`$pip install-r requirements.txt `
4.安装-r requirements.txt。使用"nosetests"和"watch"运行测试(检测文件更改)
或一行代码,
``bash
$git clone git@github.com:technix/cred-server.git&;cd cred server&;virtualenv env&;source env/bin/activate&;pip install-r requirements.txt