一卡通水控电控开发踩过的坑

最近在做一个项目,是对接一卡通设备的。我一开始只拿到设备和3个文档开局。不知道从哪下手。一步一步踩坑过来。踩了很多没有必要的坑,写出来给有用的人吧。

读卡器怎么用?

有个读卡器,一开始什么软件也不提供。我都不知道是干嘛用的。后来问客服才知道有一个测试软件。我真是服了,不能把用到的软件直接打包一次性发来吗?最好配个软件使用手册。

然后我就得到了这个软件。
在这里插入图片描述
得到这个软件以后发现也无法读卡,我又跑去问客服。才发现还要安装一下驱动才行。
在这里插入图片描述

我真的服了,一步一个坑,就不能一次性把需要的东西全给吗?

安装完驱动,读卡器总算可以使用了。

安装好打开软件后,切到 通讯模块测试,通讯方式设置中 串口号选:COM5

在这里插入图片描述

左下方的状态栏中可以看到,读卡成功:执行所用时间:2958.6085

说明成功了!

写卡

先读卡,然后在读出的数据基础上进行修改。

设置参数:

工作模式设置成tcp客户端 端口5000 目标地址就是服务器地址 右边就是给电控机设置的ip参数。

在这里插入图片描述

设置好拿去电控机上刷一下就好。

目标地址是否可以使用域名?

实测:长域名无法正常写入,nlic.wisxxx.cool只能写入nlic.wisdxxx.

所以暂时只能使用IP了

校验设置是否成功

千万不要以为设置完成后就一定会成功的。这是我踩坑回来的体会。

  • 设置的端口和最终的端口可能不一样
  • 设备的本机IP与最终的IP也可能不一样

校验方法,

  1. 设备插入网络连上网。
  2. 软件上点搜索,右侧会出来设备列表,找到我们的设备。MAC地址和设备名称一般不会变。

然后在点读取,在点右侧列表中的设备。

此时界面上就会显示真实的设备参数信息了。

在这里插入图片描述

还有一个更方便的软件TCP配置程序.exe,这个软件中显示的信息更全面。

在这里插入图片描述

怎么判断机器已经联网

一开始我都不知道机器插入网线以后到底有没有成功连接。
我后来用愚蠢的办法,到路由器的管理页面查看所有已经连接的设备。通过排除法找到这个水控机设备。为了实现这事情,我甚至把公司的路由器重置了。

这种蠢方法用的一段时间我才发现其实厂家有现成的软件可以查询。

厂家软件查询设备在线情况

提到这个我真的有点不开心,厂家有现成的软件,一开始也不提供。可能内行人会直接向厂家要吧,我第1次做对接,就不知道有这个软件。这个软件还是后来我在客户群里问其他事情,有个客服给我分享了一个网盘,在网盘中无意中发现的。
在这里插入图片描述

通过界面上判断

在这里插入图片描述

搞错通信协议

拿到设备好,收到厂家提供的3个开发文档。里面有http的还有一个没写明什么协议的。身为web开发者的我,误认为是http协议的,浪费了两天时间。

关键是我在开发过程中有在客服群里问,竟然没人提醒我。

后来得知我看错文档了,我又开始研究《实时消费管理系统协议》文档,这个文档从到到尾没有说采用什么协议通信的。
我又受配置软件影响,错误的认为是UDP协议。又使用UDP的方式搞。

在这里插入图片描述
http 和 udp的方式都收不到数据,我一开始仅是怀疑是我的网络没接对。到后来群里又来了个技术明确说是TCP协议我才明白。

唉!这个坑踩的莫名其妙的。

正确协议 TCP ,也就是Java中的Socket。

警告!!!!与电表通讯异常

这是一个大坑啊。现象如图所示:
在这里插入图片描述
厂家的回复是:
计量电表的485线接反了 换一下就好了

我们的电工来回反复接,都会报这个错。我们在 工地部署了好多套都是这个问题,就算接错也不能全错吧!
我们一开始怀疑可能是接触不良或者正负极接错了,回来找自己的原因。浪费了好久。

直到最后才无意中发现坑的存在!!!

线接成功后,必须要重启设备才生效!!!
线接成功后,必须要重启设备才生效!!!
线接成功后,必须要重启设备才生效!!!

我真是服了,我们在工地 12V电一直是通的,没想到这一点。看屏幕上的提示,一直以为是我们接错了,其实我们一直都是接的正确的,只是没有把设备断电重启。 然而这一点厂家从头到尾没提过。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于JavaWeb+BS架构+SpringBoot+Vue+Hadoop的物品租赁系统的设计与实现

基于JavaWebBS架构SpringBootVueHadoop的物品租赁系统的设计与实现 文末获取源码Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 文末获取源码 Lun文目录 目  录 I 1绪 论 1 1.1开发背景 1 1.2开发目的与意义 1 1.2.1开发目…

Rabbit R1是一款AI驱动的小工具,可以代替你使用应用程序

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

CES 2024丨引领变革,美格智能为智能终端带来生成式AI能力

作为电子行业的“风向标”,CES 2024(国际消费电子展)于1月9日至12日在美国拉斯维加斯举办。本届展会可谓是AI的盛宴,芯片、AI PC、智能家居、汽车科技、消费电子等领域与AI相关的前沿成果接连发布,引领人工智能领域的科…

MySQL 按日期流水号 条码 分布式流水号

有这样一个场景,有多台终端,要获取唯一的流水号,流水号格式是 日期0001形式,使用MySQL的存储过程全局锁实现这个需求。 以下是代码示例。 注:所有的终端连接到MySQL服务器获取流水号,如果获取到的是 “-1”…

.NET 反射的介绍和简单应用

什么是反射? 反射就是动态发现类型信息的能力。它帮助程序设计人员在程序运行时利用一些信息去动态地使用类型,这些信息在设计时是未知的,这种能力类似于后期绑定。反射还支持的更高级的行为,能在运行时动态创建新类型&#xff0…

Ubuntu 20.04 Intel RealSense D435i 相机标定教程

下载编译code_utils mkdir -p ~/imu_catkin_ws/src cd ~/imu_catkin_ws/src catkin_init_workspace source ~/imu_catkin_ws/devel/setup.bash git clone https://github.com/gaowenliang/code_utils.git cd .. catkin_make报错:sumpixel_test.cpp:2:10: fatal err…

Spring Boot中加@Async和不加@Async有什么区别?设置核心线程数、设置最大线程数、设置队列容量是什么意思?直接在yml中配置线程池

在 Spring 中,Async 注解用于将方法标记为异步执行的方法。当使用 Async 注解时,该方法将在单独的线程中执行,而不会阻塞当前线程。这使得方法可以在后台执行,而不会影响主线程的执行。 在您提供的代码示例中,a1() 和…

纯html通过XMLHttpRequest访问java后端接口并将返回结果输出到控制台【建议收藏】

我们需要准备几个部分: 1、后端接口【servlettomcat】 2、前端页面代码 3、js发起请求部分 后端接口: WebServlet("/h1") public class HController extends HttpServlet {Overrideprotected void service(HttpServletRequest req, HttpS…

记录一下Canal的错误,主要是top.javatool.canal.client.util下的StringConvertUtil引起的

项目场景: 提示:这里简述项目相关背景: 由于数据库的一个localdatetime字段是空的, 然后修改数据库数据同步canal的时候报了这个错误: Caused by: java.lang.IllegalArgumentException: Can not set java.time.LocalD…

在 WinForms 应用中使用 FtpWebRequest 进行文件操作和数据显示

在 WinForms 应用中使用 FtpWebRequest 进行文件操作和数据显示 引言 在企业级应用或桌面程序中,经常需要从远程服务器获取数据,并在用户界面上展示这些数据。本文将通过一个实际案例,演示如何在 Windows Forms 应用程序中使用 FtpWebReques…

一个小巧、快速、轻量级的 .NET NoSQL 嵌入式数据库

前言 今天给大家分享一个小巧、快速、轻量级的 .NET NoSQL 嵌入式数据库:LiteDB。本篇文章主要是介绍LiteDB和在.NET中如何使用。 LiteDB介绍 LiteDB 是一个小巧、快速和轻量级的 .NET NoSQL 嵌入式数据库。 无服务器的 NoSQL 文档存储 简单的 API,类似…

MySQL篇—通过Clone插件进行远程克隆数据(第三篇,总共三篇)

在介绍 Clone 最终篇之前,我们先简要回顾一下前面所讲的内容。在第一篇中,我们探讨了 Clone 的用途、使用的前提条件、存在的限制,以及它的备份原理。Clone 是一种用于复制和备份数据的工具,它能够快速高效地创建数据的精确副本。…