物联网边缘计算抽象库包。

edge-st-sdk-package的Python项目详细描述


#Edgest软件开发工具包

edgest sdk是一个面向linux网关的物联网边缘计算抽象库。它依靠云平台的边缘sdk在linux网关上本地执行功能并与云同步。

更具体地说,它允许在网关上创建映射到非IP连接设备(例如,通过蓝牙低能耗技术)的"虚拟"设备,以及云端上相应的"阴影"设备。本地计算可以直接在网关上执行,即使在Internet连接断开时,也可以使用为云编写的相同逻辑,一旦Internet连接可用,影子设备将与虚拟设备同步。

目前[amazon aws greengrass](https://aws.amazon.com/it/greengrass/)支持边缘计算服务,未来还将增加其他云引擎。

##文件 文档可在[此处]找到(https://stmicroelectronics.github.io/edgestsdk_python/index.html" rel="nofollow">https://stmicroelectronics.github.io/edgestsdk_python/index.html)。

##相容性 此版本的sdk与[python]兼容(https://www.python.org/" rel="nofollow">https://www.python.org/)3.5,并在linux系统上运行。

##先决条件 sdk依赖于amazon aws greengrass sdk,因此,请参考[Amazon AWS Greengrass官方文档](https://docs.aws.amazon.com/greengrass/latest/developerguide/what-is-gg.html" rel="nofollow">https://docs.aws.amazon.com/greengrass/latest/developerguide/what is gg.html)进行安装。在编写本文时,这意味着要安装以下组件: 1。亚马逊AWS IoT Python软件包: 壳牌 $sudo pip3安装awsiotpythonsdk 2。Amazon AWS IoT Greengrass SDK,将在云端的AWS Web IoT控制台上创建"组"时下载。需要采取进一步措施来设置环境,因此请遵循上述官方文档。 此外,请安装[concurrent.futures]模块(https://docs.python.org/3/library/concurrent.futures.html" rel="nofollow">https://docs.python.org/3/library/concurrent.futures.html)在后台运行线程池,以提供侦听器的回调。 壳牌 $sudo pip3安装期货 最后但并非最不重要的是,运行所提供的应用程序示例需要[Bluest SDK]的Python版本(https://github.com/stmicroelectronics/edgestsdk_python Bluest sdk" rel="nofollow">https://github.com/stmicroelectronics/edgestsdk_python Bluest sdk)。

##安装 可以通过python pip包管理器安装edgest sdk。 壳牌 $sudo pip3安装

##蓝调sdk bluest sdk是一个多平台库,可用于[linux](https://github.com/stmicroelectronics/bluestsdk_python)(超越[android](https://github.com/stmicroelectronics/stmicroelectronics/bluetsdk_android)和[ios](https://github.com/stmicroelectronics/bluetsdk_ios" rel="nofollow">https://github.com/stmicroelectronics/bluetsdk_ios)允许轻松访问蓝牙低能耗(ble)导出的数据。实现[Bluest协议]的设备(https://github.com/stmicroelectronics/bluestsdk嫒python嫒bluest协议" rel="nofollow">https://github.com/stmicroelectronics/bluestsdk嫒python嫒bluest协议)。

需要用python编写的linux版本的sdk,才能让ble设备连接到linux网关。这使得物联网应用程序能够通过bluest sdk将数据流传送到网关,而edgest sdk抽象出在网关和网关上本地执行的边缘计算操作。同步到云上的阴影设备。

##设置应用程序示例 在运行应用程序示例之前,请按照以下说明准备设备: *[example_ble_aws_1.py](https://github.com/stmicroelectronics/edgestsdk_python/blob/master/edge_st_examples/aws/example_ble_aws_1.py)和[示例2.py](https://github.com/stmicroelectronics/edgestsdk_python/blob/master/edge_st_examples/aws/example_ble_aws_2.py" rel="nofollow">https://github.com/stmicroelectronics/edgestsdk_python/blob/master/edge_st_examples/aws/example_ble_aws_2.py)应用程序示例显示如何处理连接到Linux网关的两个实现[Bluest协议]的BLE设备(https://github.com/stmicroelectronics/bluestsdk挈python挈bluest协议" rel="nofollow">https://github.com/stmicroelectronics/bluestsdk挈python挈bluest协议通过AWS Greengrass Edge计算服务向Amazon AWS IoT云提供服务。前者显示了"开关"功能的用法,其方式是按下设备上的用户按钮,使得另一个设备的led通过由[gg_switch_lambda.py]定义的逻辑来切换其状态(https://github.com/stmicroelectronics/edgestsdk_python/blob/master/edge_st_examples/aws/gg_switch_lambda.py)lambda函数。后者增加了对环境和惯性特性的处理,从而将来自压力、湿度、温度、加速计、陀螺仪和磁强计传感器的数据发送到物联网云中。

这些应用程序需要设置两个配备ble连接的设备,例如: *两个[nuclea-f401re](http://www.st.com/content/st_com/en/products/evaluation tools/product evaluation tools/mcu eval tools/stm32 mcu eval tools/stm32 mcu nuclea/nuclea-f401re.html)开发板 *两个[x-nuclea-idb05a1](http://www.st.com/content/st_com/en/products/ecoms/stm32 open development environment/stm32 nuclear expansion boards/stm32 ode connect hw/x-nuclear-idb05a1.html)蓝牙低能扩展板 *导入[节点交换设备](https://os.mbed.com/teams/st/code/node-ble-switch-device/" rel="nofollow">https://os.mbed.com/teams/st/code/node-ble-switch-device/)或[节点传感器设备](https://os.mbed.com/teams/st/code/node-ble_-sensors_-device/)MBED操作系统应用程序分别到第一个或第二个应用程序示例的ARM MBED帐户中,编译并将其闪存到MCU板上 *编辑应用程序示例并正确设置"IoT_设备_x_名称"和"IoT_设备_x_Mac"全局变量(您可以使用智能手机应用程序检索Mac地址) *将设备的证书和私钥放入"devices_path"全局变量指定的Linux网关上的文件夹中 *请仔细遵循[examples_ble_aws.pdf]中描述的说明(https://github.com/stmicroelectronics/edgestsdk_python/blob/master/edge_st_examples/aws/examples_ble_aws.pdf)在云端配置应用程序的应用程序手册。

##运行应用程序示例 到汝n应用示例请遵循以下步骤: 1。按照[安装]一章中的说明安装edgest sdk(https://github.com/stmicroelectronics/edgestsdk_python installation" rel="nofollow">https://github.com/stmicroelectronics/edgestsdk_python installation)。 2。安装bluest sdk,如[安装]一章中所述(https://github.com/stmicroelectronics/bluestsdk掼python掼installation" rel="nofollow">https://github.com/stmicroelectronics/bluestsdk掼python掼installation)。 三。克隆edgest sdk git存储库以下载应用程序示例: 壳牌 $git clonehttps://github.com/stmicroelectronics/edgestsdk_python.git 4。启动绿草守护程序: 壳牌 $sudo/greengrass/ggc/core/greengrassd重启 5。输入"edge_st_examples"文件夹并通过提供端点(即iot主机)和根证书颁发机构证书的路径来运行所需的脚本。您可以在"config.json"配置文件中找到这些信息,该文件在创建greengrass组时来自Amazon AWS(请参阅[Amazon AWS greengrass官方文档](https://docs.aws.amazon.com/greengrass/latest/developerguide/what is g g.html)),例如: 壳牌 $sudo python3 example_ble_aws_x.py-e<;iot_host_prefix>;.iot.<;region>;.amazonaws.com-r/greengrass/certs/root.ca.pem

##许可证 版权所有(c)2019 STMicroelectronics

以源和二进制形式重新分配和使用,有无 如果满足以下条件,则允许修改: 1。重新发布源代码必须保留上述版权声明, 此条件列表和以下免责声明。 2。二进制形式的再分配必须再现上述内容 注意,此条件列表和以下免责声明 分发时提供的文件和/或其他材料。 三。无论是stmicroelectronics的名称还是它的名称 贡献者可用于支持或推广来自 此软件未经事先书面许可。

本软件由版权所有者和贡献者"按原样"提供。 以及任何明示或默示保证,包括但不限于 适销性和特定用途适用性的默示保证 不承认。在任何情况下,版权持有人或贡献者不得 对任何直接、间接、附带、特殊、惩戒性或 间接损害(包括但不限于 替代品或服务;使用、数据或利润损失;或业务 无论是何种原因造成的,根据任何责任理论,无论 合同、严格责任或侵权行为(包括疏忽或其他) 以任何方式使用本软件,即使已通知 可能造成这种损坏。

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

推荐PyPI第三方库


热门话题
如何直接从数据库中的子目录获取文件列表的路径。JAR JAVA   html编辑行时如何预设单选按钮的值(java中的struct framework)?   JavaSpringMaven项目   java Replace chars而不使用String Replace()方法   java将文件从jFileChooser移动到src内的文件夹   如果单击按钮,java将显示活动图像   java试图得到一个按钮来显示一个测试学习,没有红旗错误,只是混乱?   Java无法从命令行“找不到我的源文件”正确编译   java请告诉我我的代码出了什么问题?!!需要将2D阵列转换为并排1D阵列   JavaSpring3拦截器错误:类型元素类型“bean”后面必须跟属性规范“>”或“/>”   java处理控制p5使用过多内存   java中的字符串比较性能   java Hadoop抱怨不存在匿名类(NoClassDefFoundError)   java Android如何为后台线程实现LoginDialog?   java随机数生成与数组   文本字段中的java随机数   从Java中的多个类继承(可能不使用接口)   java无法更改Glassfish v3 J2EE应用程序上的区域设置   javascript如何通过传递不同的值x来计算表达式x+3x4以找到输出