推荐一款go语言的开源物联网框架-opengw

推荐一款go语言的开源物联网框架,设计思想不错,值的学习。

在这里插入图片描述

技术交流

QQ群1028704210

官网及驱动下载

http://www.opengw.cn

http://www.opengw.cn/col.jsp?id=104

可执行文件下载

https://gitee.com/my_iot/goAdapter/releases

码云地址

https://gitee.com/my_iot/goAdapter

视频教程

https://www.bilibili.com/video/BV1wg41157m9?from=search&seid=7860625376747338929&spm_id_from=333.337.0.0

背景
框架设计

软件主要分成3层:
在这里插入图片描述

  • 应用接口

用于与上层应用系统进行通信,可以设置定时上报硬件设备数据到物联网平台,或者接收物联网平台下发命令,转发给硬件设备;采用Json等格式数据与上层应用系统通信,对接更简单;

  • 采集接口
  • 用于对硬件设备进行管理,支持对设备数量、设备类型、设备属性的增、删、查、改等操作,同时可以设置定时采集设备的属性并缓存,方便上层应用系统对硬件设备操作;
  • 支持采用Lua脚本实现对设备通信协议的编写,方便灵活;
  • 通信接口

对物理通信接口的封装,比如串口、网络、GPIO等,封装接口后对上提供读取和写入2个接口,方便上层调用;

功能特点
  • 采用golang语言设计,运行效率高,跨平台方便;
  • 内置WebServer,网页配置更方便、更快捷
  • 采用Lua脚本,增加设备类型时不需要重新编码后台代码,更方便灵活;
  • 支持MqttClient,ModbusTCPServer,OPCUaServer等通信,采用JSON格式通信,上层系统对接更快捷;
  • 支持CSV文件导入功能,批量添加;
  • 支持配置文件的备份和回复;
可执行文件运行

在这里插入图片描述

下载后解压如下图所示:

![可执行文件压缩包解压](https://img-blog.csdnimg.cn/direct/a2a62a5442894f0a93cd087ad4638785.png在这里插入图片描述

将所有文件拷贝到硬件中(如果是电脑的,直接运行即可)

  • windows:双击openGW_xx.exe
  • linux系统:./openGW_xx &

然后在浏览器中输入127.0.0.1:8080,注意加上端口,即可正常访问页面

编译运行

1、golang环境搭建及goland安装 大家可以自行百度

2、goland运行

右上角选择编译配置

配置-》运行种类-》选择目录,输出目录选择当前文件夹,即输出文件和webroot等文件在同一级目录

然后在浏览器中输入127.0.0.1:8080,注意加上端口,即可正常访问页面

功能介绍
  1. 通信接口
  2. 采集接口
  3. 应用接口

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/441736.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大语言模型如何充分理解人类自然语言指令

经过海量数据预训练后的语言模型虽然具备了大量的知识,但是由于其训练的目标仅是进行下一个词的预测,此时的模型还不能够理解并遵循人类自然语言的指令。指令微调(Instruction Tuning),是指在已经训练好的语言模型的基础上,通过使…

Linux命令详解——mkdir创建文件夹与touch创建文件

在windows图形化系统中想要通识创建多个文件夹似乎是一件比较困难的事情,但在linux系统下,这将变得简单 mkdir参数,-p,递归创建文件夹 mkdir创建多个文件 touch可以创建文件,以及修改文件时间

政安晨:【深度学习处理实践】(三)—— 处理时间序列的数据准备

在深度学习中,对时间序列的处理主要涉及到以下几个方面: 序列建模:深度学习可以用于对时间序列进行建模。常用的模型包括循环神经网络(Recurrent Neural Networks, RNN)和长短期记忆网络(Long Short-Term M…

防火墙配置实验

配置 配置IPSec FW1 FW3 NAT策略 FW1 FW3 安全策略 FW1 FW3 最后测试

数字音频工作站(DAW)fl studio 21 for mac 21.2.3.3586中文版图文安装教程

随着音乐制作行业的不断发展,越来越多的音乐人和制作人开始使用数字音频工作站(DAW)来创作和制作音乐。其中FL Studio 21是一个备受欢迎的选择,因为它提供了强大的音乐制作工具和易于使用的界面。 然而,一直以来&…

java数据结构与算法刷题-----LeetCode208. 实现 Trie (前缀树)

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 文章目录 解题思路 就是一种数据结构,一般自动补完&#xff0c…

go切片实现原理

近日一直在学习golang,已经产出如下博客一篇 GO闭包实现原理(汇编级讲解) 引言 最近在使用go语言的切片时,出现了一些意料之外的情况,遂查询相关文档学习后写下此篇博客 正文 首先,我们思考,go在通过函数传递一个切片时,是通过引用传递的吗,还是通过值传递的呢(答案将会很…

Axure Cloud如何给每个原型配置私有域名

需求 在原型发布之后,自动给原型生成一个独立访问的域名,类似http://u591bi.axshare.bushrose.cn,应该如何配置呢? 准备事项 已备案域名 如何备案?阿里云备案流程 已安装部署Axure Cloud 如何安装部署,请…

Redis系列之持久化机制RDB和AOF

Redis系列之持久化机制RDB和AOF 文章目录 1. 为什么需要持久化?2. 持久化的方式3. RDB机制3.1 RDB机制介绍3.2 配置RDB3.3 什么时候触发3.4 操作实例3.5 RDB优势和不足 4. AOF机制4.1 什么是AOF机制?4.2 同步机制4.3 重写机制4.4 AOF的优势和不足 混合模…

SQL注入攻击 - update注入

环境准备:构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客 一、MySQL UPDATE语句复习: UPDATE语句用于修改表中的数据,基本形式为:UPDATE 表名称 SET 列名称新值 WHERE 更新条件;语…

SpringCloud Ribbon 负载均衡服务调用

一、前言 接下来是开展一系列的 SpringCloud 的学习之旅,从传统的模块之间调用,一步步的升级为 SpringCloud 模块之间的调用,此篇文章为第三篇,即介绍 Ribbon 负载均衡服务调用 二、概述 2.1 Ribbon 是什么 Spring Cloud Ribbon…

云计算 3月8号 (wordpress的搭建)

项目wordpress 实验目的: 熟悉yum和编译安装操作 锻炼关联性思维,便于以后做项目 nginx 编译安装 1、安装源码包 [rootlinux-server ~]# yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel [rootlinux-server ~]# wget http://nginx.…

PCL不同格式点云读取速度(Binary和ASCII )

首先说明一点:Binary(二进制)格式点云文件进行读取时要比Ascll码格式点云读取时要快的多,尤其是对于大型的点云文件,如几百万、甚至几千万个点云的情况下。 今天遇到了一种情况,在写项目的时候进行点云读取,读取的时候…

3.5作业

课程代码复习&#xff1a; 使用select完成TCP并发服务器&#xff1a; #include<myhead.h> #define SER_IP "192.168.244.140" //服务器IP #define SER_PORT 8888 //服务器端口号int main(int argc, const char *argv[]) {//1、创建用于监听的套接…

6. 虚拟机及Linux安装

虚拟机及Linux安装 进行嵌入式项目开发&#xff0c;第一步就是要建立嵌入式开发环境&#xff0c;主要包括安装 Bootloader 工具、不同平台的交叉编译器&#xff08;如ARM 平台的arm-linux-gcc&#xff09;、内核源码树&#xff08;在需要编译和配置内核时&#xff09;、在调试…

docker学习进阶

一、dockerfile解析 官方文档&#xff1a; Dockerfile reference | Docker Docs 1.1、dockfile是什么&#xff1f; dockerfile是用来构建docker镜像的文本文件&#xff0c;由一条条构建镜像所需的指令和参数构成的脚本。 之前我们介绍过通过具体容器反射构建镜像(docker comm…

第11周,第三期技术动态

大家好&#xff0c;才是真的好。 真没想到&#xff0c;本周是今年第十一周&#xff0c;2024年还有不到三百天就结束了。 今天周五&#xff0c;我们继续介绍与Domino相关产品新闻&#xff0c;以及互联网或其他IT行业动态等。 一、在Windows 10和Windows 11上运行Domino和Trav…

错误和异常之标准异常创建异常

标准异常 表 10.2 列出了所有的 Python 当前的标准异常集,所有的异常都是内建的. 所以它们在脚本启动 前或在互交命令行提示符出现时已经是可用的了. 表10.2 Python内建异常 异常名称描述所有异常的基类 python 解释器请求退出 用户中断执行(通常是输入^C) 常规错误的基类

大模型时代下的自动驾驶研发测试工具链-SimCycle

前言&#xff1a; 最近OpenAI公司的新产品Sora的发布&#xff0c;正式掀起了AI在视频创作相关行业的革新浪潮&#xff0c;AI不再仅限于文本、语音和图像&#xff0c;而直接可以完成视频的生成&#xff0c;这是AI发展历程中的又一座重要的里程碑。AI正在不断席卷着过去与我们息…

仿牛客项目Day02:http、调试、日志、git

http状态码 后端调试 f8&#xff1a;逐行执行 f7&#xff1a;进入语句内部 f9&#xff1a;执行到下一个断点 前端调试 f10&#xff1a;逐行调试 f11&#xff1a;进入语句内部 f8&#xff1a;执行到下一个断点 日志 按照级别开启日志 日志的测试类 比如把application里…