FIWARE - 物联网代理 - Orion 数据

FIWARE - IoT Agent - Data for Orion

我已经在我的机器上安装了 FIWARE (Ubuntu 18.04),我目前正在尝试使用 IoT 代理,使用 HTTPBindings.js(我的数据是通过 LoRaWAN 发送的,我已经更改了 parseData 函数以使用我自己的数据“协议”[id=1&temp=12&humidity=10],这让我来这里向更有经验并可以帮助我的人提出 2 个问题:

 function parseData(req, res, next) {
    let data;
    let error;
    let payload;
    let obj; 
      try {
        let newPayload = new Buffer.from(payload, "base64").toString("ascii");
      var ps = newPayload.split("&").reduce((accum, x) => {
        const kv = x.split("=");
        return { ...accum, ...{ [kv[0]]: kv[1] } };
      }, {});
        data = ulParser.parse(newPayload.replace(/&/g, "|").replace(/=/g, "|"));
       
      } catch (e) {
          error = e;
      }
    
      if (error) {
          next(error);
      } else {
          req.ulPayload = data;
          config.getLogger().debug(context, 'Parsed data: [%j]', data);
          next();
      }
    }
  1. 更改此功能后,我无法在 orion/v2/entities 中获取要更新的数据。有人能解释一下这是如何工作的吗?

  2. 如何在 Wirecloud 中给 usenter code heree 添加代理?我使用 FIWARE 服务器创建了它,但我自己测试时,我没有这个。

提前谢谢你。

配置 NGSI 代理

ngsi-proxy 使用环境变量和 port 配置。

  ngsi-proxy:
    image: fiware/ngsiproxy:1.2.0
    hostname: ngsi-proxy
    container_name: wc-ngsi-proxy
    networks:
      default:
        ipv4_address: 172.18.1.14
    expose:
      - "8100"
    ports:
      - "8100:8100"
    environment:
      - PORT=8100
      - TRUST_PROXY_HEADERS=0

wirecloud 小部件中的 NGSI 代理配置为 http://<host>:<port> - 在本例中为 http://ngsi-proxy:8100

测试 HTTP 绑定连接

传入的 HTTP 措施可以由 IOTA_HTTP_PORT 环境变量控制:

iot-agent:
    image: fiware/iotagent-ul:${ULTRALIGHT_VERSION}
    hostname: iot-agent
    container_name: fiware-iot-agent
    depends_on:
      - mongo-db
      - orion
    networks:
      - default
    ports:
      - "4041:4041" 
      - "7896:7896"
    expose:
      - "7896"
    environment:
..etc
      - IOTA_NORTH_PORT=4041
      - IOTA_LOG_LEVEL=DEBUG 
      - IOTA_HTTP_PORT=7896
      - IOTA_PROVIDER_URL=http://iot-agent:4041

如果您加强调试并公开相关端口,您应该能够将测量直接发送到您的自定义 IoT 代理并看到某种响应(可能是错误)- 这有助于追踪您的编码问题.

您始终可以向自定义 IoT 代理添加额外的调试日志记录,以查看转换的工作情况。