IoTAgent-LoRaWAN 显然没有按预期工作

IoTAgent-LoRaWAN is apparently not working as expected

我正在尝试使用 TTN 凭证配置 IoTAgent-LoRaWAN,我正在关注 the official docs,这是我的 POST 请求:

{
  "devices": [
    {
      "device_id": "{{node}}",
      "entity_name": "LORA-N-0",
      "entity_type": "LoraDevice",
      "timezone": "Europe/Madrid",
      "attributes": [
        {
          "object_id": "potVal",
          "name": "Pot_Value",
          "type": "Number"
        }
      ],
      "internal_attributes": {
        "lorawan": {
          "application_server": {
            "host": "eu.thethings.network",
            "username": "{{TTN_app_id}}",
            "password": "{{TTN_app_pw}}",
            "provider": "TTN"
          },
          "dev_eui": "{{TTN_dev_eui}}",
          "app_eui": "{{TTN_app_eui}}",
          "application_id": "{{TTN_app_id}}",
          "application_key": "{{TTN_app_skey}}"
        }
      }
    }
  ]
}

显然,我正在使用 Postman 来管理集合中的所有这些 HTTP 请求,并且我已经设置了一些环境变量:

{{node}} -> 设备 ID node_0

{{TTN_app_id}} -> 我选择的应用程序 ID dendrometer

{{TTN_app_pw}} -> 如图所示的应用程序访问密钥(可以在与应用程序概述相同的视图中找到;https://console.thethingsnetwork.org/applications/<application_id>

{{TTN_dev_eui}}{{TTN_app_eui}} 也显示在下图中(关于设备;我认为这些不是敏感信息,因为 TTN 没有隐藏它们,那是因为我发布了图片)

{{TTN_app_skey}} -> Application Session Key也如下图所示(最后一张)

重点是...一旦我使用该请求配置了 IoTAgent,docker-compose logs -f iot-agent 就会显示以下错误:

fiware-iot-agent | {"timestamp":"2020-06-23T11:45:53.689Z","level":"info","message":"New message in topic"}
fiware-iot-agent | {"timestamp":"2020-06-23T11:45:53.690Z","level":"info","message":"IOTA provisioned devices:"}
fiware-iot-agent | {"timestamp":"2020-06-23T11:45:53.691Z","level":"info","message":"Decoding CaynneLPP message:+XQ="}
fiware-iot-agent | {"timestamp":"2020-06-23T11:45:53.691Z","level":"error","message":"Error decoding CaynneLPP message:Error: Invalid CayennLpp buffer size"}
fiware-iot-agent | {"timestamp":"2020-06-23T11:45:53.691Z","level":"error","message":"Could not cast message to NGSI"}

所以我认为有些地方不能正常工作。那是我的 docker-compose.yml,顺便说一句 http://ix.io/2pWd

但是我不认为问题是由 docker 引起的,显然所有容器都按预期工作,因为我可以请求它们的版本并且我没有在日志中看到错误消息。

另外...我觉得 the docs 不完整,我想要更多信息,关于如何使用 OrionCB (?) 订阅这些配置的设备或删除它们(文档中没有显示,尽管只是对正确 URL 的 DELETE 请求。)

无论如何...我做错了什么?谢谢大家

编辑:我觉得 IoTAgent 本身有问题,以下错误消息中有错字:

fiware-iot-agent | {"timestamp":"2020-06-23T11:45:53.691Z","level":"info","message":"Decoding CaynneLPP message:+XQ="}
fiware-iot-agent | {"timestamp":"2020-06-23T11:45:53.691Z","level":"error","message":"Error decoding CaynneLPP message:Error: Invalid CayennLpp buffer size"}

因为它不是 CaynneLPP,而是 CayenneLPP。我也打开了 an issue in its GitHub repo,但我不希望他们很快回复。我真的觉得这个项目已经被放弃了。

这显然是编码问题,我使用的是 arduinio-lmic 库建议的编码方法,但 FIWARE 确实在 CayenneLPP 数据模型下工作。所以我要尝试替换那个编码方法。

谢谢大家,特别感谢@arjan