test.py 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import socket
  2. import json
  3. import random
  4. import time
  5. # 创建UDP socket
  6. sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  7. def send(addr, port, data):
  8. try:
  9. json_data = json.dumps(data)
  10. message = json_data.encode('utf-8')
  11. # 发送数据
  12. sock.sendto(message, (addr, port))
  13. # print(f"send to {addr}:{port}")
  14. # print(f"content: {data}")
  15. except Exception as e:
  16. print(f"error: {e}")
  17. finally:
  18. pass
  19. if __name__ == "__main__":
  20. # 目标地址和端口
  21. addr = "192.168.1.101" # 本地回环地址
  22. port = 18000
  23. while True:
  24. data = {
  25. # TimeHistory
  26. "IASC2_CHS_ARINC_OUT_L231_CH_FAULT": random.uniform(-50.0, 1001.0),
  27. "IASC2B_ARINC_OUT_L260_TAV2_OPEN": random.uniform(-50.0, 1001.0),
  28. "IASC2A_ARINC_OUT_L270_CABIN_NEG_DIFF_PRESS_W": random.uniform(-50.0, 1001.0),
  29. "IASC1B_ARINC_OUT_L270_CABIN_HI_DIFF_PRESS_W": random.uniform(-50.0, 1001.0),
  30. # Dial
  31. "IASC2B_ARINC_OUT_L270_HAAO_MODE_ON": random.uniform(0.0, 100.0),
  32. "IASC2A_ARINC_OUT_L272_FCV_FAIL_IN_POSITION": random.uniform(0.0, 100.0),
  33. # Number
  34. "IASC2B_ARINC_OUT_L272_PACK_DEGRADED": random.uniform(-5.0, 5.0),
  35. "IASC1A_ARINC_OUT_L272_TRIM_AIR_DEGRADED": random.uniform(-5.0, 5.0),
  36. "IASC2B_ARINC_OUT_L272_TRIM_AIR_OFF": random.uniform(-5.0, 5.0),
  37. "IASC2B_ARINC_OUT_L272_TAPRV_OPEN": random.uniform(-5.0, 5.0),
  38. "IASC2A_ARINC_OUT_L304_PACK_CLOSE_CMD": random.uniform(-5.0, 5.0),
  39. # CrossCoordinates
  40. "IASC2A_ARINC_OUT_L306_FWD_EFAN_SPEED_CMD": random.uniform(-5.0, 5.0),
  41. "LRM_B1_L345_R_Lane1_Shield6_Failed_Shorted": random.uniform(-5.0, 5.0),
  42. "LRM_B1_L344_L_Lane2_Shield6_Failed_Open": random.uniform(-5.0, 5.0),
  43. "LRM_A1_L347_L_FRDC_CH_A_CANbus_Fault": random.uniform(-5.0, 5.0),
  44. # Envelope
  45. "LRM_A1_L344_L_Lane2_Shield6_Failed_Open": random.uniform(-2.0, 2.0),
  46. "FADEC_L_CHB_PHM_Maintenance_Word_9_Fault_Repot_021": random.uniform(-2.0, 2.0),
  47. # ScaleSlider
  48. "HM_R1_RDIU_07_Status_RDIU_RTD_PT500_01_Validity_Fault": random.uniform(-10.0, 30.0),
  49. "FCM_1_429_IDU_LI_LO_L204_SSM_FCM1": random.uniform(-10.0, 30.0),
  50. # RollingBelt
  51. "EPS1_L_BPCU_LTRU_VOLT": random.uniform(-100.0, 600.0),
  52. # SignalLight
  53. "sp_op_xch_1_005_wd_08_spare_3D84_17_27_27": random.uniform(-5.0, 5.0),
  54. "ssu_capt_ap_det_sov_tst_flt_set_3D65": random.uniform(-5.0, 5.0),
  55. "sp_op_xch_1_010_wd_01_spare_2D83_3_25_25": random.uniform(-5.0, 5.0),
  56. "ail_rib_adb_health_mon_tst_maint_rst_2D65": random.uniform(-5.0, 5.0),
  57. "pf_op_xch_1_040_wd_10_spare_2D62_21_0_31": random.uniform(-5.0, 5.0),
  58. "irs_1_ir_vert_accel_comp_fl_1D84": random.uniform(-5.0, 5.0),
  59. "pf_op_xch_1_005_wd_21_spare_1D65_44_8_8": random.uniform(-5.0, 5.0),
  60. "elev_l_rig_positive_flt_set_1D65": random.uniform(-5.0, 5.0),
  61. "RUD_LWR_ENGAGE_EHSV_HI_CMD_WA_REU_7D44": random.uniform(-5.0, 5.0),
  62. "AOA1_L1_SIN_4D30": random.uniform(-5.0, 5.0)
  63. }
  64. send(addr, port, data)
  65. time.sleep(1 / 32)