martinhej/robopoint

robopoint 是简单设备连接到 robocloud 的网关。

安装: 0

依赖项: 0

建议者: 0

安全性: 0

星标: 1

关注者: 2

分支: 0

开放问题: 2

类型:项目


README

正如标题所示,这个网络应用程序的目的是为了提供更方便的设备访问 robocloud,对于直接交互过于困难的设备。以下是一些具体的例子

  • 基于 ESP 芯片的简单单元正在向 robocloud 发送气象测量数据以供进一步处理。
  • 跟随线条的机器人鼠标正在寻找伙伴以获得帮助找到丢失的线条。
  • 两个迷宫求解器想要分享通过迷宫的最短路径的信息。

安装

composer require martinhej/robopoint
  • robopoint.yaml.dist 复制到 robopoint.yaml。您也可以将文件的副本移动到所需的 packages 目录中,以处理特定环境配置。

  • 在处理 Kinesis 特定设置(以及在您打算将消息存储在 DynamoDB 表中时 DynamoDB)后,请确保 message_schema_dirrecovery_file 路径设置正确。

  • 部署到您选择的服务器或使用 Symfony 服务器包 bin/console server:run

向流推送消息

目前,可用的端点的唯一参考点是 robopoint\Controller\Api\V1\MessageController 类。REST API 还远远没有达到应有的水平,其初始结构正在开发中。

/messages/ 端点 POST 您的第一条消息到流中。例如,尝试

{
  "messages":
  	[
      {
          "roboId":"robogarden",
          "purpose":"garden.water_pump.start",
          "data":{
              "pumpId":"demo",
              "runTime":"3200"
          }
      }
	]
}

如果收到 200 响应,它应包含消息 ID 和时间

{
"messages": 
    [
        {
            "messageId": "92089bf40a4ed3a623ba6140fa2a520ab77fcb6d",
            "messageTime": "2018-05-30T15:13:21+0000"
        }
    ]
}

读取消息

访问 api/v1/messages/robo1/read-by-purpose/garden.water_pump.start 读取您刚刚发送的消息。

响应包含 messageslag。其中 lag 是相对于流中最新消息的微秒延迟。