Former-commit-id: 8f85f63d5c67f19eae99e6fdb162d9b85d6f3b76
TangShanKaiPing
wanggang 6 years ago
parent e5b6b609ce
commit b3a5e9fa89

@ -76,7 +76,6 @@ namespace IoT.Shared.DeviceServices.FBee
catch (Exception ex) catch (Exception ex)
{ {
ex.PrintStack(); ex.PrintStack();
this.Connect(item.Value);
} }
} }
await Task.Delay(1000 * 60); await Task.Delay(1000 * 60);
@ -187,28 +186,35 @@ namespace IoT.Shared.DeviceServices.FBee
var gateways = deviceRepo.ReadOnlyTable().Where(o => o.Product.Name == "FBee网关").ToList(); var gateways = deviceRepo.ReadOnlyTable().Where(o => o.Product.Name == "FBee网关").ToList();
foreach (var gateway in gateways) foreach (var gateway in gateways)
{ {
if (Clients.Any(o => o.Key == gateway.Number)) try
{ {
Clients.TryGetValue(gateway.Number, out TcpClientWrapper client); if (Clients.Any(o => o.Key == gateway.Number))
if (client.Ip != gateway.Ip)
{ {
this.Connect(client); Clients.TryGetValue(gateway.Number, out TcpClientWrapper client);
} if (client.Ip != gateway.Ip)
else
{
if (!client.Client.Connected)
{ {
this.Connect(client); this.Connect(client);
} }
else
{
if (!client.Client.Connected)
{
this.Connect(client);
}
}
} }
else
{
var client = new TcpClientWrapper { Sn = gateway.Number, Ip = gateway.Ip, Client = new TcpClient() };
Clients.TryAdd(gateway.Number, client);
this.Connect(client);
}
this.X81(gateway.Number);
} }
else catch (Exception ex)
{ {
var client = new TcpClientWrapper { Sn = gateway.Number, Ip = gateway.Ip, Client = new TcpClient() }; ex.PrintStack();
Clients.TryAdd(gateway.Number, client);
this.Connect(client);
} }
this.X81(gateway.Number);
} }
} }
} }
@ -386,7 +392,6 @@ namespace IoT.Shared.DeviceServices.FBee
if (!client.Client.Connected) if (!client.Client.Connected)
{ {
this.Connect(client); this.Connect(client);
client.Client.GetStream().Write(bytes);
} }
} }
} }

@ -171,52 +171,35 @@ namespace IoT.Shared.DeviceServices.Onvif
} }
ipCamera.ParseProfiles(); ipCamera.ParseProfiles();
if (needAuth)
{
ipCamera.MainStreamUriXml = this._onvifDeviceManagement.GetStreamUri(ipCamera.DeviceUrl, ipCamera.MediaUrl, device.UserName, device.Password, ipCamera.Profiles.First().Token);
ipCamera.MainSnapshotUriXml = this._onvifDeviceManagement.GetSnapshotUri(ipCamera.DeviceUrl, ipCamera.MediaUrl, device.UserName, device.Password, ipCamera.Profiles.First().Token);
ipCamera.SubStreamUriXml = this._onvifDeviceManagement.GetStreamUri(ipCamera.DeviceUrl, ipCamera.MediaUrl, device.UserName, device.Password, ipCamera.Profiles.Last().Token);
ipCamera.SubSnapshotUriXml = this._onvifDeviceManagement.GetSnapshotUri(ipCamera.DeviceUrl, ipCamera.MediaUrl, device.UserName, device.Password, ipCamera.Profiles.Last().Token);
}
else
{
ipCamera.MainStreamUriXml = this._onvifDeviceManagement.GetStreamUri(ipCamera.DeviceUrl, ipCamera.MediaUrl, ipCamera.Profiles.First().Token);
ipCamera.MainSnapshotUriXml = this._onvifDeviceManagement.GetSnapshotUri(ipCamera.DeviceUrl, ipCamera.MediaUrl, ipCamera.Profiles.First().Token);
ipCamera.SubStreamUriXml = this._onvifDeviceManagement.GetStreamUri(ipCamera.DeviceUrl, ipCamera.MediaUrl, ipCamera.Profiles.Last().Token);
ipCamera.SubSnapshotUriXml = this._onvifDeviceManagement.GetSnapshotUri(ipCamera.DeviceUrl, ipCamera.MediaUrl, ipCamera.Profiles.Last().Token);
}
ipCamera.ParseStreamUri();
ipCamera.ParseSnapshotUri();
device.AddorUpdateData(device.CreateData("NeedAuth", needAuth ? "是" : "否", DeviceDataType.String, "需认证"));
device.AddorUpdateData(device.CreateData("HasAuth", hasAuth ? "是" : "否", DeviceDataType.String, "已认证"));
device.AddorUpdateData(device.CreateData("DeviceUrl", ipCamera.DeviceUrl, DeviceDataType.String, "设备地址"));
device.AddorUpdateData(device.CreateData("PtzAddress", ipCamera.PTZAddress, DeviceDataType.String, "云台地址"));
device.AddorUpdateData(device.CreateData("Ptz3DZoomSupport", ipCamera.Ptz3DZoomSupport ? "是" : "否", DeviceDataType.String, "缩放支持"));
device.AddorUpdateData(device.CreateData("MainToken", ipCamera.Profiles.First().Token, DeviceDataType.String, "主码流Token"));
device.AddorUpdateData(device.CreateData("SubToken", ipCamera.Profiles.Last().Token, DeviceDataType.String, "子码流Token"));
device.AddorUpdateData(device.CreateData("MainStreamUri", ipCamera.MainStreamUri, DeviceDataType.String, "主码流地址"));
device.AddorUpdateData(device.CreateData("MainSnapshotUri", ipCamera.MainSnapshotUri, DeviceDataType.String, "主码流截图地址"));
device.AddorUpdateData(device.CreateData("SubStreamUri", ipCamera.SubStreamUri, DeviceDataType.String, "子码流地址"));
device.AddorUpdateData(device.CreateData("SubSnapshotUri", ipCamera.SubSnapshotUri, DeviceDataType.String, "子码流截图地址"));
try try
{ {
var jpgBytes = ScreenShot(device); if (needAuth)
using (var stream = new MemoryStream(jpgBytes)) {
ipCamera.MainStreamUriXml = this._onvifDeviceManagement.GetStreamUri(ipCamera.DeviceUrl, ipCamera.MediaUrl, device.UserName, device.Password, ipCamera.Profiles.First().Token);
ipCamera.MainSnapshotUriXml = this._onvifDeviceManagement.GetSnapshotUri(ipCamera.DeviceUrl, ipCamera.MediaUrl, device.UserName, device.Password, ipCamera.Profiles.First().Token);
ipCamera.SubStreamUriXml = this._onvifDeviceManagement.GetStreamUri(ipCamera.DeviceUrl, ipCamera.MediaUrl, device.UserName, device.Password, ipCamera.Profiles.Last().Token);
ipCamera.SubSnapshotUriXml = this._onvifDeviceManagement.GetSnapshotUri(ipCamera.DeviceUrl, ipCamera.MediaUrl, device.UserName, device.Password, ipCamera.Profiles.Last().Token);
}
else
{ {
using (var bigImage = Image.FromStream(stream)) ipCamera.MainStreamUriXml = this._onvifDeviceManagement.GetStreamUri(ipCamera.DeviceUrl, ipCamera.MediaUrl, ipCamera.Profiles.First().Token);
{ ipCamera.MainSnapshotUriXml = this._onvifDeviceManagement.GetSnapshotUri(ipCamera.DeviceUrl, ipCamera.MediaUrl, ipCamera.Profiles.First().Token);
var width = 640; ipCamera.SubStreamUriXml = this._onvifDeviceManagement.GetStreamUri(ipCamera.DeviceUrl, ipCamera.MediaUrl, ipCamera.Profiles.Last().Token);
var height = 480; ipCamera.SubSnapshotUriXml = this._onvifDeviceManagement.GetSnapshotUri(ipCamera.DeviceUrl, ipCamera.MediaUrl, ipCamera.Profiles.Last().Token);
using (var bitmap = new Bitmap(width, height))
{
using (Graphics g = Graphics.FromImage((Image)bitmap))
{
g.DrawImage(bigImage, 0, 0, width, height);
device.AddorUpdateData(device.CreateData("Snapshot", Convert.ToBase64String(bitmap.ToJpeg(80)), DeviceDataType.String, "截图"));
}
}
}
} }
ipCamera.ParseStreamUri();
ipCamera.ParseSnapshotUri();
device.AddorUpdateData(device.CreateData("NeedAuth", needAuth ? "是" : "否", DeviceDataType.String, "需认证"));
device.AddorUpdateData(device.CreateData("HasAuth", hasAuth ? "是" : "否", DeviceDataType.String, "已认证"));
device.AddorUpdateData(device.CreateData("DeviceUrl", ipCamera.DeviceUrl, DeviceDataType.String, "设备地址"));
device.AddorUpdateData(device.CreateData("PtzAddress", ipCamera.PTZAddress, DeviceDataType.String, "云台地址"));
device.AddorUpdateData(device.CreateData("Ptz3DZoomSupport", ipCamera.Ptz3DZoomSupport ? "是" : "否", DeviceDataType.String, "缩放支持"));
device.AddorUpdateData(device.CreateData("MainToken", ipCamera.Profiles.First().Token, DeviceDataType.String, "主码流Token"));
device.AddorUpdateData(device.CreateData("SubToken", ipCamera.Profiles.Last().Token, DeviceDataType.String, "子码流Token"));
device.AddorUpdateData(device.CreateData("MainStreamUri", ipCamera.MainStreamUri, DeviceDataType.String, "主码流地址"));
device.AddorUpdateData(device.CreateData("MainSnapshotUri", ipCamera.MainSnapshotUri, DeviceDataType.String, "主码流截图地址"));
device.AddorUpdateData(device.CreateData("SubStreamUri", ipCamera.SubStreamUri, DeviceDataType.String, "子码流地址"));
device.AddorUpdateData(device.CreateData("SubSnapshotUri", ipCamera.SubSnapshotUri, DeviceDataType.String, "子码流截图地址"));
} }
catch (Exception ex) catch (Exception ex)
{ {

@ -1,5 +1,5 @@
{ {
"version": "1.0.0-rc.11", "version": "1.0.0-rc.12",
"Logging": { "Logging": {
"LogLevel": { "LogLevel": {
"Default": "Warning", "Default": "Warning",

@ -1,5 +1,5 @@
{ {
"version": "1.0.0-rc.11", "version": "1.0.0-rc.12",
"Logging": { "Logging": {
"LogLevel": { "LogLevel": {
"Default": "Warning", "Default": "Warning",

@ -473,9 +473,9 @@
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<div class="row" style="text-align:center;padding:3px 0;"> <div class="row" style="text-align:center;padding:3px 0;">
<img @click="CallApi(device.Number,'/Curtain/On')" src="/images/on.png" /> <img style="height:32px;" @click="CallApi(device.Number,'/Curtain/On')" src="/images/left.png" />
<img @click="CallApi(device.Number,'/Curtain/Stop')" src="/images/stop32.png" /> <img style="height:32px;" @click="CallApi(device.Number,'/Curtain/Stop')" src="/images/stop.png" />
<img @click="CallApi(device.Number,'/Curtain/Off')" src="/images/off.png" /> <img style="height:32px;" @click="CallApi(device.Number,'/Curtain/Off')" src="/images/right.png" />
</div> </div>
</div> </div>
</div> </div>

Loading…
Cancel
Save