jetlinks

一个部分开源的平台,分社区版和企业版;根据现在的架构,企业版只是一些模块需要付费,社区版的代码和企业版是同步的。所以使用社区版没有什么影响的。只是需要其它功能需要自己开发。

希望此篇能够让大家快速上手。

官网:JetLinks 物联网平台

源码

官网上有源码地址,在github上面,Springboot开发,虽然前后端分离,但是后端打包了前端了,可以选择是否启用前端。前端代码有独立的仓库,也开源了。所以平台源码分前后端的。

文档

官网有文档,是在线版的,已经很详细了。不多介绍。文档里面有开发文档目录,会独立跳转。

前后端开发都有介绍,需要说明的是文档里面有一章开发规范,很有用,应该学习。

部署学习

官网文档都有,这里docker方式自己文档了解,我还是说一下源码部署的注意点。

前端

如果你想通过源码部署前端看看,那需要注意一下,这个文档有点出入,开始我都没有成功,只说注意项(自己的经验,不一定对)。

从git拉取,用http不成功,需要用ssh。开始我用 :

git clone https://github.com/jetlinks/jetlinks-ui-vue.git

一直不成功,不是代码拉取不了,而是不能拉取完成所有代码,即使显示拉取了也部署不了,一定要完全按照里面的readme操作,一点都不能发挥。最后按照说明使用:

git clone git@github.com:jetlinks/jetlinks-ui-vue.git

源码代码成功部署。

后端

后端代码的拉取也一样,另外需要注意的是,拉取完成代码后,如果后续使用cmd命令行操作都会失败,按照文档用power shell成功了,我也不知道为什么。接下来说说后端部署的一些细节。

最小配置

和官网文档略有出入或者我没有理解文档的部署,我只讲我的部署经验。

1.最小存储配置

  mysql+elasticsearch+redis;

或者

 postgresql+imescaledb+redis;

最开始折腾的时候,还需要根据使用屏蔽elasticsearch或者timescaledb的配置,否则保留elasticsearch配置程序会找不到elasticsearch而报错。但是最新源码可以不屏蔽,也是一个经验吧。

这两种方式我都试过,可以成功。不论使用哪个,别忘记勾选启用。

目前我的部署以 postgresql+imescaledb+redis;

开发

依托平台最主要的开发是协议包开发,开发前见大家先看一次开发文档。协议包其实就是接收的数据进行解析;平台有官方例子,可以直接拉取修改。一般来说物联主要使用mqtt和tcp.

平台提供了各种消息,需要自己了解。

目前协议包,插件包,自定义存储扩展我都尝试了,可以的。可以交流,但是我不能提供源码。

需要说明的是,平台使用的是r2dbc操作数据库;需要了解。没有使用传统的jdbc+mybatis.

功能使用验证

这里不用我的开发,以官网文档操作来验证平台功能方便学习使用。

搭建环境

1.部署运行时,程序自动初始化,创建数据库表

初始化部署时的用户密码:

启动程序,登录

2.拉取官方协议包

在文档中找到协议包开发,找到里面的官网例子,拉取下来编译。

3.按照文档说明,添加产品,添加设备,上传协议包;这里我用的mqtt直连。

4.下载mqtt客户端(mqttx)

5.下载postman.

模拟设备上线

mqt客户端连接协议包中配置的地址,设备显示上线。

验证业务系统交互

1.查询平台存储方式

localhost:8848/device/product/storage/policies

2.查询设备信息

localhost:8848/device/instance/_query

3.发送消息

该例子是模拟发送一个调用设备功能的指令。数字部分是设备id.

localhost:8848/device/instance/1978892860924002304/message

其中有带筛选的批量接口

在文档中操作部分的规则编排有说明。

localhost:8848/device/instance/messages?where=product('1978891736078778368')

模拟设备上报

上报的信息提前在模型中配置好。

1.mqtt连接

发送属性消息

topic:{productId}/{deviceId}/properties/report

显示上报的属性

其它的消息类型和方式推荐一篇博文,我就不详细写了

jetlinks物联网平台学习3:mqtt协议及物模型_jetlinks mqtt-CSDN博客

2.http模拟

模拟发送一个在线消息,这个只是测试接口,真实情况不应该存在

到此结束

其它开发说明

1.文档中部分章节是针对付费的企业版,例如关系数据库,配置数据源,消息转存这些。

2.社区版一些功能采集点,分组,存储这些可以根据文档自己开发或者购买付费模块。

3.推荐一款工具NetAssist.exe.有助于模拟TCP的设备。有modbus协议。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐