乐山物联网restful api包装器
LeshanRestA的Python项目详细描述
乐山饭店
乐山物联网的restful库包装。
安装
使用pip安装pip install LeshanRestAPI
开始
查找要与之交互的乐山客户端的URL。在leshan website
首先导入库并实例化一个新的client()类,传入url。如果这是您第一次连接到此客户端,则将提取HTML并将其缓存在此库的安装目录中的cached_clients文件夹中。将来的连接将使用这个json缓存来避免从客户端网页提取html的耗时过程。如果网页已从缓存中更改,请为client()的实例化提供参数refresh=true。
LeshanRestapi使用客户机对象的JSON表示,并在此字典中搜索用户提供的资源的匹配项。如果客户端网页具有多个同名资源,则用户可以提供其他参数实例或对象。
示例
from LeshanRestAPI import Client
runner = Client('https://leshan.eclipse.org/#/clients/358185090000024')
print(runner.read("Lifetime"))
runner.observe("Lifetime")
runner.execute("Update")
runner.discover("Lifetime")
方法
可用的方法是
read
write
observe
discover
excecute
AssertRead
这些方法按顺序接受以下输入:resource,object_=None,instance_=None,timeout=TIMEOUT
write需要一个附加参数:texttext,resource,object_None,instance=None,timeout=TIMEOUT
其他详细信息
用户不需要输入对象的所有详细信息就可以找到它。在大多数情况下,资源名是足够的。只有当存在多个资源时,用户才需要提供其他信息,如实例或对象。请注意,在示例2和示例3中,可以在object_u变量中重载实例。 下面的示例在这个client
read("Lifetime")
read("Lifetime",0) #search resource Lifetime on instance 0 with object not specified
read("Lifetime","0") #search resource Lifetime on instance 0 with object not specified
read("Lifetime",None,0) #search resource Lifetime on instance 0 with object not specified
read("Lifetime","LwM2M Server") #search resource LifeTime on Object LwM2M Server with instance not specified
read("Lifetime","LwM2M Server",0) #search resource LifeTime on Object LwM2M Server on instance 0
因为“生命周期”资源在这个客户端上只存在一次。用户可以使用上面的任何一个来读取它。
故障排除
如果你不能操作资源。尝试直接通过资源的webportal对其进行操作。通常情况下,资源不允许使用方法或资源不可用。
更多关于leshan restful api的细节见here