This project delivers an interface for general pan tilt communication and a comprehensive test tool.
Supported manufacturers
- Alturos - PT-Head
- Eneo - VPT-601 (product discontinued)
The library supports the following primary features
- Move to absolute position
- Move with relative speed
- Position feedback
- Get/Set limits
- Different communication providers udp/tcp/serial
And some Eneo special features
- Get temperature
- Set relay
The package is available on nuget
PM> install-package Alturos.PanTilt
Do you want to talk about the network with your pan tilt unit you can use a serial device server.
Manufacturer | Product | Communications |
---|---|---|
iccdesigns.com | ETH-1000 | RS-485 |
moxa.com | NPort 5130 | RS-422/RS-485 |
atop.com.tw | SE5001 | RS-422/RS-485 |
aten.com | SN3101 | RS-422/RS-485 |
var ipAddress = IPAddress.Parse("192.168.1.10");
using (ICommunication communication = new UdpNetworkCommunication(ipAddress, 4003, 4003))
using (IPanTiltControl control = new EneoPanTiltControl(communication))
{
control.PanAbsolute(50);
control.TiltAbsolute(0);
}
var ipAddress = IPAddress.Parse("192.168.1.10");
using (ICommunication communication = new TcpNetworkCommunication(new IPEndPoint(ipAddress, 4003)))
using (IPanTiltControl control = new EneoPanTiltControl(communication))
{
control.PanAbsolute(50);
control.TiltAbsolute(0);
}
var serialPort = "COM1";
using (ICommunication communication = new SerialPortCommunication(serialPort))
using (IPanTiltControl control = new EneoPanTiltControl(communication))
{
control.PanAbsolute(80);
control.TiltAbsolute(0);
}
var serialPort = "COM1";
using (ICommunication communication = new SerialPortCommunication(serialPort))
using (IPanTiltControl control = new EneoPanTiltControl(communication))
{
control.Start();
Thread.Sleep(200); //delay for response, only need if you stop very fast
var currentPosition = control.GetPosition();
//example: {0,02/0,98}
control.Stop();
}