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

news2024/11/17 0:51:46

推荐一款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. 应用接口

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

excel统计分析——重复测量设计

参考资料:生物统计学 裂区设计中的裂区通常是指空间上的裂区,如果对试验指标进行连续测量时,时间也可以作为裂区因素。重复测量设计实际上就是时间裂区设计。进行试验结果的统计分析时,将试验因素作为主区,时间因素作为…

开源模型应用落地-工具使用篇-Spring AI-高阶用法(九)

一、前言 通过“开源模型应用落地-工具使用篇-Spring AI-Function Call(八)-CSDN博客”文章的学习,已经掌握了如何通过Spring AI集成OpenAI以及如何进行function call的调用,现在将进一步学习Spring AI更高阶的用法,如…

计算机设计大赛 深度学习验证码识别 - 机器视觉 python opencv

文章目录 0 前言1 项目简介2 验证码识别步骤2.1 灰度处理&二值化2.2 去除边框2.3 图像降噪2.4 字符切割2.5 识别 3 基于tensorflow的验证码识别3.1 数据集3.2 基于tf的神经网络训练代码 4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 &#x…

AutoDev 自定义 Agent:快速接入内部 AI Agent,构建 IDE 即 AI 辅助研发中心

在开源 AI IDE 插件 AutoDev 的 #51 issue 中,我们设计了 AutoDev 的 AI Agent 能力,半年后我们终于交付了这个功能。 在 AutoDev 1.7.0 中,你将可以接入内部的 AI Agent,并将其无缝与现有的 AI 辅助能力结合在一起。 本文将使用 …

Docker_搭建跨服务器网络通讯(swarm 集群)

本文目录 一、如何搭建docker的跨服务器网络1、在主服务器上初始化docker swarm 集群2、其他服务器节点加入到创建好的集群中3、检验集群是否搭建成功4、创建overlay类型的docker网络 二、如何部署服务1、docker部署2、docker-compose部署 一、如何搭建docker的跨服务器网络 1…

c#递归函数

在 C#中,递归函数是指在函数内部直接或间接调用自身的函数。递归函数在解决一些问题时非常有用,例如遍历树形结构、递归计算等。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks…

springboot252基于Springboot和vue的餐饮管理系统的设计与实现

餐饮管理系统的设计与实现 摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱,出错率高&…

打造经典游戏:HTML5与CSS3实现俄罗斯方块

🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…

移动端精准测试之跨版本覆盖率合并

一,项目简介 在移动端项目测试过程中,尤其是发版前的回归测试阶段,会遇到这样的情况,在测试过程中测试不断地发现问题,开发就进行修改,然后打包测试。而测试完成后呢,业务测试同学想知道整个回归…

Xcode升级到Xcode15.1或15.2之后,无法新建Category和Extension文件,如何解决?

项目场景: Xcode升级到15.1或15.2之后,无法新建Category和Extension文件,并且Xcode不报任何错误 问题描述 Xcode升级到15.1或15.2之后,无法新建Category和Extension文件,并且Xcode不报任何错误。 具体的操作步骤如下…

UDP实现文件的发送、UDP实现全双工的聊天、TCP通信协议

我要成为嵌入式高手之3月7日Linux高编第十七天!! ———————————————————————————— 回顾 重要程序 1、UDP实现文件的发送 发端: #include "head.h"int main(void) {int sockfd 0;struct sockaddr_i…

缩放算法优化步骤详解

添加链接描述 背景 假设数据存放在在unsigned char* m_pData 里面,宽和高分别是:m_nDataWidth m_nDataHeight 给定缩放比例:fXZoom fYZoom,返回缩放后的unsigned char* dataZoom 这里采用最简单的缩放算法即: 根据比…

【C语言】数据类型和变量

前言💞💞 啦啦啦~这里是土土数据结构学习笔记🥳🥳 💥个人主页:大耳朵土土垚的博客 💥 所属专栏:C语言笔记 💥欢迎大家🥳🥳点赞✨收藏&#x1f49…

【Node.js从基础到高级运用】二、搭建开发环境

Node.js入门:搭建开发环境 在上一篇文章中,我们介绍了Node.js的基础概念。现在,我们将进入一个更实际的阶段——搭建Node.js的开发环境。这是每个Node.js开发者旅程中的第一步。接下来,我们将详细讨论如何安装Node.js和npm&#…

将python编写的网站制作成docker镜像并上传到Github Packages上

文章目录 前言Docker安装docker注意事项 创建Dockerfile注意事项 构建 Docker 镜像运行 Docker 镜像 发布到Github Packages坑坑到位申请token的坑docker登录的坑给镜像添加标签的坑docker推送的坑 在Github Packages上查看总结 前言 还记得上一篇《借助ChatGPT使用Python搭建…

借助Aspose.html控件,在 Java 中将 URL 转换为 PDF

如果您正在寻找一种将实时 URL 中的网页另存为 PDF文档的方法,那么您来对地方了。在这篇博文中,我们将学习如何使用 Java 将 URL 转换为 PDF。从实时 URL转换HTML网页可以像任何其他文档一样保存所需的网页以供离线访问。将网页保存为 PDF 格式可以轻松突…

PandasAI—让AI做数据分析

安装 pip install pandasai !pip install --upgrade pandas pandasai 导入依赖项 import pandas as pdfrom pandasai import PandasAIfrom pandasai.llm.openai import OpenAI使用pandas创建一个数据框 df pd.DataFrame({"country": ["United States",…

MKS Type 631C 真空计说明详细内容查看图中目录

MKS Type 631C 真空计说明详细内容查看图中目录

【sw网络监控】通过snmp协议相关的snmp-exporter(收集交换机网络监控数据)+ promethus + grafana

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8…

C++异常处理机制

目录 一,传统C语言处理异常 二,C异常概念 三,使用 1. 自定义异常体系 2. 在函数调用链中异常栈展开匹配原则 3. 异常的重新抛出 四,异常规范 五,异常安全 六,C标准库的异常体系 七,异…