martinhej / robopoint
robopoint 是简单设备连接到 robocloud 的网关。
Requires
- php: ^7.1.3
- ext-iconv: *
- aws/aws-sdk-php: ^3.52
- friendsofsymfony/rest-bundle: ^2.3
- martinhej/robocloud: @dev
- sensio/framework-extra-bundle: ^5.1
- symfony/asset: ^4.0
- symfony/console: ^4.0
- symfony/debug-pack: *
- symfony/expression-language: ^4.0
- symfony/flex: ^1.0
- symfony/form: ^4.0
- symfony/framework-bundle: ^4.0
- symfony/lts: ^4@dev
- symfony/monolog-bundle: ^3.1
- symfony/orm-pack: *
- symfony/process: ^4.0
- symfony/security-bundle: ^4.0
- symfony/serializer-pack: ^1.0
- symfony/swiftmailer-bundle: ^3.1
- symfony/twig-bundle: ^4.0
- symfony/validator: ^4.0
- symfony/web-link: ^4.0
- symfony/webpack-encore-pack: *
- symfony/yaml: ^4.0
Requires (Dev)
- symfony/browser-kit: ^4.0
- symfony/css-selector: ^4.0
- symfony/dotenv: ^4.0
- symfony/maker-bundle: ^1.0
- symfony/phpunit-bridge: ^4.0
- symfony/profiler-pack: *
- symfony/web-server-bundle: ^4.0
Conflicts
This package is not auto-updated.
Last update: 2024-09-29 05:15:00 UTC
README
正如标题所示,这个网络应用程序的目的是为了提供更方便的设备访问 robocloud,对于直接交互过于困难的设备。以下是一些具体的例子
- 基于 ESP 芯片的简单单元正在向 robocloud 发送气象测量数据以供进一步处理。
- 跟随线条的机器人鼠标正在寻找伙伴以获得帮助找到丢失的线条。
- 两个迷宫求解器想要分享通过迷宫的最短路径的信息。
安装
-
请首先阅读 robocloud README.md 文件(https://github.com/martinhej/robocloud/blob/master/README.md)以了解基础知识。
-
在您的 symfony 项目中运行
composer require martinhej/robopoint
-
将
robopoint.yaml.dist复制到robopoint.yaml。您也可以将文件的副本移动到所需的packages目录中,以处理特定环境配置。 -
在处理 Kinesis 特定设置(以及在您打算将消息存储在 DynamoDB 表中时 DynamoDB)后,请确保
message_schema_dir和recovery_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 读取您刚刚发送的消息。
响应包含 messages 和 lag。其中 lag 是相对于流中最新消息的微秒延迟。