From b6130bebccb7b707a85d0fff8effa5e4d8025558 Mon Sep 17 00:00:00 2001 From: "MATRIX\\29620" <2962004889@qq.com> Date: Sat, 18 Jan 2025 14:57:32 +0800 Subject: [PATCH] no message --- .../__pycache__/command_25.cpython-311.pyc | Bin 9728 -> 9221 bytes .../__pycache__/command_26_27.cpython-311.pyc | Bin 16845 -> 8504 bytes charging_pile_proxy/commands/command_1F_20.py | 201 ++++++++ charging_pile_proxy/commands/command_23_24.py | 465 ++++++------------ charging_pile_proxy/commands/command_25.py | 53 +- charging_pile_proxy/commands/command_26_27.py | 450 +++++------------ .../__pycache__/proxy_server.cpython-311.pyc | Bin 17731 -> 18147 bytes charging_pile_proxy/core/proxy_server.py | 52 +- 玖行原始报文/1F.txt | 19 + 玖行原始报文/20.txt | 21 + 10 files changed, 561 insertions(+), 700 deletions(-) create mode 100644 charging_pile_proxy/commands/command_1F_20.py create mode 100644 玖行原始报文/1F.txt create mode 100644 玖行原始报文/20.txt diff --git a/charging_pile_proxy/commands/__pycache__/command_25.cpython-311.pyc b/charging_pile_proxy/commands/__pycache__/command_25.cpython-311.pyc index bf589cb806ac1eddfe397fe7edfd12c2213aa00e..1d17fb44e8121a2787ddd509caa2464ffe5dd74e 100644 GIT binary patch delta 1604 zcmZvcYfM~46o6;;-hINpx=$_z?y?VsEFh`2wWcV$i%=ASP^8!pUYFJy>f`Pr+AKmU zv<=llJjPASf}5I3eMK5*t&v88e~c#068S+$YWimv_7|WuR{i75F3?Tu7mwnn|@9yGp;-N?)JmB&AR&RYB|M2o7p@9=8 zyIMQm4RrbAk=fYnNaxz@rK7R$XWV=|e2yS=h2n;rkDWW?=2s>^YI!7uNRN6VDn}?m zKbokepeIeR6jFjyMqgJ)&vCwpKTP(6M(s=Z3z*a%D=#2Ue=flQik8--o}2a8?Nja7 zTr;j6lbA`9n6{JDwTu2Pfv2@YweAy+Hh`E-Q_)g*UZkxk(zFoO9>gWEUtgWkELX^sU`AI4DYGBEbBS~nd|1vy*OUlS8d+5FJ^hQaO#3N@{zddt+7oVjb z`pt-E;>*~`cf|G_ylisga(Lfl%k>b~GA`c=jtvd1e0-feiL)bQp%>;&cI<<=sT5a$ z)ojC+aKOA9S3#56on1{+r#4;r0pjDIrnV+=FTjMkKzWGz?F4``vSBJ$4foA@nUfeq z4z!j^?1CoC9$W_JEstAEhlFG)gk{|3O-gTq64_=&Vs4 zYgQMoqaEy>-mv~I-IGk-Mgv_G^%PAMM+gd7ktPz45-iKaE`LvVKr9AH-cz^-_UCQd z+o-pb!b(9KGu3Xi&qWF;)bjRSuVJZm9i{OI4Dux^x_}|?pNHWV-w9Q=9N-nX3>(D2 z+srU$(?}vxz><8pZL?q*nHk|9Tb@%Il!y{R_Bs}l|BZ)#QG%iY6)306@=GziZEs}c zq7!c0t(hWiZLyZ36aKYxxC6`%yXqt{43pPC1ztz7ZiB)4Ze|lv4jj5CgG-LHTmubC yejHkF@?;{769st2nSyhBBb@cz-NZL2kz16G^SK@V)Mi>0%Ecy>zFR!cs delta 1845 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 2025-01-09 12:15:44 + 解析时间字节 """ - - def bcd_to_int(byte): - """BCD转换为整数""" - return ((byte >> 4) * 10) + (byte & 0x0F) - try: - # 解析时间字段 - year = bcd_to_int(time_bytes[0]) + 2000 # BCD年转换 (0x19 -> 25 -> 2025年) - month = bcd_to_int(time_bytes[1]) # BCD月 (0x01 -> 1月) - day = bcd_to_int(time_bytes[2]) # BCD日 (0x09 -> 9日) - hour = bcd_to_int(time_bytes[3]) # BCD时 (0x0C -> 12时) - minute = bcd_to_int(time_bytes[4]) # BCD分 (0x16 -> 22分) - second = bcd_to_int(time_bytes[5]) # BCD秒 (0x12 -> 18秒) + # 打印时间字节用于调试 + print(f"Parsing time bytes: {[hex(b) for b in time_bytes]}") - # 调试输出,查看BCD解码后的结果 - print(f"Debug - Raw bytes: {[hex(b) for b in time_bytes]}") - print(f"Debug - Decoded: {year}-{month}-{day} {hour}:{minute}:{second}") + year = time_bytes[0] + 2000 # 25 + 2000 = 2025 + month = time_bytes[1] # 1 + day = time_bytes[2] # 9 + hour = time_bytes[3] # 12 + minute = time_bytes[4] # 15/16 + second = time_bytes[5] # 44/18 - # 返回格式化时间字符串 return f"{year:04d}-{month:02d}-{day:02d} {hour:02d}:{minute:02d}:{second:02d}" - except Exception as e: print(f"时间解析错误: {e}") print(f"错误的时间字节: {[hex(b) for b in time_bytes]}") return "Invalid time" - # 解析每个字段 + # 打印整个数据域的十六进制,用于调试 + print("Full data field:") + print(' '.join(hex(b) for b in data_field)) + + # 找到订单号后的时间字段 + order_no = data_field[32:64].decode('ascii').rstrip('\x00') + order_end_pos = 64 + + # 开始和结束时间应该在订单号之后 + start_time_pos = order_end_pos + 1 # 跳过一个字节 + start_time_bytes = data_field[start_time_pos:start_time_pos + 6] + end_time_bytes = data_field[start_time_pos + 6:start_time_pos + 12] + parsed_data = { # 基础信息 "pile_id": pile_id.hex().upper(), @@ -82,11 +82,11 @@ class Command25: "service_amount": struct.unpack("HVGWeDCv} zbH0A{8vbPp>rd%)83@Mhwxff=+GBbV|8}hG8?S_uHxL(lJ#gbqWuO zArwdbwiPcD0w3J=cDJ2M!Yz*E(pL3T*(MN^LIy<)%=EN6jy<$A?H<*o>##ael>V)N z9rR~iIkr%}zAA6kLROE2qOo9@SZSC3Fc@9aKdmiiUfKZ;SdOQOi9K0$0#!TeXSDCrS;8)={xLm)|xHw7Zme~i`mQCeM4!VAPly9;3|sX;?WpvY8&T z6wvQ2WpszBfL2+3=@^C2fCJ;KBg$Fn6$<+Io4q;bRug;LhX>vOb~yO0DQY_pvX7q1QL zQ^Hnj6_-p$s-%~SO?cH6&337mSN7WMnh7+axJm8Zg$NkOv?B7?Wn5YYF2*eYx2Hc_c=eN-`Yj8G-o5?t2Mb4z+?hVNF!SERhf|IA#2cm4 zxTTa>K~YwbVBiIrAAuKN%+^_h!B~GZ5*UUl6y6(2yh zc>Fv)QBhcULo{CztFDWUm&L{}>Mn`?E296R@=MHB+`~B?JjyFjY_QI{wDjk;#E-t6 z+~jWWZXdc@iF;M(s;{}*z+bE2fWGEy!yKc zwCL?gM{;^bFXrW3S5Ff!Hwi$`sc@fr`_!9HZ+p`n+j#&91((w0Wlh9PNCW z0IYd0-{(u5ujx|bYN~5+PwrtAVwFgCOjgF!f!yCz*>fUo4308*gaK>XvT7(23a=@x z(rz`x!xSE4u#3SHOjQ#YiNN8FMh9j6-UvO{V6~?Du?94f{TNVb$=2vO2!e*$ub6p98S;czezyMI4^kh}S0a!N|+$|Zx0qCALJ zBFieqK45NRmoF3^>i?pPxy2Ks61&fGW_S{9*AtYVyso7|;}E>m+mm7AR0jdBv~IS~~D zM`CbOCvKOGf#hF&v~ro~uh{_agybq=7`($^HU8h}O`{QMd?eURPJsZ!7adL9YI9<` YxH-?C(Wk<-i|E04SKLD{!lb&YoV-O$eiXE~g*OFrh7`$&7oL{3Srx)Pgq_>v0K6~VgcIg{>)iZn=0Wfx z)WUD(BK1SI>~~?QTpKU{TB1Q{vnOaByl8KB-gno{*-SxA=a>)9*^g5h8XeD@<0#Rm zopkg|vx_zI*yx(N;EbELJIzfK}1Zq3r1%DIt1w6DCMgjq6)k=6u9ar(4 zF)4mn2&5{iSNO9vFc*xhr>veIM!e6uAQXtkXRJjl;}2iLUt^4-hX!E-N+TS0k3zn}0#evn=FR;YA!<7W!akS}S^3?V3)h%PR7cX@+=2XRA?e~v>1kb>oR~;67J;068p82N6V{V%J~En} zOc!)VdRk?pDRpEblTD9g6c#e}D5P`BatVSO55=(P7}l>|re?;|`AKz6MLx-Sc^$9F zPvRQg1-XQW#^JR@XVrWeA+L}n(-CUfy11d{bn*@v(H0ZiMD4kzTXg-bK%6dvq&EM( zdw=w3yIb}MvwOpPW8`v_4z-iZv93X@cqJlm`%0`^;FGHjIJqiY&~ELv4@%-9kvO#| zNt{}=ifG%DgI#2?%R2O^c&$7-)GA(UmC$ad!!hw%XL5hsq&EuO*5lUUaGBl~9rl%7 zcT1e9xbBlUbv-N&$FyWyznM0}(RO)uAEp40T53p`r`1$H*t5EE6>lti72$D&J`TER zET74($(_;7EKEj+rx5la44|temCYB@BjbgGy8S>N>O1_A)plp$9;J52(dc-rms2mt zVBX<|*$x}MtDWljSjym?VOX7OVlVKiE~T>RQD*#a<4@~WB~wV{bGdX%eeht|hh?!8 zr4d_sLCsHKXa#ISMhI}eyMYGahwhv1B