Digi设备云的PythonAPI

devicecloud的Python项目详细描述


python设备云库

生成状态覆盖状态代码气候最新版本许可证

一定要查看完整的文档。a也可以使用变更日志。

概述

python device cloud是一个库,为用python编写的客户端提供了对digi设备云(sm)的简单、直观的访问。

这个库包装了设备云的rest api,隐藏了形成http请求的细节,以便访问设备信息、文件数据、流和设备云的其他特性。API可以在这里找到

这个库的主要目标读者是从服务器端与设备云交互的个人或编写工具以帮助设备开发的开发人员。为了提高设备的连接效率,我们建议您首先使用设备云连接器。也就是说,如果认为合适,这个库也可以在设备上使用。

示例

该库提供了对各种功能的访问,但这里有几个简单的示例,让您体验一下api的外观。

fromdevicecloudimportDeviceClouddc=DeviceCloud('user','pass')# show the MAC address of all devices that are currently connected## This is done using Device Cloud DeviceCore functionalityprint"== Connected Devices =="fordeviceindc.devicecore.get_devices():ifdevice.is_connected():printdevice.get_mac()# get the name and current value of all data streams having values# with a floating point type## This is done using Device Cloud stream functionalityforstreamindc.streams.get_streams():ifstream.get_data_type().lower()in('float','double'):print"%s -> %s"%(stream.get_stream_id(),stream.get_current_value())

有关更多示例和详细文档,请确保签出完整的api文档

安装

此库可以使用pip安装。库支持python版本2.7+和3+。

pip install devicecloud

如果已经安装了旧版本的库,则可以通过执行以下操作升级到最新版本

pip install --upgrade devicecloud

支持的功能

最终,我们希望在设备云api和这个库之间实现完全的功能对等。不过,目前情况并非如此。库支持当前功能:

  • 通过设备核心获取基本设备信息
  • 通过设备核心提供和删除设备
  • 列出与开发人员关联的设备冰云账户
  • 与设备云数据流交互
    • 创建流
    • 获取流(按ID)
    • 列出所有流
    • 获取流的元数据
    • 将单个数据点写入流
    • 将多个数据点写入流(同构批量写入)
    • 将多个数据点写入多个流(异类批量写入)
    • 从流中读取数据点(包括对 返回数据集并允许检索数据 卷起等)
  • 支持访问设备云文件数据存储
    • 获取与提供的条件(路径、文件扩展名, 大小等)
    • 将文件写入文件数据存储区
    • 从某个根位置递归遍历filedata目录树
    • 获取文件和目录的完整元数据和内容。
  • 对执行基本SCI命令的低级支持,解析有限 只支持可用服务/命令的子集。
  • 直接调用设备云的web服务的api,包括一些细节 由库处理(请参阅DeviceCloudConnection和"WS"文档)
  • 通过MAC地址、IMEI或设备ID进行设备配置
  • 监视器
  • 创建TCP或HTTP监视器

此时不支持以下功能。对反馈 哪些功能应该是最优先的始终是受欢迎的。

  • 警报
  • 预定操作
  • 异步SCI请求
  • 高级访问许多SCI/RCI操作
  • 设备元数据
  • 设备供应商
  • 文件数据历史记录
  • 网络接口支持
  • Xbee特定支持(XbeeCore)
  • 智能能源API
  • 短信支持
  • SM/UDP支持
  • 运营商信息访问

贡献

我们欢迎以任何形式向图书馆捐款。这可能包括问题报告、错误修复或功能添加。对于问题报告,请针对github项目创建问题。

对于代码更改,可以随意在github上派生项目,并提交一个包含更改的pull请求。有关参与项目的开发人员的其他说明,请参见《开发人员指南》。

许可证

此软件是开源软件。

版权所有(c)2015-2018 Digi International Inc.

此源代码表单受Mozilla 2.0版公共许可条款的约束。如果MPL的副本未随此文件分发,您可以在http://mozilla.org/mpl/2.0/" rel="nofollow">http://mozilla.org/mpl/2.0/上获取一份。

Digi、Digi International、Digi徽标、Digi网站、Digi设备云、Digi Remote Manager和Digi Cloud Connector是Digi International Inc.在美国和全球其他国家/地区的商标或注册商标。所有其他商标均为其各自所有者的财产。

软件和相关技术信息按"原样"提供 无任何明示或暗示的保证,包括但不包括 仅限于适销性保证,适用于特定 目的和非侵权。在任何情况下,Digi或其 子公司应对任何索赔、损害或其他责任负责, 无论是在合同诉讼、侵权诉讼或其他诉讼中,由 属于或关于软件和技术信息的 包括所有源代码和目标代码 使用。你同意不禁止你收到这个 美国和其他国家的软件和技术信息 适用的国家出口管制法律法规 将遵守所有适用的美国和其他ER国家出口 关于使用和出口或再出口 软件和技术信息。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ArrayList中实体对象上的JAVA泛型   带Redis的爪哇芹菜vs单用Redis   java在设备面向横向时隐藏标题栏/通知栏   java JXTreeTable:如何使用ComponentProvider为一列设置渲染器   java创建异常的成本与记录异常的成本相比   java在方法参数中使用setter传递新对象   java在一个类中的方法与另一个类中的方法交互时遇到问题   java如何迭代2个大小相等的ArrayList   Java getDesktop()。open在Windows中工作,但在Mac中不工作   从tomcat切换到jetty后的java“无法启动嵌入式容器”,Spring引导   java如何使用void方法   java如何在解组时在JAXB的ValidationEventHandler中获取节点值?   如何使用Akka Java API创建不响应的TCP接收器   JavaScriptjQuery在java中将记录上传到数据库时的进度条   如何在重新绘制时在java小程序中显示上一个图像