Compare commits
2 Commits
e0ee7ca9dc
...
07830df99d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
07830df99d | ||
|
|
4171dce2e7 |
2
MainForm.Designer.cs
generated
2
MainForm.Designer.cs
generated
@@ -28,6 +28,7 @@
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
|
||||
lbMain = new ListBox();
|
||||
SuspendLayout();
|
||||
//
|
||||
@@ -48,6 +49,7 @@
|
||||
AutoScaleMode = AutoScaleMode.Font;
|
||||
ClientSize = new Size(800, 450);
|
||||
Controls.Add(lbMain);
|
||||
Icon = (Icon)resources.GetObject("$this.Icon");
|
||||
Name = "MainForm";
|
||||
Text = "RoboSpot MotionCamera finder";
|
||||
FormClosing += MainForm_FormClosing;
|
||||
|
||||
30
MainForm.cs
30
MainForm.cs
@@ -1,8 +1,11 @@
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Net;
|
||||
using System.Net.NetworkInformation;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Web;
|
||||
using Tmds.MDns;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace robospot_camera_finder
|
||||
{
|
||||
@@ -44,6 +47,33 @@ namespace robospot_camera_finder
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
bool got_proper_ip = false;
|
||||
foreach (var net_interface in NetworkInterface.GetAllNetworkInterfaces())
|
||||
{
|
||||
IPInterfaceProperties prop = net_interface.GetIPProperties();
|
||||
foreach (var ip in prop.UnicastAddresses)
|
||||
{
|
||||
if (ip.Address.ToString().StartsWith("10."))
|
||||
{
|
||||
if (ip.IPv4Mask.ToString() == "255.0.0.0")
|
||||
{
|
||||
got_proper_ip = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!got_proper_ip)
|
||||
{
|
||||
DialogResult open_netsettings = MessageBox.Show("No Ethernet interface on the 10.0.0.0/8 subnet found. Cameras might not be detected. Do you want to open network settings ?", "Wrong IP configuration", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);
|
||||
if (open_netsettings == DialogResult.Yes)
|
||||
{
|
||||
ProcessStartInfo startInfo = new ProcessStartInfo("NCPA.cpl");
|
||||
startInfo.UseShellExecute = true;
|
||||
|
||||
Process.Start(startInfo);
|
||||
}
|
||||
}
|
||||
|
||||
browser.StartBrowse("_rtsp._tcp");
|
||||
|
||||
lbMain.DataSource = all_cameras;
|
||||
|
||||
@@ -57,4 +57,29 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAP9UAAD/VwAA
|
||||
/w0AAAAAAAAAgwAAAMgAAADIAAAAyAAAALsAAAAAAAAAAAAAAAAAAADLAAAA0AAAGNQAAN/4AAD//wAA
|
||||
//8AAP/iAAD/HgAAAIIAAAD/AAAA/wAAAP8AAAD/AAAAFgAAAAAAAAAUAAAA/wAAAP8AAIT/AAD//wAA
|
||||
//8AAP//AAD//wAA/5cAAABYAAAA/wAAAP8AAAD/AAAA/wAAAEAAAAAAAAAALwAAAP8AAAD/AACi/wAA
|
||||
//8AAP//AAD//wAA//8AAP+0AAAALwAAAP8AAAD/AAAA/wAAAP8AAABrAAAAAAAAAEsAAAD/AAAA/wAA
|
||||
Wv8AAP//AAD//wAA//8AAP//AAD/bQAAAAgAAAD9AAAA/wAAAP8AAAD/AAAAlQAAAAAAAABnAAAA/wAA
|
||||
AP8AAAD/AAB7/wAA9fcAAP/wAAD/iAAAAAIAAAAAAAAA2wAAAP8AAAD/AAAA/wAAAM8AAABQAAAApgAA
|
||||
AP8AAAD/AAAA/wAAAP8AAABXAAAAAAAAAAAAAAAAAAAAAAAAALEAAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAApgAAABsAAAAAAAAAAAAAAAAAAACIAAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADsAAAAMwAAAAAAAAAAAAAAXgAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMAAAALAAAAAAAAADQAAAD/AAAA/wAA
|
||||
AP8AAAD/AAAAZAAAAAAAAAAAAAAADgAAAMoAAAD/AAAA/wAAAP8AAAD/AAAAawAAAAAAAAAMAAAA/gAA
|
||||
AP8AAAD/AAAA/wAAAIwAAAAAAAAAAAAAAAYAAACwAAAA/wAAAP8AAAD/AAAA/wAAAKgAAAAAAAAAAAAA
|
||||
AOEAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACfAAAAAAAA
|
||||
AAAAAAC3AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAAPgAA
|
||||
AAAAAAAAAAAAjQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADXAAAAUAAA
|
||||
AAAAAAAAAAAAAAAAABkAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADQAAAAZAAAAAAAA
|
||||
AAAAAAAA//EAAAcAAAACAAAAAgAAAAIAAACCAQAAgAcAAIADAACAAQAAgAAAAIGAAACBwAAAwAAAAMAA
|
||||
AADAAQAAwAcAAA==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
60
StreamViewer.Designer.cs
generated
60
StreamViewer.Designer.cs
generated
@@ -31,11 +31,12 @@ namespace robospot_camera_finder
|
||||
private void InitializeComponent()
|
||||
{
|
||||
components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(StreamViewer));
|
||||
videoView = new LibVLCSharp.WinForms.VideoView();
|
||||
tbZoom = new TrackBar();
|
||||
lblMinZoom = new Label();
|
||||
lblMaxZoom = new Label();
|
||||
timerUpdateZoom = new System.Windows.Forms.Timer(components);
|
||||
btnZoomMin = new Button();
|
||||
btnZoomMax = new Button();
|
||||
((System.ComponentModel.ISupportInitialize)videoView).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)tbZoom).BeginInit();
|
||||
SuspendLayout();
|
||||
@@ -68,44 +69,49 @@ namespace robospot_camera_finder
|
||||
tbZoom.KeyUp += tbZoom_KeyUp;
|
||||
tbZoom.MouseUp += tbZoom_MouseUp;
|
||||
//
|
||||
// lblMinZoom
|
||||
//
|
||||
lblMinZoom.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
|
||||
lblMinZoom.AutoSize = true;
|
||||
lblMinZoom.Location = new Point(902, 492);
|
||||
lblMinZoom.Name = "lblMinZoom";
|
||||
lblMinZoom.Size = new Size(19, 15);
|
||||
lblMinZoom.TabIndex = 2;
|
||||
lblMinZoom.Text = "1x";
|
||||
//
|
||||
// lblMaxZoom
|
||||
//
|
||||
lblMaxZoom.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||
lblMaxZoom.AutoSize = true;
|
||||
lblMaxZoom.Location = new Point(902, 12);
|
||||
lblMaxZoom.Name = "lblMaxZoom";
|
||||
lblMaxZoom.Size = new Size(25, 15);
|
||||
lblMaxZoom.TabIndex = 3;
|
||||
lblMaxZoom.Text = "32x";
|
||||
//
|
||||
// timerUpdateZoom
|
||||
//
|
||||
timerUpdateZoom.Enabled = true;
|
||||
timerUpdateZoom.Interval = 10000;
|
||||
timerUpdateZoom.Tick += timerUpdateZoom_Tick;
|
||||
//
|
||||
// btnZoomMin
|
||||
//
|
||||
btnZoomMin.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
|
||||
btnZoomMin.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
btnZoomMin.Location = new Point(886, 484);
|
||||
btnZoomMin.Name = "btnZoomMin";
|
||||
btnZoomMin.Size = new Size(42, 23);
|
||||
btnZoomMin.TabIndex = 2;
|
||||
btnZoomMin.Text = "1x";
|
||||
btnZoomMin.UseVisualStyleBackColor = true;
|
||||
btnZoomMin.Click += btnZoomMin_Click;
|
||||
//
|
||||
// btnZoomMax
|
||||
//
|
||||
btnZoomMax.Anchor = AnchorStyles.Top | AnchorStyles.Right;
|
||||
btnZoomMax.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
btnZoomMax.Location = new Point(886, 12);
|
||||
btnZoomMax.Name = "btnZoomMax";
|
||||
btnZoomMax.Size = new Size(42, 23);
|
||||
btnZoomMax.TabIndex = 3;
|
||||
btnZoomMax.Text = "32x";
|
||||
btnZoomMax.UseVisualStyleBackColor = true;
|
||||
btnZoomMax.Click += btnZoomMax_Click;
|
||||
//
|
||||
// StreamViewer
|
||||
//
|
||||
AutoScaleDimensions = new SizeF(7F, 15F);
|
||||
AutoScaleMode = AutoScaleMode.Font;
|
||||
ClientSize = new Size(933, 519);
|
||||
Controls.Add(lblMaxZoom);
|
||||
Controls.Add(lblMinZoom);
|
||||
Controls.Add(btnZoomMax);
|
||||
Controls.Add(btnZoomMin);
|
||||
Controls.Add(tbZoom);
|
||||
Controls.Add(videoView);
|
||||
Icon = (Icon)resources.GetObject("$this.Icon");
|
||||
Margin = new Padding(4, 3, 4, 3);
|
||||
Name = "StreamViewer";
|
||||
Text = "LibVLCSharp.WinForms";
|
||||
Text = "Camera";
|
||||
FormClosed += StreamViewer_FormClosed;
|
||||
((System.ComponentModel.ISupportInitialize)videoView).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)tbZoom).EndInit();
|
||||
@@ -117,8 +123,8 @@ namespace robospot_camera_finder
|
||||
|
||||
private LibVLCSharp.WinForms.VideoView videoView;
|
||||
private TrackBar tbZoom;
|
||||
private Label lblMinZoom;
|
||||
private Label lblMaxZoom;
|
||||
private System.Windows.Forms.Timer timerUpdateZoom;
|
||||
private Button btnZoomMin;
|
||||
private Button btnZoomMax;
|
||||
}
|
||||
}
|
||||
@@ -22,6 +22,9 @@ namespace robospot_camera_finder
|
||||
string password = "RoboSpot10";
|
||||
string cam_ip = "";
|
||||
|
||||
int max_zoom_pulse = 9999;
|
||||
int min_zoom_pulse = 10;
|
||||
|
||||
public StreamViewer(string name, string ip)
|
||||
{
|
||||
InitializeComponent();
|
||||
@@ -56,13 +59,13 @@ namespace robospot_camera_finder
|
||||
private void sendZoomValue(string zoom_pulse)
|
||||
{
|
||||
// clamp values to allowed range
|
||||
if (int.Parse(zoom_pulse) < 10)
|
||||
if (int.Parse(zoom_pulse) < min_zoom_pulse)
|
||||
{
|
||||
zoom_pulse = "10";
|
||||
zoom_pulse = min_zoom_pulse.ToString();
|
||||
}
|
||||
if (int.Parse(zoom_pulse) > 9999)
|
||||
if (int.Parse(zoom_pulse) > max_zoom_pulse)
|
||||
{
|
||||
zoom_pulse = "9999";
|
||||
zoom_pulse = max_zoom_pulse.ToString();
|
||||
}
|
||||
|
||||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://" + cam_ip + "/stw-cgi/ptzcontrol.cgi?msubmenu=absolute&action=control&ZoomPulse=" + zoom_pulse);
|
||||
@@ -91,5 +94,17 @@ namespace robospot_camera_finder
|
||||
{
|
||||
updateZoomSlider();
|
||||
}
|
||||
|
||||
private void btnZoomMax_Click(object sender, EventArgs e)
|
||||
{
|
||||
tbZoom.Value = max_zoom_pulse;
|
||||
sendZoomValue(tbZoom.Value.ToString());
|
||||
}
|
||||
|
||||
private void btnZoomMin_Click(object sender, EventArgs e)
|
||||
{
|
||||
tbZoom.Value = min_zoom_pulse;
|
||||
sendZoomValue(tbZoom.Value.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,4 +60,29 @@
|
||||
<metadata name="timerUpdateZoom.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAP9UAAD/VwAA
|
||||
/w0AAAAAAAAAgwAAAMgAAADIAAAAyAAAALsAAAAAAAAAAAAAAAAAAADLAAAA0AAAGNQAAN/4AAD//wAA
|
||||
//8AAP/iAAD/HgAAAIIAAAD/AAAA/wAAAP8AAAD/AAAAFgAAAAAAAAAUAAAA/wAAAP8AAIT/AAD//wAA
|
||||
//8AAP//AAD//wAA/5cAAABYAAAA/wAAAP8AAAD/AAAA/wAAAEAAAAAAAAAALwAAAP8AAAD/AACi/wAA
|
||||
//8AAP//AAD//wAA//8AAP+0AAAALwAAAP8AAAD/AAAA/wAAAP8AAABrAAAAAAAAAEsAAAD/AAAA/wAA
|
||||
Wv8AAP//AAD//wAA//8AAP//AAD/bQAAAAgAAAD9AAAA/wAAAP8AAAD/AAAAlQAAAAAAAABnAAAA/wAA
|
||||
AP8AAAD/AAB7/wAA9fcAAP/wAAD/iAAAAAIAAAAAAAAA2wAAAP8AAAD/AAAA/wAAAM8AAABQAAAApgAA
|
||||
AP8AAAD/AAAA/wAAAP8AAABXAAAAAAAAAAAAAAAAAAAAAAAAALEAAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAApgAAABsAAAAAAAAAAAAAAAAAAACIAAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADsAAAAMwAAAAAAAAAAAAAAXgAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOMAAAALAAAAAAAAADQAAAD/AAAA/wAA
|
||||
AP8AAAD/AAAAZAAAAAAAAAAAAAAADgAAAMoAAAD/AAAA/wAAAP8AAAD/AAAAawAAAAAAAAAMAAAA/gAA
|
||||
AP8AAAD/AAAA/wAAAIwAAAAAAAAAAAAAAAYAAACwAAAA/wAAAP8AAAD/AAAA/wAAAKgAAAAAAAAAAAAA
|
||||
AOEAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACfAAAAAAAA
|
||||
AAAAAAC3AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAAPgAA
|
||||
AAAAAAAAAAAAjQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADXAAAAUAAA
|
||||
AAAAAAAAAAAAAAAAABkAAAA4AAAAOAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAADQAAAAZAAAAAAAA
|
||||
AAAAAAAA//EAAAcAAAACAAAAAgAAAAIAAACCAQAAgAcAAIADAACAAQAAgAAAAIGAAACBwAAAwAAAAMAA
|
||||
AADAAQAAwAcAAA==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
BIN
favicon.ico
Normal file
BIN
favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
Reference in New Issue
Block a user