CN112583914B - 一种为无轨电车联网车站分配地址的方法和装置 - Google Patents
一种为无轨电车联网车站分配地址的方法和装置 Download PDFInfo
- Publication number
- CN112583914B CN112583914B CN202011441825.9A CN202011441825A CN112583914B CN 112583914 B CN112583914 B CN 112583914B CN 202011441825 A CN202011441825 A CN 202011441825A CN 112583914 B CN112583914 B CN 112583914B
- Authority
- CN
- China
- Prior art keywords
- address
- trolley bus
- array
- data
- local area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Small-Scale Networks (AREA)
Abstract
一种为无轨电车联网车站分配地址的方法和装置,所述装置包括接收信息模块,数据处理模块,地址分配模块和发送数据模块。所述方法包括:接收其他装置发送过来的分配地址信号;装置根据现有城市所有无轨电车的路线信息给每辆车分配局域网IP地址,把分配好的局域网IP地址通过串口发送出去作为另外计算机或者其他设备的装置的输入。通过这种方法,不用手动分配静态地址,简单高效,可以更多地减少局域网IP地址分配的数量,并且避免出错,同时,不同无轨电车上在相同的输入可以得到一致的结果。可以合理地服务于目前全国城市无轨电车量少的情况下使用。
Description
技术领域
本发明涉及一种为无轨电车联网车站分配地址的方法和装置,属电子信息技术领域。
背景技术
无轨电车上安装一台微型服务器用于接收电池组检测装置发送过来的各种电池状态信息,并存储在数据库中,且微型服务器上配置了Web服务,用于用户访问系统,查看电池状态并做相应的警报和及时处理,确保电池处于健康状态,延长电池寿命,避免事故的发生。由于信息安全和保密性,微型Web服务器只能被站台的工作人员访问,因此让用户的电脑(固定局域网IP地址)与微型Web服务器在同一个局域网中。
无轨电车进站后,自动连接WIFI,微型Web服务器程序中采用WebSocket通信,服务程序不可中断,需要预先写入本服务器的服务器地址且在运行过程中不可更改,并且把该地址与本无轨电车车牌号以配对的形式发送出去让用户通过无线或者有线连接方式获取到。
目前采用微型Web服务器出厂设备分配好局域网IP地址的方式,显然无法应对无轨电车路线信息动态变化,尤其是当车辆增多,车辆路径发生变化时,都需要重新从车上把微型Web服务器拿下来并重新设置,低效、浪费人力。
发明内容
本发明的目的是,为了解决现有技术局域网IP地址分配不能满足无轨电车路线信息动态变化的问题,提出一种为无轨电车联网车站分配地址的方法和装置。
实现本发明的技术方案如下,一种为无轨电车联网车站分配地址的方法,通过由接收信息模块,数据处理模块,地址分配模块、发送数据模块和电源控制模块组成的分配地址装置实现;所述方法步骤如下:
(1)装置启动之后,进行上电初始化,包括芯片初始化和串口初始化;
(2)监听微型Web服务器发送过来的地址分配信号;
(3)当微型Web服务器启动后,发送给装置地址分配信号,装置判断收到了地址分配信号后对其解析,判断分配信息信号是否完整,若否,执行第(2)步,若是,执行下一步;
(4)装置监听到这个信号之后,对信号进行解析为特定结构的数据,并作为装置的输入,装置把当前输入的数据与装置中已有的数据进行对比,判断无轨电车路线信息是否发生了改变,若否,执行下一步;若是,则执行第(6)步;
(5)在存储表中查找已有的分配信息表;执行步骤(7);
(6)运行地址分配算法,计算出城市中所有无轨电车合理的分配地址;
(7)把本无轨电车车牌以及分配好的地址通过网口和串口分别发送给微型服务器修改地址以及供用户接收。
所述无轨电车路线信息的存储类别包括由字符数组类型构成的无轨电车车牌号、由字符串数组类型构成的无轨电车经过的车站、由无符号整形类型构成的无轨电车经过的车站数量。
所述无轨电车路线信息通过串口输入后,转换为特定类型的数据结构,其数据结构为无轨电车路线信息结构体数组。
所述地址分配算法中分配的IP地址信息,具体内容有字符数组类型的车牌号和IP地址的后8位二进制整数值。
所述地址分配算法中判断哪些无轨电车可以共用一个IP地址;假设有A无轨电车和B无轨电车,与A共用同一个IP地址的无轨电车集合S,B若要与A共用一个IP地址,那么B必须满足条件:B与A不能经过同一个车站,且B与集合S中所有的无轨电车都不能经过相同的车站。
所述地址分配算法中判断哪些无轨电车可以不能共用一个IP地址;假设有A无轨电车和B无轨电车,与A共用同一个IP地址的无轨电车集合S,判断B与A不能共用一个IP地址的条件是:B与A不能经过同一个车站,或存在B与集合S中所有的无轨电车有一辆或者多辆无轨电车经过相同的车站。
所述地址分配算法中判断哪些无轨电车可以共用一个IP地址,使得相同的输入,IP地址使用最少;根据无轨电车经过的车站数从多到少排序,采用贪心算法,依次比较并分配地址。
所述接收信息模块通过串口来接收从其他设备发过来的数据;数据处理模块接收到数据之后,进行验证,验证数据没有问题之后,再进行转换为特定的数据结构格式;地址分配模块把这特定的数据结构格式作为一个输入,经过运算给每个车牌分配一个IP地址,最后通过数据发送模块,把数据从串口发送出去;电源控制模块为分配地址装置各模块提供电源需求。
所述监听地址分配是通过一个死循环的函数,每隔一段时间就监听一下,看是否有数据从串口过来,如果有数据,就跳出死循环,这部分代码属于数据接收模块中,跳出死循环后就进入数据处理模块中执行。
本发明的有益效果是,本发明根据现有城市所有无轨电车的路线信息给每辆车分配局域网IP地址,把分配好的局域网IP地址通过串口发送出去作为另外计算机或者其他设备的装置的输入。通过这种方法,代替人工分配地址,不用手动分配静态地址,简单高效,可以更多地减少局域网IP地址分配的数量,并且避免出错,同时,不同无轨电车上在相同的输入可以得到一致的结果。本发明采用贪心算法应用于地址分配算法中,可以使得城市所有的无轨电车分配局域网地址所需要的数量最少。
附图说明
图1为本发明无轨电车联网车站分配地址整体流程运行图;
图2为本发明无轨电车联网车站分配地址简略流程图。
具体实施方式
本发明的具体实施方式如图1所示,图2为本发明无轨电车联网车站分配地址简略流程图。
本实施例一种为无轨电车联网车站分配地址的方法和装置,具体实施步骤如下:
步骤S1、装置上电初始化,包括芯片和串口初始化,此芯片为STM32F103芯片,串口的功能有接收微型Web服务器(此为高性能嵌入式芯片)内GPIO发过来的数据以及通过串口发送出去的数据。初始化完成后执行步骤S2。
步骤S2、监听微型Web服务器通过GPIO串口发送过来的监听地址分配信号,信号中有严格的数据格式,每个数据之间用逗号隔开,第一个为信号标记,第二个为多少辆无轨电车,然后是每辆无轨电车的路线信息,每辆无轨电车的路线信息数据结构定义为:
typedef struct BusInfo
{char plateNum[8];//车牌号
char*ptrStations;//该无轨电车经过的车站
int stationNum;//该无轨电车经过的车站数量}
BusInfo,*PtrBusInfo;
执行步骤S3。
步骤S3、监听地址分配信号,则对数据进行校验,看是否有错误,检测的方法为每辆无轨电车的路线信息中车牌号是否占用8字节,经过的车站数是否等于经过的所有车站名数量,并且检测无轨电车数量和无轨电车的路线信息数量是否一致。若两个校验中,有一个以上不完整,装置通过串口发送重发信号给微型Web服务器设备,执行步骤S2;若两个校验都完整,则执行步骤S4。
步骤S4、对当前已有的无轨电车路线信息和传入的无轨电车路线信息遍历,判断无轨电车路线信息是否发生改变,若没有发生改变,执行步骤S16;若发生改变,执行步骤S5。
步骤S5、根据输入的无轨电车路线信息数组busInfo,根据每辆无轨电车经过车站的数量从多到少排序,排序采用冒泡排序的方法,然后执行步骤S6。
步骤S6、从排好序的无轨电车路线信息中依次取原先的无轨电车信息数组的下标值,从前到后组织成数组A,该数组A有如下特性:busInfo[A[0]].stationNum≥busInfo[A[1]].stationNum≥busInfo[A[1]].stationNum……。然后执行步骤S7。
步骤S7、创建单链表,该单链表每个节点的数据结构定义为:
typedef struct ListNodeStations{int*ptrPos;//保存的是busInfo中的下标值,一个元素代表此处可以放一辆busInfo下标值的无轨电车
int posNum;//ptrPos数组中有多少个元素int capacity;//ptrPos申请下来的容量struct ListNodeStations*next;//指向下一个节点}ListNodeStations,*ptrListNodeStations;
头指针headStations指向该单链表,其中,新节点默认ptrPos为两个int长度空间,capacity为2,next指向NULL。执行步骤S8。
步骤S8、默认设置的用户PC机的局域网IP地址为2,分配的IP地址从3开始,执行步骤S9。
步骤S9、对数组A遍历,检查是否遍历完A数组,若是,执行步骤S16,若否,执行步骤S10。
步骤S10、保存当前无轨电车车牌,设置一个指针,指针指向单链表的首元结点,执行步骤S11。
步骤S11、是否已经遍历完了单链表当前所有节点中所有无轨电车路线信息,若遍历完了,执行步骤S12;否则,执行步骤S13。
步骤S12、遍历完了当前单链表所有节点的无轨电车信息与该无轨电车路线信息中的车站都有经过相同的车站,表示需要分配一个新的单链表节点给该无轨电车,因此对单链表创建一个新的节点,把当前的无轨电车路线信息存进该节点,并把当前无轨电车车牌号以及局域网IP地址放入查询表中。
步骤S13、遍历当前节点中所有的无轨电车路线信息,相当于遍历ptrPos指针数组中的元素,看是否与当前节点经过相同的站台,若是,则执行步骤S14;若否,执行步骤S15。
步骤S14、在遍历ptrPos时,发现当前下标所代表的的无轨电车路线信息与当前A数组下标的无轨电车有经过相同的车站,不需要继续遍历ptrPos了,跳出当前循环,指针指向下一个节点,回到循环执行步骤S11。
步骤S15、在遍历ptrPos时,发现当前下标所代表的的无轨电车路线信息与当前A数组下标的无轨电车没有经过相同的车站,把当前的无轨电车路线信息数组下标放入当前节点,若空间不够申请更大的空间,并分配给它与当前节点相同的IP地址,并把当前无轨电车车牌号以及局域网IP地址放入查询表中。最后,执行步骤S9。
步骤S16、若遍历完了整个无轨电车路线信息数组下标A数组,所有无轨电车的局域网IP地址已经分配好了到指定的内存区域,或者无轨电车路线信息没有改变,那么从指定的区域查找当前无轨电车车牌号以及对应的局域网IP地址信息并发送出去。
Claims (6)
1.一种为无轨电车联网车站分配地址的方法,其特征在于,所述方法通过由接收信息模块,数据处理模块,地址分配模块、发送数据模块和电源控制模块组成的分配地址装置实现;所述方法步骤如下:
(1)分配地址装置启动之后,进行上电初始化,包括芯片初始化和串口初始化;
(2)监听微型Web服务器发送过来的地址分配信号;
(3)当微型Web服务器启动后,发送给分配地址装置地址分配信号,分配地址装置判断收到了地址分配信号后对其解析,判断分配信息信号是否完整,若否,执行第(2)步,若是,执行下一步;
(4)分配地址装置监听到这个信号之后,对信号进行解析为特定结构的数据,并作为分配地址装置的输入,分配地址装置把当前输入的数据与分配地址装置中已有的数据进行对比,判断无轨电车路线信息是否发生了改变,若否,执行下一步;若是,则执行第(6)步;
(5)在存储表中查找已有的分配信息表,执行步骤(7);
(6)运行地址分配算法,计算出城市中所有无轨电车合理的分配地址,具体如下:
(6-1)根据输入的所有的无轨电车路线信息数组,对数组中每辆无轨电车经过车站的数量从多到少排序,得到数组A;
(6-2)默认设置的用户PC机的局域网IP地址最后一段值为2,分配的IP地址最后一段值从3开始,对数组A遍历;
(6-3)创建一个单链表,该单链表每个节点的结构体成员包含局域网IP地址最后一段的值以及传入的无轨电车信息数组下标值组成的数组;
(6-4)对数组A遍历,检查是否遍历完A数组,若是,执行步骤(6-6),若否,执行步骤(6-5);
(6-5)对单链表L进行遍历,对每个节点中所有的无轨电车经过的车站与当前遍历到的数组A的元素代表的无轨电车所经过的车站比较是否会经过相同的车站,若会经过相同的车站,则需要对单链表创建一个新的节点,把当前遍历到的数组A的元素代表的无轨电车取其在传入的无轨电车信息数组中的下标值加入该新节点,并且把当前局域网IP地址最后一段的值加1,并把结果值放入新节点中;若遍历到单链表的某个节点发现不会经过相同的车站,则把当前遍历到的数组A的元素代表的该无轨电车取其在传入的无轨电车信息数组中的下标值放入该节点中,且结束遍历单链表;然后执行步骤(6-4);
(6-6)遍历单链表,通过获取传入的无轨电车信息数组下标值得到每个无轨电车车牌号以及相对应的局域网IP地址最后一段值,给每个局域网IP地址最后一段值加上当前局域网IP地址的前3段组成完整的局域网IP地址,并写入到指定的内存区域,然后执行步骤(7);
(7)把本无轨电车车牌以及分配好的地址通过网口和串口分别发送给微型服务器修改地址以及供用户接收;
所述地址分配算法中判断哪些无轨电车是否可以共用一个IP地址的判断方法是:对于某一辆无轨电车经过的所有车站组成的集合T,以及共用某个IP地址的所有的无轨电车经过的车站组成的集合S,若集合T与集合S的交集为空,则该无轨电车可以共用该IP地址;否则,不能共用该IP地址。
2.根据权利要求1所述的一种为无轨电车联网车站分配地址的方法,其特征在于,所述无轨电车路线信息的存储类别包括由字符数组类型构成的无轨电车车牌号、由字符串数组类型构成的无轨电车经过的车站、由无符号整形类型构成的无轨电车经过的车站数量。
3.根据权利要求1所述的一种为无轨电车联网车站分配地址的方法,其特征在于,所述无轨电车路线信息通过串口输入后,转换为特定类型的数据结构,其数据结构为无轨电车路线信息结构体数组。
4.根据权利要求1所述的一种为无轨电车联网车站分配地址的方法,其特征在于,所述地址分配算法中分配的IP地址信息,具体内容有字符数组类型的车牌号和IP地址的后8位二进制整数值。
5.根据权利要求1所述的一种为无轨电车联网车站分配地址的方法,其特征在于,所述地址分配算法中判断哪些无轨电车共用一个IP地址,使得相同的输入,IP地址使用最少;根据无轨电车经过的车站数从多到少排序,采用贪心算法,依次比较并分配地址。
6.根据权利要求1所述的一种为无轨电车联网车站分配地址的方法,其特征在于,所述接收信息模块通过串口来接收从其他设备发过来的数据;数据处理模块接收到数据之后,进行验证,验证数据没有问题之后,再进行转换为特定的数据结构格式;地址分配模块把这特定的数据结构格式作为一个输入,经过运算给每个车牌分配一个IP地址,最后通过数据发送模块,把数据从串口发送出去;电源控制模块为分配地址装置各模块提供电源需求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011441825.9A CN112583914B (zh) | 2020-12-08 | 2020-12-08 | 一种为无轨电车联网车站分配地址的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011441825.9A CN112583914B (zh) | 2020-12-08 | 2020-12-08 | 一种为无轨电车联网车站分配地址的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112583914A CN112583914A (zh) | 2021-03-30 |
CN112583914B true CN112583914B (zh) | 2021-08-31 |
Family
ID=75130640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011441825.9A Active CN112583914B (zh) | 2020-12-08 | 2020-12-08 | 一种为无轨电车联网车站分配地址的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112583914B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117579406A (zh) * | 2024-01-15 | 2024-02-20 | 中铁一局集团电务工程有限公司 | 无轨电车、通信方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107733956A (zh) * | 2016-08-13 | 2018-02-23 | 重庆无线绿洲通信技术有限公司 | 一种确定电池在车联网中的地址的方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU8932601A (en) * | 2000-11-28 | 2002-05-30 | Eaton Corporation | Motor vehicle communication protocol with automatic device address assignment |
CN102333118B (zh) * | 2011-10-08 | 2013-06-12 | 常熟理工学院 | 一种车载网络IPv6地址自动配置的实现方法 |
CN104702717B (zh) * | 2015-04-03 | 2018-01-12 | 上海自仪泰雷兹交通自动化系统有限公司 | Cbtc中数据通信系统用ip地址的规划方法 |
CN110784328B (zh) * | 2018-07-27 | 2021-12-14 | 华为技术有限公司 | 一种车联网通信解决方案 |
-
2020
- 2020-12-08 CN CN202011441825.9A patent/CN112583914B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107733956A (zh) * | 2016-08-13 | 2018-02-23 | 重庆无线绿洲通信技术有限公司 | 一种确定电池在车联网中的地址的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112583914A (zh) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021098212A1 (zh) | 软件升级方法、装置和系统 | |
CN113098932A (zh) | 基于5g和云计算的物联网设备处理方法及系统 | |
CN103048984B (zh) | 多通道arinc700总线监控装置及实现方法 | |
CN111090268B (zh) | 基于线程划分的数据采集方法、装置及数据采集设备 | |
CN110912782B (zh) | 一种数据采集方法、装置及存储介质 | |
CN112583914B (zh) | 一种为无轨电车联网车站分配地址的方法和装置 | |
CN107730877A (zh) | 面向城市高架快速主干路网的预约出行管理系统及方法 | |
CN109298937A (zh) | 文件解析方法及网络设备 | |
CN106452815B (zh) | 一种信息化管理方法、装置及系统 | |
CN115629717B (zh) | 一种基于分布式存储的负载均衡方法和存储介质 | |
CN113672173B (zh) | 一种存储卷扩容方法、系统、设备及可读存储介质 | |
CN116095007A (zh) | 负载调度方法、装置、计算机设备及存储介质 | |
CN113918305B (zh) | 节点调度方法、装置、电子设备及可读存储介质 | |
Zhou et al. | An interactive and reductive graph processing library for edge computing in smart society | |
CN115629883A (zh) | 资源预测方法、装置、计算机设备及存储介质 | |
CN211481292U (zh) | 一种面向泛在电力物联网的统一云计算系统 | |
CN114756574A (zh) | 应用于多云管理系统的云资源成本分析方法及装置 | |
CN113673733A (zh) | 实验室预约方法、装置、实验室预约设备及存储介质 | |
CN208027434U (zh) | 信息采集设备和车辆信息管理系统 | |
CN112948054A (zh) | 一种基于虚拟化技术的公交混合云平台系统 | |
CN118317003B (zh) | 车辆数据的处理方法和车辆 | |
CN111885164A (zh) | 一种数据管理系统 | |
CN220730974U (zh) | 一种无信控交叉口安全装置 | |
CN108537915A (zh) | 车辆信息管理系统和方法 | |
CN115243286B (zh) | 一种数据处理方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |