XiaomiAGVMQTT_Base.cs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. using MqttnetServerWin;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using static MainForm.ClassFile.XiaomiAPI_AGV.XiaomiAGVMQTT_Loading;
  8. namespace MainForm.ClassFile.XiaomiAPI_AGV
  9. {
  10. /// <summary>
  11. /// 小米AGV Mqtt类
  12. /// </summary>
  13. public class XiaomiAGVMQTT_Base
  14. {
  15. #region 变量
  16. /// <summary>
  17. /// AGV 接收信息用的订阅号
  18. /// </summary>
  19. public static string AgvTopic = "iiot_tm_comm_control_up/tm/up/control/agv";
  20. /// <summary>
  21. /// 设备 接收信息用的订阅号
  22. /// </summary>
  23. public static string DeviceTopic = "iiot_tm_comm_control_down/tm/down/control/{0}";
  24. #endregion 变量
  25. /// <summary>
  26. /// 装备 订阅 agv报文
  27. /// </summary>
  28. /// <param name="mqttHelper"></param>
  29. /// <param name="portCode">设备号</param>
  30. public static ResultData_MQTT DeviceTopicAGV(ref MQTTHelper mqttHelper, string portCode)
  31. {
  32. string deviceTopic = string.Format(DeviceTopic, portCode);
  33. ResultData_MQTT result = mqttHelper.SubscribeAsync_Client(deviceTopic).Result;
  34. return result;
  35. }
  36. /// <summary>
  37. /// AGV发送来的报文 - 实体
  38. /// </summary>
  39. public class FromAGV
  40. {
  41. /// <summary>
  42. /// 事件;非必填
  43. /// </summary>
  44. public string things { set; get; } = null;
  45. /// <summary>
  46. /// 服务内容
  47. /// </summary>
  48. public FromAGVService service { set; get; } = new FromAGVService();
  49. /// <summary>
  50. /// 时间戳;13位
  51. /// </summary>
  52. public string time { set; get; } = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString();
  53. /// <summary>
  54. /// 服务内容
  55. /// </summary>
  56. public class FromAGVService
  57. {
  58. /// <summary>
  59. /// Id 等于 时间戳time
  60. /// </summary>
  61. public string callId { set; get; } = string.Empty;
  62. /// <summary>
  63. /// 任务标识符
  64. /// control/outgoing 出料请求
  65. /// control/outgoing/finish 出料完成
  66. /// </summary>
  67. public string identifier { set; get; } = string.Empty;
  68. /// <summary>
  69. /// 接驳台信息
  70. /// </summary>
  71. public string inputItems { set; get; } = string.Empty;
  72. }
  73. }
  74. }
  75. }