青青青国产免费七次郎在线视频,99在线成人精品视频,亚洲产在线精品第一站不卡,天天爽夜夜爽一区二区三区

文章詳情

以太網(wǎng)產(chǎn)品召喚及遠(yuǎn)程配置協(xié)議 串口服務(wù)器

日期:2024-12-27 00:37
瀏覽次數(shù):5928
摘要:

以太網(wǎng)產(chǎn)品召喚及遠(yuǎn)程配置協(xié)議

一、  適用范圍

我公司所有嵌入式以太網(wǎng)產(chǎn)品均支持本協(xié)議。所有產(chǎn)品均可以使用此協(xié)議對設(shè)備進(jìn)行遠(yuǎn)程召喚、配置。

 

二、  工作方式

上位機(jī)軟件發(fā)送一個(gè)定長格式的UDP廣播報(bào)文到局域網(wǎng),設(shè)備收到這個(gè)報(bào)文后,填充相關(guān)數(shù)據(jù),并用UDP報(bào)文返回給上位機(jī)。

 

通訊采用UDP廣播方式工作,上位機(jī)的UDP發(fā)送地址為廣播地址:255.255.255.255,使用端口:6799。所以此協(xié)議不能跨網(wǎng)段搜索設(shè)備。

 

協(xié)議也支持遠(yuǎn)程配置,可以在遠(yuǎn)程設(shè)置一個(gè)設(shè)備的IP、子網(wǎng)掩碼和標(biāo)識。

 

三、  定長數(shù)據(jù)結(jié)構(gòu)

此數(shù)據(jù)結(jié)構(gòu)為單字節(jié)對齊。

typedef struct __attribute__ ((packed)) _MUSTER_TELE {

//消息ID,默認(rèn)為4個(gè)0

u_long xid;                

//消息類型,0-上位機(jī)發(fā)出,用于召喚設(shè)備,1-設(shè)備響**喚(設(shè)備返回),3-上位機(jī)向設(shè)備發(fā)送配置數(shù)據(jù)

u_char msg_type;          

//muster版本,一直為1。

u_charmuster_ver;       

//主機(jī)名,msg_type=0時(shí)置0,msg_type=1時(shí)為設(shè)備返回的主機(jī)名,msg_type=3時(shí)指定設(shè)備的新主機(jī)名。

u_charnet_hostname[12];     

//網(wǎng)絡(luò)物理地址,msg_type=0時(shí)置0msg_type=1時(shí)為設(shè)備返回的MAC地址,

//msg_type=3時(shí),指定為要修改設(shè)備的Mac地址。

u_charnet_mac[6];        

//IP地址,msg_type=0時(shí)置0,msg_type=1時(shí)為設(shè)備返回的IP地址,msg_type=3時(shí)設(shè)備修改IP為該地址。

u_longnet_ip_addr;       

//子網(wǎng)絡(luò)掩碼,msg_type=0時(shí)置0,msg_type=1時(shí)為設(shè)備返回的掩碼,msg_type=3時(shí)設(shè)備修改掩碼為該掩碼。

u_longnet_ip_mask;       

//網(wǎng)關(guān),保留參數(shù),尚未使用。

u_longnet_gateway;       

//產(chǎn)品型號,尚未使用。

u_long devmodel;         

//工作模式,0-無效,1-Server模式,2-Client模式,10-UDP模式

//msg_type=0時(shí)置0,msg_type=1時(shí)為設(shè)備返回的工作模式,msg_type=3時(shí)設(shè)備忽略該參數(shù)。

u_long workmodel;         

//設(shè)備的端口數(shù),msg_type=0時(shí)置0msg_type=1時(shí)為設(shè)備返回的端口數(shù)量,msg_type=3時(shí)設(shè)備忽略該參數(shù)。

u_long portnum;    

//**個(gè)網(wǎng)絡(luò)監(jiān)聽,保留參數(shù),尚未使用

u_long firstport;         

//文本形式的固件版本說明,

//msg_type=0時(shí)置0msg_type=1時(shí)為設(shè)備返回的固件版本說明,msg_type=3時(shí)設(shè)備忽略該參數(shù)。

charfirmware[24];     

//文本形式的口令。

//msg_type=0時(shí)置0,msg_type=1設(shè)備忽略該參數(shù),msg_type=3時(shí)設(shè)備將檢查該口令,如果合法修改自身參數(shù)。

u_charcfgpwd[12];

//msg_type=0時(shí)置0,msg_type=1設(shè)備返回當(dāng)前的監(jiān)聽IPmsg_type=3時(shí)設(shè)備忽略該參數(shù)。

//映射IP,與mapport聯(lián)合使用,mapipmapport數(shù)組的第1個(gè)元素為一個(gè)可使用的TCP/IP連接。

//如:mapip[0]mapport[0]指出設(shè)備**個(gè)監(jiān)聽的IPPort??梢灾苯邮褂眠@個(gè)參數(shù)與設(shè)備建立TCP/IP連接。

    u_long mapip[32];         

//映射端口

//msg_type=0時(shí)置0,msg_type=1設(shè)備返回當(dāng)前的監(jiān)聽Portmsg_type=3時(shí)設(shè)備忽略該參數(shù)。

   u_longmapport[32];      

   

} MUSTER_TELE;

 

 

四、  數(shù)據(jù)結(jié)構(gòu)說明

1.     IP地址存儲

上述數(shù)據(jù)結(jié)構(gòu)中的IP地址均為32bit長整型數(shù)據(jù),使用inet_addr轉(zhuǎn)換后發(fā)送。

例如net_ip_addr=inet_addr('192.168.192.100')

 

2.     數(shù)據(jù)結(jié)構(gòu)在使用前必須清零。

 

3.     發(fā)送msg_type=3的遠(yuǎn)程配置報(bào)文時(shí),需要注意,必須要在數(shù)據(jù)結(jié)構(gòu)中,正確指定要配置設(shè)備的MAC地址和口令。因?yàn)樵O(shè)備是根據(jù)MAC地址來判斷是否為屬于自己的配置報(bào)文。如果MAC正確,口令錯(cuò)誤,設(shè)備也將會(huì)拒絕更新配置。

 

五、  示例報(bào)文

1.     發(fā)送召喚報(bào)文

memset(sendbuf, 0, sizeof(sendbuf));

sendbuf.msg_type=0

發(fā)送此報(bào)文到255.255.255.255:6799

 

2.     設(shè)備返回的報(bào)文樣例

recbuf.msg_type=1

recbuf.muster_ver = 1

recbuf.hostname ='ServerID'

recbuf.net_mac ='010203040526'

recbuf.net_ip_addr = 1690347712 //設(shè)備IP

recbuf.net_ip_mask =16777215 //設(shè)備子網(wǎng)掩碼

recbuf.net_gateway = 0

recbuf.workmodel=0 //工作模式,1-Server模式,2-Client模式

recbuf.portnum=3 //設(shè)備硬件端口數(shù)

recbuf.mapip[0]=1690347712 //設(shè)備第1個(gè)監(jiān)聽IP

recbuf.mapport[0]=6020 //設(shè)備第1個(gè)監(jiān)聽端口,對應(yīng)第1個(gè)硬件端口。

recbuf.mapip[1]=1690347712

recbuf.mapport[1]=6021

recbuf.mapip[2]=1690347712

recbuf.mapport[2]=6030

 

3.     向設(shè)備發(fā)送遠(yuǎn)程配置報(bào)文

memset(sencfgdbuf, 0, sizeof(sendbuf));

sencfgdbuf.msg_type=3

sencfgdbuf.net_hostname='123456789ABC'

sencfgdbuf.net_ip_addr=inet_addr('192.168.192.100')

sencfgdbuf.net_ip_mask=inet_addr('255.255.255.0')

sencfgdbuf.net_gateway=0

sencfgdbuf.net_mac=要配置的設(shè)備MAC地址//必須是正確的網(wǎng)絡(luò)物理地址。

sencfgdbuf.cfgpwd='admin'//必須為正確的配置口令,與管理菜單登錄口令相同。

 以太網(wǎng)產(chǎn)品召喚及遠(yuǎn)程配置協(xié)議 串口服務(wù)器