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

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


Edgest软件开发工具包

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

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

目前支持亚马逊aws greengrass边缘计算服务,未来还将增加其他云引擎。

文档

文档可以在这里找到

兼容性

此版本的sdk与python兼容,并在linux系统上运行。

前提条件

该sdk依赖于amazon aws greengrass sdk,因此请参考amazon aws greengrass官方文档安装它。在编写本文时,这意味着要安装以下组件:

  1. 亚马逊aws物联网python sdk:
  2. < > >
    $ sudo pip3 install AWSIoTPythonSDK
    
    1. Amazon AWS IoT Greengrass SDK,将在云端的AWS Web IoT控制台上创建"组"时下载。需要采取进一步措施来设置环境,因此请遵循上述官方文档。 此外,请安装concurrent.futures模块以在后台运行线程池,为侦听器的回调提供服务。
    2. < > >
      $ sudo pip3 install futures
      

      最后但并非最不重要的一点是,运行所提供的应用程序示例需要使用python版本的bluest sdk。

      安装

      可以通过python pip包管理器安装edgest sdk。

      $ sudo pip3 install edge-st-sdk
      

      Bluest软件开发工具包

      bluest sdk是一个多平台库,可用于linux(在android之外ref="https://github.com/stmicroelectronics/bluetsdk_ios" rel="nofollow">ios)允许轻松访问蓝牙低能耗(ble)设备导出的数据,该设备实现了bluest协议

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

      设置应用程序示例

      在运行应用程序示例之前,请按照以下说明准备设备:

      • 示例_ble_aws_1.py示例2.py应用程序示例演示如何处理两个实现_python bluest protocol" rel="nofollow">bluest protocol连接到linux网关,并使它们通过aws greengrass edge计算服务与amazon aws iot云通信。前者显示了"开关"功能的用法,其方式是按下设备上的用户按钮,使另一个设备的LED通过gg_switch_lambda.pylambda函数。后者增加了对环境和惯性特性的处理,从而将来自压力、湿度、温度、加速度计、陀螺仪和磁强计传感器的数据发送到物联网云中。

      应用程序需要设置两个配备BLE连接的设备,例如:

      • 两个开发板
      • 两个x-nuclea-idb05a1蓝牙低能扩展板
      • 将节点交换机设备或节点交换机设备导入到ARM MBED帐户分别针对第一个或第二个应用程序示例,编译并将其闪存到MCU板上
      • 编辑应用程序示例并正确设置"IoT_设备名"和"IoT_设备名"全局变量(您可以使用智能手机应用程序检索MAC地址)
      • 将设备的证书和私钥放入"devices_path"全局变量指定的Linux网关文件夹中
      • 请仔细遵循examples_ble_aws.pdf应用程序手册中描述的说明在云端配置应用程序。

      运行应用程序示例

      要运行应用程序示例,请执行以下步骤:

      1. 按照安装章节中的说明安装edgest sdk。
      2. 安装bluest sdk,如安装章节所述。
      3. 克隆edgest sdk git存储库以下载应用程序示例:
      4. < > >
        $ git clone https://github.com/STMicroelectronics/EdgeSTSDK_Python.git
        
        1. 启动绿草守护程序:
        2. < > >
          $ sudo /greengrass/ggc/core/greengrassd restart
          
          1. 输入"edge_st_examples"文件夹并通过提供端点(即iot主机)和根证书颁发机构证书的路径来运行所需的脚本。您可以在"config.json"配置文件中找到这些信息,该文件在创建Greengrass组时来自Amazon AWS(请参阅Amazon AWS Greengrass官方网站文档),例如:
          2. < > >
            $ 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. 二进制形式的再分配必须再现上述内容 注意,此条件列表和以下免责声明 纪录片和/或随分销提供的其他材料。
            3. 无论是stmicroelectronics的名称还是它的名称 贡献者可用于支持或推广来自 此软件未经事先书面许可。
            4. < > >

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

              欢迎加入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以找到输出