BridgeTest.java 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. package org.jetlinks.community;
  2. import lombok.extern.slf4j.Slf4j;
  3. import org.jetlinks.community.media.bean.SSRCInfo;
  4. import org.jetlinks.community.media.entity.SipServerConfig;
  5. import org.jetlinks.community.media.service.LocalMediaDeviceService;
  6. import org.jetlinks.community.media.sip.SipServerHelper;
  7. import org.jetlinks.community.media.transmit.cmd.SipCommander;
  8. import org.jetlinks.community.media.zlm.entity.MediaServerItem;
  9. import org.jetlinks.community.standalone.JetLinksApplication;
  10. import org.jetlinks.core.device.DeviceRegistry;
  11. import org.jetlinks.core.event.EventBus;
  12. import org.jetlinks.supports.server.DecodedClientMessageHandler;
  13. import org.junit.Test;
  14. import org.junit.runner.RunWith;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.boot.test.context.SpringBootTest;
  17. import org.springframework.context.annotation.EnableAspectJAutoProxy;
  18. import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
  19. import reactor.core.publisher.Mono;
  20. /**
  21. * @author lifang
  22. * @version 1.0.0
  23. * @ClassName bridge.java
  24. * @Description TODO
  25. * @createTime 2021年12月02日 08:13:00
  26. */
  27. @RunWith(SpringJUnit4ClassRunner.class)
  28. @SpringBootTest(classes = JetLinksApplication.class, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
  29. @Slf4j
  30. @EnableAspectJAutoProxy(proxyTargetClass = true,exposeProxy = true)
  31. public class BridgeTest {
  32. @Autowired
  33. private EventBus eventBus;
  34. @Autowired
  35. private DeviceRegistry registry;
  36. @Autowired
  37. private DecodedClientMessageHandler messageHandler;
  38. @Autowired
  39. private SipCommander sipCommander;
  40. @Autowired
  41. SipServerHelper serverHelper;
  42. @Autowired
  43. LocalMediaDeviceService mediaDeviceService;
  44. //
  45. //
  46. @Test
  47. public void init() throws InterruptedException {
  48. serverHelper.createSip( SipServerConfig.of("34020000002000000001","192.168.10.100", 7001,"udp","340200000","utf-8","12345678",10L,"1")).subscribe();
  49. Thread.sleep(3000);
  50. System.out.println("开始调用invite方法");
  51. SSRCInfo ssrcInfo = SSRCInfo.of(10000,"1000",null);
  52. MediaServerItem mediaServerItem = new MediaServerItem();
  53. mediaServerItem.setSdpIp("1.15.89.83");
  54. mediaDeviceService.findById("34020000001320000003")
  55. .flatMap(device->{
  56. device.setStreamMode("udp");
  57. return sipCommander.playStreamCmd(mediaServerItem, ssrcInfo,device, "34020000002000000001")
  58. .doOnNext(s->{
  59. System.out.println(s);
  60. })
  61. .then(Mono.empty());
  62. }
  63. )
  64. .subscribe();
  65. while (true){
  66. }
  67. }
  68. // @Test
  69. // public void init() throws InterruptedException {
  70. // AliIotBridgeDeviceConfig bridgeConfig = new AliIotBridgeDeviceConfig();
  71. // bridgeConfig.setDeviceName("ceshi_");
  72. // bridgeConfig.setDeviceSecret("81be3f5ef0b9d383e270218f262c353");
  73. // bridgeConfig.setProductKey("a1UmTLN10zP");
  74. // bridgeConfig.setId("123");
  75. //
  76. //
  77. // AliIotBridgeEntity aliIotBridgeEntity = new AliIotBridgeEntity();
  78. // AliIotBridgeEntity.AccessConfig accessConfig = new AliIotBridgeEntity.AccessConfig();
  79. // accessConfig.setAccessKey("LTAIcCyEivml1zSX");
  80. // accessConfig.setAccessSecret("nFHWpY8rT1fP3vobiFz3jYnSoHm5fl");
  81. // accessConfig.setAuthEndpoint("https://iot-auth.cn-shanghai.aliyuncs.com/auth/bridge");
  82. // accessConfig.setHttp2Endpoint("https://a1UmTLN10zP.iot-as-http2.cn-shanghai.aliyuncs.com:443");
  83. // accessConfig.setProductKey("a1UmTLN10zP");
  84. // accessConfig.setRegionId("cn-shanghai");
  85. // aliIotBridgeEntity.setProductId("1");
  86. // aliIotBridgeEntity.setAccessConfig(accessConfig);
  87. //// AliBridgeGateway aliBridgeGateway = new AliBridgeGateway(registry,eventBus,messageHandler);
  88. //
  89. // aliBridgeGateway.initBridge(aliIotBridgeEntity)
  90. // .doOnError(error->{
  91. // System.out.println(error);
  92. // })
  93. // .subscribe();
  94. //
  95. //// aliBridgeGateway.getBridgeServer().flatMap(server->server.register("819b4fd3896e67f74195df36920ae55a","a1UmTLN10zP","ceshi_","81be3f5ef0b9d383270218f862c353")).subscribe();
  96. //
  97. // Thread.sleep(10000);
  98. // DeviceOnlineMessage onlineMessage = new DeviceOnlineMessage();
  99. // onlineMessage.setId("819b4fd3896e67f74195df36920ae55a");
  100. // eventBus.publish("/device/1/819b4fd3896e67f74195df36920ae55a/online",onlineMessage)
  101. // .doOnError(error->{
  102. // System.out.println(error);
  103. // })
  104. // .subscribe();
  105. //
  106. // ReportPropertyMessage propertyMessage = new ReportPropertyMessage();
  107. // propertyMessage.setId("819b4fd3896e67f74195df36920ae55a");
  108. // propertyMessage.setProperties(MapUtil.of(Pair.of("LightStatus",0)));
  109. // eventBus.publish("/device/1/819b4fd3896e67f74195df36920ae55a/message/property/report",propertyMessage).subscribe();
  110. // while (Thread.activeCount()>1){
  111. //
  112. // }
  113. // }
  114. }