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

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

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

官网及驱动下载


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文件导入功能,批量添加;
  • 支持配置文件的备份和回复;


可执行文件运行



下载后解压如下图所示:


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


  • 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. 应用接口
相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
8月前
|
消息中间件 缓存 NoSQL
Redis各类数据结构详细介绍及其在Go语言Gin框架下实践应用
这只是利用Go语言和Gin框架与Redis交互最基础部分展示;根据具体业务需求可能需要更复杂查询、事务处理或订阅发布功能实现更多高级特性应用场景。
464 86
|
7月前
|
JavaScript 前端开发 Java
【GoWails】Go做桌面应用开发?本篇文章带你上手Wails框架!一步步带你玩明白前后端双端的数据绑定!
wails是一个可以让你使用Go和Web技术编写桌面应用的项目 可以将它看作Go的快并且轻量级的Electron替代品。可以使用Go的功能,并结合现代化UI完成桌面应用程序的开发
1376 5
|
7月前
|
存储 安全 Java
【Golang】(4)Go里面的指针如何?函数与方法怎么不一样?带你了解Go不同于其他高级语言的语法
结构体可以存储一组不同类型的数据,是一种符合类型。Go抛弃了类与继承,同时也抛弃了构造方法,刻意弱化了面向对象的功能,Go并非是一个传统OOP的语言,但是Go依旧有着OOP的影子,通过结构体和方法也可以模拟出一个类。
375 2
|
7月前
|
开发框架 前端开发 Go
【GoGin】(0)基于Go的WEB开发框架,GO Gin是什么?怎么启动?本文给你答案
Gin:Go语言编写的Web框架,以更好的性能实现类似Martini框架的APInet/http、Beego:开源的高性能Go语言Web框架、Iris:最快的Go语言Web框架,完备的MVC支持。
613 1
|
9月前
|
Cloud Native Go API
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
579 0
|
9月前
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
405 0
|
9月前
|
Cloud Native Java 中间件
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
453 0
|
9月前
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
504 0
|
存储 缓存 安全
Go 语言中的 Sync.Map 详解:并发安全的 Map 实现
`sync.Map` 是 Go 语言中用于并发安全操作的 Map 实现,适用于读多写少的场景。它通过两个底层 Map(`read` 和 `dirty`)实现读写分离,提供高效的读性能。主要方法包括 `Store`、`Load`、`Delete` 等。在大量写入时性能可能下降,需谨慎选择使用场景。
|
存储 负载均衡 监控
如何利用Go语言的高效性、并发支持、简洁性和跨平台性等优势,通过合理设计架构、实现负载均衡、构建容错机制、建立监控体系、优化数据存储及实施服务治理等步骤,打造稳定可靠的服务架构。
在数字化时代,构建高可靠性服务架构至关重要。本文探讨了如何利用Go语言的高效性、并发支持、简洁性和跨平台性等优势,通过合理设计架构、实现负载均衡、构建容错机制、建立监控体系、优化数据存储及实施服务治理等步骤,打造稳定可靠的服务架构。
508 1

热门文章

最新文章