FIWARE-TTN IoT-代理

时间:2019-09-15 13:56:41

标签: docker docker-compose

我正在尝试使IONA-Broker与IoTA-LoRa一起运行。不幸的是,尝试将设备添加到代理时,我收到一条错误消息。

我使用以下方法来使用TheThingsNetwork:https://fiware-lorawan.readthedocs.io/en/latest/users_manual/index.html#the-things-network-ttn

有人让它运行吗?我总是得到错误: 无法读取未定义的属性'findOne'。

有解决任何想法吗?

Payload and Error-Message

很遗憾,重新启动IoTA无效。

这是我的Docker组成文件:

不幸的是,它对我不起作用。在我发布我的Docker-compose文件之后:

version: "3.1
services:

mongodb:
    image: mongo:latest
    hostname: mongo-db
    container_name: db-mongo
    ports:
        - "27017:27017"
    volumes:
        - /mnt/docker/mongodb:/data

orion:
    image: fiware/orion
    hostname: orion
    container_name: fiware-orion
    depends_on:
        - mongodb
    expose:
        - "1026"
    ports:
        - "1026:1026"
    command: -dbhost mongodb

iot-agent:
    image: ioeari/iotagent-lora
    hostname: iot-agent
    container_name: fiware-iot-agent
    depends_on:
        - mongodb
    expose:
        - "4041"
    ports:
        - "4041:4041"
    environment:
        - "IOTA_CB_HOST=orion"
        - "IOTA_CB_PORT=1026"
        - "IOTA_NORTH_PORT=4041"
        - "IOTA_REGISTRY_TYPE=mongodb"
        - "IOTA_MONGO_HOST=mongo-db"
        - "IOTA_MONGO_PORT=27017"
        - "IOTA_MONGO_DB=iotagent-lorawan"
        - "IOTA_PROVIDER_URL=http://iot-agent:4041"

我尝试添加设备,如上面链接的FIWARE-HowTo中所述。

IoTA通常正在运行。呼叫:http://myhost:4041/iot/about工作正常。但是用它操作设备总是会失败。

这是完整的错误消息:

HTTP / 1.1 500内部服务器错误 X-Powered-By:快递 Fiware-相关器:c430da57-9b39-4ef1-a7e7-f27f2e6b2113 内容类型:application / json;字符集= utf-8 内容长度:76 ETag:W /“ 4c-Mk5iR3 / t76SWs53TC2DG + 2Oquj0” 日期:周二,2019年9月17日08:14:03 GMT 连接:关闭

{“名称”:“ TypeError”,“消息”:“无法读取未定义的属性'findOne'”}

2 个答案:

答案 0 :(得分:0)

由于物联网代理与MongoDB之间的同步问题,通常在FIWARE环境设置中出现错误Cannot read property 'findOne' of undefined

在我们的案例中,我们也多次遇到此问题,其想法是先启动MongoDB,然后再启动IoT Agent,并且如果重新启动MongoDB,有时我们必须在MongoDB之后再次重新启动IoT Agent。

答案 1 :(得分:0)

该错误消息指示Mongo-DB问题,但我认为这可能与Docker有关,特别是映像版本控制问题。

mongodb:
    image: mongo:latest

orion:
    image: fiware/orion

iot-agent:
    image: ioeari/iotagent-lora

在每种情况下,您都显式或隐式地使用尖端的最新 Docker映像,例如,在mongo-db情况下,当前为mongo:4.2.0,也许是其他原因昨天,自从LoRaWAN IoT Agent上次更新以来,也许发生了重大变化。

最好修复为使用FIWARE_7.7.1 release时使用的通用构建集:

  • fiware/orion:2.2.0
  • mongo:3.6
  • fiware/iotagent-lorawan:1.2.3

然后再次尝试查看Mongo-DB的行为是否更好。

  

注意:ioeari/iotagent-lora似乎缺少版本标签,但最新版本对应于bff2c15d,它是发行版1.2.1,但尚未在其中复制FIWARE帐户。可以肯定的是,从源代码构建自己的资源可能会更好。

第二点-您的"IOTA_MONGO_HOST=mongo-db"和Orion连接命令command: -dbhost mongodb不匹配,请尝试以下操作:

version: "3.1"

services:
    iot-agent:
        image: fiware/iotagent-lorawan:1.2.2
        hostname: iot-agent
        container_name: fiware-iot-agent
        depends_on:
            - mongo-db
        expose:
            - "4041"
        ports:
            - "4041:4041"
        environment:
            - "IOTA_CB_HOST=orion"
            - "IOTA_CB_PORT=1026"
            - "IOTA_NORTH_PORT=4041"
            - "IOTA_REGISTRY_TYPE=mongodb"
            - "IOTA_MONGO_HOST=mongo-db"
            - "IOTA_MONGO_PORT=27017"
            - "IOTA_MONGO_DB=iotagent-lorawan"
            - "IOTA_PROVIDER_URL=http://iot-agent:4041"
            - IOTA_LOG_LEVEL=DEBUG # The log level of the IoT Agent

    mongo-db:
        image: mongo:3.6
        hostname: mongo-db
        container_name: db-mongo
        expose:
            - "27017"
        ports:
            - "27017:27017"
        command: --bind_ip_all --smallfiles
        volumes:
            - mongo-db:/data

    orion:
        image: fiware/orion
        hostname: orion
        container_name: fiware-orion
        depends_on:
            - mongo-db
        expose:
            - "1026"
        ports:
            - "1026:1026"
        command: -dbhost mongo-db

volumes:
    mongo-db: ~

一个或其他mongo-db连接失败,这将导致猫鼬的指针为空。