北斗的安装人员已安装好设备并做了一个初步的配置。
我则需去取北斗数据。
此篇文章是我这几日总结及感想。

正常流程
串口转网口线接到我的笔记本上,在我的笔记本上下载一个名为 ZLVirCom 的软件去配置指挥机。

上边红框为指挥机的ip地址和端口,工作模式为tcp客户端,往服务端发送接收到的数据。
下边红框为我笔记本ip及接收端口。
当ip模式为静态时,目的ip要跟指挥机在同一个局域网内,能互相ping通。
其他参数保持默认的即可。

然后开一个tcp服务器测试,显示连接成功。
目前为止即可在指挥机与服务器之间互发消息了。
出现的问题
做到这里之后我发现开的服务器并没有接收到数据,后来问一下北斗的工作人员,原因是指挥机不会自动发数据…
要往北斗指挥机发一个读卡指令,指挥机才会发送数据
我们的服务器跟指挥机不在一个地方,服务器有固定ip,本意是指挥机作为tcp客户端,接入网络之后,ip模式改为动态,自动往我们的服务器端口上发数据,我们在从端口读数据处理就可以了。
但是他需要发一条读卡指令才可以发送数据,我们服务器没办法发,因为指挥机那没有固定的ip地址。(十分头疼)
解决方法是在那里放一台主机,写个程序自动往指挥机发一次读卡指令,保持程序能持续接收到指挥机不断返回的数据,并把接收到的数据通过外网往我们服务器这边指定端口一直转发。
后来跟同事讨论了一下这个事,结论是我们作为甲方,需求是给ip和端口接收数据,其它的不需要我们来做。
于是我跟项目经理讨论了这个事,让她去沟通沟通。
一些经历
刚开时经理跟我说北斗设备安装好了,让我过去拿下数据,我说好的。
问北斗工作人员要数据接口的文档,他们给我发了个数据的传输协议…?刚开始我没搞懂,我要数据你直接给我接口不就完事了,然而并不是。
他们的指挥机是盒子大小,串口通信,需要往指挥机发送32位指令,才能获取数据。(回忆起被fpga支配的恐惧)
后来看了一些相关文档,想着我先过去看看数据长什么样,于是下午提着台笔记本就去安装设备的地方。 (后来发现我太天真,还需要带个插座… 现场环境连个给我插笔记本电源线的地方都没有,我两个小时的电量,一心想一天弄完,于是一边吊着心看剩余电量一边配置指挥机,导致我从那离开后,一个小时心都是吊着的)
起初他们的软件说明文档十分简单,上面写着需要我设置一个虚拟串口,而并没有说明这个是要干什么的,导致我在这一块与指挥机的串口混淆了起来,耽误了我好长时间,导致一天没能做完。
第二天去他们官网查资料,把这一过程更详细地捋一遍,下午再去一趟现场。

因为我笔记本通过串口转网口直连的北斗设备,不经过路由器,所以不需要设置虚拟串口。
经过长时间的不断尝试(瞎折腾)之后,终究是回到了需要往指挥机发送指令才能获取数据的问题上。
后来跟同事讨论了一下怎么去做程序,得出一个结论: 我们是甲方为什么我们来做…
跟项目经理讨论了这件事,项目经理说她再去沟通。
反思
台风天的在两地跑我这两天究竟在干啥。。
做一件事之前要想想是不是我应该做的,不然捣鼓好久,相当于没做,一点成就感没有。
跟乙方做数据对接这个事,以后不拿到数据不让走了 (╯#-皿-)╯~~╧═╧