开源物联网平台SagooIoT搭建以及墨道物联MD600边缘网关采集上传

项目选型

观察了全网的开源物联网平台项目,最简单,最容易二次开发的就属以下项目,本文将演示从0搭建一套平台,并结合墨道物联的MD600,MD700系列网关实现数据采集上报。
在这里插入图片描述
在这里插入图片描述

这是IOT平台项目地址: sagooiot

先分析项目特点:

优点

  • 代码清晰,结构简单,完胜各种java开发的平台
  • 组件都是各种简单的常用组件,便于二次开发

缺点

  • 功能不完善,部分功能实现简单,不过本文只需要实现传感器采集上传入库
  • 部分功能性能有待优化,比如数据点入库需要查询的sql次数过多

环境搭建

环境: centos7 虚拟机,开发机 win10 x64

手动安装环境可以参考原项目链接: link

这里我直接采用docker compose安装了,直接上:

version: '3'

services:
  redis:
    image: redis:7.2.5
    container_name: redis
    restart: always
    privileged: true
    logging:  
      driver: "json-file"  
      options:  
        max-size: "500m"  
        max-file: "3"
    ports:
      - "6379:6379"
    command: redis-server --requirepass SuperBird 
    volumes:
      - ./redis/data:/data
    environment:
      - TZ=Asia/Shanghai
  emqx:
    image: emqx/emqx:5.6.1
    container_name: emqx
    restart: always
    user: root
    networks:
      emqx-bridge:
        aliases:
          - node1.superbird.cloud
    #    chown -R 1000:1000 ./emqx
    #    chmod -R 755 ./emqx
    privileged: true
    logging:  
      driver: "json-file"  
      options:  
        max-size: "500m"  
        max-file: "3"
    environment:
      - TZ=Asia/Shanghai
      - "EMQX_NODE_NAME=emqx@node1.superbird.cloud"
    volumes:
      # - $PWD/emqx/etc:/opt/emqx/etc
      # - $PWD/emqx/data:/opt/emqx/data
      - $PWD/emqx/log:/opt/emqx/log
    ports:
      - 1883:1883
      - 1884:1884
      - 8083:8083
      - 8084:8084
      - 8883:8883
      - 18083:18083
  mysql:
    image: mysql:latest
    restart: always
    container_name: mysql
    command: --default-authentication-plugin=mysql_native_password
    volumes:
      - ./mysql:/var/lib/mysql
      - ./conf:/etc/mysql
      - /etc/localtime:/etc/localtime
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: 123456
    ports:
      - "3306:3306"
  tde:
    image: tdengine/tdengine:3.3.0.3
    container_name: tde
    restart: always
    privileged: true
    logging:  
      driver: "json-file"  
      options:  
        max-size: "500m"  
        max-file: "3"
    ports:
      - 6030:6030
      - 6041:6041
      - 6043-6060:6043-6060
      - 6043-6060:6043-6060/udp
    environment:
      TAOS_FQDN: "td-1"
      TAOS_FIRST_EP: "td-1"
    volumes:
      - ./taos/v3/data:/var/lib/taos/
      - ./taos/v3/log:/var/log/taos/
volumes:
  mysql:
  redis:
  activemq:

安装依赖:

docker-compose up -d  redis 
docker-compose up -d  mysql
docker-compose up -d  emqx
docker-compose up -d  tde

安装后 docker ps查一下镜像状态是否运行, docker logs xx 查看对应服务日志,确保三个服务都起来了

配置依赖

  • redis我们在内网运行,一般启用防火墙,可以没有密码
  • mysql 看起来设置你的密码,以上是在创建docker镜像的设置了密码,可以按需改
  • emqx使用 ip:18083端口登录web后台,修改密码。需要注意,设备认证也是通过emq实现,这一块需要用户自己根据emq文档实现

下载代码

后端 git clone https://gitee.com/sagoo-cloud/sagooiot.git
前端 git clone https://gitee.com/sagoo-cloud/sagooiot-ui.git

启动后端

先用goland打开代码工程

  • 设置包管理代理 GOPROXY=https://goproxy.cn
    在这里插入图片描述

  • 同步依赖go mod tidy
    在这里插入图片描述

  • 修改配置,将mainfest/config下面的配置copy一份为config.yaml
    在这里插入图片描述

修改config.yaml 里面的数据库配置成你自己的
在这里插入图片描述
在这里插入图片描述

  • 导入mysql数据,直接在goland里面运行,把sql运行到对应的库里面导入数据
    在这里插入图片描述
    在这里插入图片描述

  • 启动项目,正常输出以下内容,卡主或者报错多半都是数据库设置不对没连上
    在这里插入图片描述

启动前端

进入前端工程, 安装依赖

yarn  
yarn run dev

没有yarn用npm

npm install
npm run dev

在这里插入图片描述

启动后的前端:
在这里插入图片描述

设备接入

添加产品

在这里插入图片描述

添加物模型

在这里插入图片描述

添加设备

在这里插入图片描述

数据上传

配置MD600网关

MQTT链接

在这里插入图片描述

配置Modbus采集

在这里插入图片描述

数据上传

在这里插入图片描述

总结

此平台的搭建较为简单,但是平台功能有部分欠缺,需要有心人自己开发,部分逻辑较为简单,比如的设备的在线状态,通过上传数据来实现的,不是实时的。
验证了MD600系列边缘网关能非常简单的接入此平台,以及各种mqtt json上报的平台,非常适合二次开发。

  • 14
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值