test2.py 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. import asyncio
  2. from test1 import LakiBeamHTTP, Firmware, Monitor, NetWork, OverView, ScanRange, Filter, Host
  3. # 主测试函数
  4. async def main():
  5. # 创建 LakiBeamHTTP 实例
  6. laki_http = LakiBeamHTTP(
  7. local_ip="192.168.8.1",
  8. local_port="8080",
  9. web_ip="192.168.8.2",
  10. web_port="80"
  11. )
  12. # 检查 IP 配置
  13. if laki_http.check_ipconfig():
  14. print("IP 配置有效")
  15. else:
  16. print("IP 配置无效,已使用默认值")
  17. # 测试获取固件信息
  18. firmware = Firmware("", "", "", "", "")
  19. if await laki_http.get_firemware(firmware):
  20. print("+------------------+--------------------------------------+\n"
  21. "| Device Information| |\n"
  22. "+------------------+--------------------------------------+\n"
  23. f"| Model | {firmware.model:<38} |\n"
  24. f"| SN | {firmware.sn:<38} |\n"
  25. f"| FPGA | {firmware.fpga:<38} |\n"
  26. f"| Core | {firmware.core:<38} |\n"
  27. f"| Aux | {firmware.aux:<38} |\n"
  28. "+------------------+--------------------------------------+")
  29. else:
  30. print("获取固件信息失败")
  31. # 测试获取监控信息
  32. monitor = Monitor(0.0, 0.0, 0.0)
  33. if await laki_http.get_monitor(monitor):
  34. print("+------------------+--------------------------------------+\n"
  35. "| System Monitor | |\n"
  36. "+------------------+--------------------------------------+\n"
  37. f"| Load Average | {monitor.load_average:<38} |\n"
  38. f"| Mem Usage | {monitor.men_useage}%{' '*(37-len(str(monitor.men_useage)+'%'))} |\n"
  39. f"| Uptime | {monitor.uptime:.2f}s{' ' * (38 - len(f'{monitor.uptime:.2f}s'))} |\n"
  40. "+------------------+--------------------------------------+")
  41. else:
  42. print("获取监控信息失败")
  43. # 测试获取网络信息
  44. network = NetWork(False, "", "", "", False, "", "", 0)
  45. if await laki_http.get_network(network):
  46. print("+------------------+--------------------------------------+\n"
  47. "| Network Information | |\n"
  48. "+------------------+--------------------------------------+\n"
  49. f"| Carrier | {'True' if network.carrier else 'False':<38} |\n"
  50. f"| Duplex | {network.duplex:<38} |\n"
  51. f"| Ethaddr | {network.ethaddr:<38} |\n"
  52. f"| Hostname | {network.hostname:<38} |\n"
  53. f"| Speed | {network.speed:<38} |\n"
  54. "+------------------+--------------------------------------+")
  55. else:
  56. print("获取网络信息失败")
  57. # 测试获取概述信息
  58. overview = OverView(0, 0, False, 0.0, 0, 0, 0, 0, 0, 0, 0, "", 0)
  59. if await laki_http.get_overview(overview):
  60. print("+------------------+--------------------------------------+\n"
  61. "| Overview Information | |\n"
  62. "+------------------+--------------------------------------+\n"
  63. f"| Scan Frequency | {overview.scanfreq:<38} |\n"
  64. f"| Motor RPM | {overview.motor_rpm:<38} |\n"
  65. f"| Laser Enable | {'True' if overview.laser_enable else 'False':<38} |\n"
  66. f"| Resolution | {overview.resolution:<38} |\n"
  67. f"| Scan Range Start | {overview.scan_range_start:<38} |\n"
  68. f"| Scan Range Stop | {overview.scan_range_stop:<38} |\n"
  69. f"| Filter Level | {overview.filter_level:<38} |\n"
  70. f"| Window | {overview.filter_window:<38} |\n"
  71. f"| Min Angle | {overview.filter_min_angle:<38} |\n"
  72. f"| Max Angle | {overview.filter_max_angle:<38} |\n"
  73. f"| Neighbors | {overview.filter_neighbors:<38} |\n"
  74. f"| Host IP | {overview.host_ip:<38} |\n"
  75. f"| Host Port | {overview.host_port:<38} |\n"
  76. "+------------------+--------------------------------------+")
  77. else:
  78. print("获取概述信息失败")
  79. # 测试获取扫描范围
  80. scan_range = ScanRange(0, 0)
  81. if await laki_http.get_scan_range(scan_range):
  82. print("+------------------+--------------------------------------+\n"
  83. "| Scan Range | |\n"
  84. "+------------------+--------------------------------------+\n"
  85. f"| Start | {scan_range.start:<38} |\n"
  86. f"| Stop | {scan_range.stop:<38} |\n"
  87. "+------------------+--------------------------------------+")
  88. else:
  89. print("获取扫描范围失败")
  90. # 测试获取滤波器设置
  91. filter_settings = Filter(0, 0, 0, 0, 0)
  92. if await laki_http.get_filter_level(filter_settings):
  93. print("+------------------+--------------------------------------+\n"
  94. "| Filter Settings | |\n"
  95. "+------------------+--------------------------------------+\n"
  96. f"| Level | {filter_settings.level:<38} |\n"
  97. f"| Window | {filter_settings.window:<38} |\n"
  98. f"| Min Angle | {filter_settings.min_angle:<38} |\n"
  99. f"| Max Angle | {filter_settings.max_angle:<38} |\n"
  100. f"| Neighbors | {filter_settings.neighbors:<38} |\n"
  101. "+------------------+--------------------------------------+")
  102. else:
  103. print("获取滤波器设置失败")
  104. # 测试获取主机配置
  105. host = Host("", 0)
  106. if await laki_http.get_host(host):
  107. print("+------------------+--------------------------------------+\n"
  108. "|Host Configuration | |\n"
  109. "+------------------+--------------------------------------+\n"
  110. f"| IP | {host.ip:<38} |\n"
  111. f"| Port | {host.port:<38} |\n"
  112. "+------------------+--------------------------------------+")
  113. else:
  114. print("获取主机配置失败")
  115. # 测试获取主机 IP
  116. if await laki_http.get_host_ip(host):
  117. print("+------------------+--------------------------------------+\n"
  118. "| Host IP | |\n"
  119. "+------------------+--------------------------------------+\n"
  120. f"| IP | {host.ip:<38} |\n"
  121. "+------------------+--------------------------------------+")
  122. else:
  123. print("获取主机 IP 失败")
  124. # 测试获取主机端口
  125. if await laki_http.get_host_port(host):
  126. print("+------------------+--------------------------------------+\n"
  127. "| Host Port | |\n"
  128. "+------------------+--------------------------------------+\n"
  129. f"| Port | {host.port:<38} |\n"
  130. "+------------------+--------------------------------------+")
  131. else:
  132. print("获取主机端口失败")
  133. # 测试获取激光状态
  134. laser_state = ""
  135. if await laki_http.get_laser_enable():
  136. laser_state = "true" if laser_state else "false"
  137. print("+------------------+--------------------------------------+\n"
  138. "| Laser State | |\n"
  139. "+------------------+--------------------------------------+\n"
  140. f"| Laser Enable | {laser_state:<38} |\n"
  141. "+------------------+--------------------------------------+")
  142. else:
  143. print("获取激光状态失败")
  144. # 测试获取激光分辨率
  145. overview = OverView(0, 0, False, 0.0, 0, 0, 0, 0, 0, 0, 0, "", 0)
  146. success, resolution = await laki_http.get_resolution(overview)
  147. if success:
  148. print("+------------------+--------------------------------------+\n"
  149. "|Laser Resolution | |\n"
  150. "+------------------+--------------------------------------+\n"
  151. f"| Resolution | {resolution:<38} |\n"
  152. "+------------------+--------------------------------------+")
  153. else:
  154. print("获取激光分辨率失败")
  155. # 测试获取激光扫描起始角度
  156. scan_range_start = ScanRange(0, 0)
  157. success, scan_range_start = await laki_http.get_laser_start(scan_range_start) # 解构返回值
  158. if success: # 检查操作是否成功
  159. print("+------------------+--------------------------------------+\n"
  160. "| Laser Start Angle | |\n"
  161. "+------------------+--------------------------------------+\n"
  162. f"| Start | {scan_range_start.start:<38} |\n"
  163. "+------------------+--------------------------------------+")
  164. else:
  165. print("获取激光扫描起始角度失败")
  166. # 测试获取激光扫描结束角度
  167. scan_range_stop = ScanRange(0, 0) # 创建 ScanRange 对象用于结束角度
  168. success, scan_range_stop = await laki_http.get_laser_stop(scan_range_stop) # 调用获取结束角度的函数
  169. if success: # 检查操作是否成功
  170. print("+------------------+--------------------------------------+\n"
  171. "| Laser Stop Angle | |\n"
  172. "+------------------+--------------------------------------+\n"
  173. f"| Stop | {scan_range_stop.stop:<38} |\n"
  174. "+------------------+--------------------------------------+")
  175. else:
  176. print("获取激光扫描结束角度失败")
  177. if __name__ == "__main__":
  178. asyncio.run(main())