原型产品0.0.1完成,小开心一下:)

原型产品0.0.1开发完成了,总结如下:

1,找通讯网关厂家,给提供了一批通讯网关,各种型号的,有4GRTU、DTU、串口服务器、Lora自组网等设备,都玩了一遍,对设备的工作方式、数据传递等有了具体的体验。结合原来就有的几个电表以及基于modbus的温湿度传感器,硬件ok了。

2,基于mysql创建了几个表:通讯网关、网关通道、电表信息、645协议数据项元数据表、电表单数据项实时数据表、电表实时数据表,录入了几条示例数据。

3,整合netty、springboot、springcloud框架:建了一个eureka-server,管理微服务;建了一个eureka-client,整合netty监听了两个端口,一个是modbus协议,一个是电表645协议,完成了645协议的解析入库,目前已经能够正常工作,实现电表数据的采集入库。

看着自己亲手写的程序在稳定运行着,还是很开心的。中间其实遇到很多问题,有的问题可能卡半天一天。我试着回忆整理部分经验和教训:

1,工程项目里面建一个mybatis-generrator模块,可以辅助生成entity、mapper、mybatis xml等代码,能节省大量重复性代码编写。

2,spring cloud的各组件依赖包,很多重复依赖,所以各种冲突问题,一般提示的ClassNotFoundException,都是版本冲突。所以在可能的情况下,一定要手动编写依赖的组件版本号,尽量不写版本号。还有就是在project的root模块里面配置jdk、springboot、springcloud基础依赖,其他模块都定义为作为root的子模块。root模块可以什么代码都不写。不必要的依赖一定要删掉,否则用处没有,引起的包冲突会浪费大量时间。

3,springboot整合netty有很多坑:一是netty给终端发指令,16进制报文一定要大写,否则有的直接可能会变成ff,而打印的时候根本看不出来;二是在handle里面操作entity入库时,需要在ChannelInitializer里面加载spring管理的handle,否则handle里面无法注入service,这个问题后来和原来兄弟聊天,认为netty是比spring 服务更底层的通讯框架,不应该在handle里面依赖注入,这个问题我还没想到解决方案,也许需要用到mq、redis等,等后面有时间了再研究应用。

4,springboot调用定时任务Schecule很方便。

5,Controller里面模拟用户对设备发送终端指令,而用户需要等待终端回应的报文结果,如何在controller里面捕获等待?我目前的做法是通过线程同步锁,感觉效率不高、可读性也不太好,不知道有没有更好的方法。

6,idea工具真的很好用,绝对比eclipse好用。虽然我eclipse也几乎没有用过,就是用来搜索过代码,但是光搜索代码这一个功能,idea都秒杀eclipse。idea的各种提示、代码Refactor等功能,真的用的很爽。

7,码云(www.gittee.com)团队真的很棒,还不知道他们和git或者github什么关系,但是提供的这些代码平台服务真的很贴心,很是感谢他们。我想我将来要做的也是码云类似的服务模式,就是给底层电工、小工程商或者小的企业用户提供一个免费的好用的基础物联网平台,提高他们的工作效率和客户体验,通过更加高级的数据分析、面向大客户提供定制服务或者是通过给他们推荐平台兼容的设备来赚取利润维持我的成本。也算是为社会做贡献了。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值