物联网平台-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协议。
![]()

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

所有评论(0)