رابط API ( Application Programming Interface) روشی برای ارسال فرمان به پایانه و گرفتن اطلاعاتی در مورد آن است. بیشترین کاربرد این روش در اتوماسیون جلسات است. به این معنی که به جای یک شخص به عنوان کاربر که با استفاده از ریموت پایانه AVer اقدام به برقراری تماس و کنترل پایانه می کند، یک سیستم دیگر مثل نرم افزار کامپیوتر یا تجهیزات سالن کنفرانس این وظیفه را به عهده می گیرد و بعضی امور را به صورت خودکار انجام می دهد.
دستورات API عبارت های متنی هستند که تا حدی قابل فهم می باشند مثل action Camera/ContinuousMove/Left که لیست این دستورات را در راهنمای منتشر شده در سایت AVer می توانید پیدا کنید.
https://communication.aver.com/DownloadFile.aspx?n=4465|14C4314F-8410-4112-BF71-E7226BCA3B20&t=ServiceDownload
این دستورات متنی را باید به طریقی به پایانه ارسال کنیم. دو روش اصلی یکی از طریق کابل سریال (RS 232) و یا Telnet است. در روش اول یک کابل سریال بین پایانه و رایانه یا سیستم کنترل کننده وصل می شود و نرم افزار کامپیوتر یا سیستم کنترل کننده این دستورات از طریق پورت سریال به پایانه ارسال می کند. نرم افزار Putty یا Hyper Terminal در کامپیوتر برای این منظور مناسب هستند. روش Telnet بسیار متداول تر است چون با استفاده از بستر شبکه و بدون ارتباط مستقیم کابلی می تواند دستورات را ارسال کند. در این شیوه نرم افزار باید بتواند پورت 23 را به سمت پایانه باز کرده و متن را از طریق Socket به پایانه ارسال کند.
ذیلا متن برنامه ساده در C# آورده شده تا با تغییرات لازم مورد استفاده قرار دهید.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net.Sockets;
namespace AVer_Control
{
public partial class Form1 : Form
{
private TcpClient socketForServer; //Create socket
private NetworkStream networkStream; //Create stream
public static System.IO.StreamReader streamReader; //Create stream reader
public static System.IO.StreamWriter streamWriter; //Create stream writer
public Form1()
{
InitializeComponent();
}
private void LoginButton_Click(object sender, EventArgs e)
{
try
{
socketForServer = new TcpClient(IPTextBox.Text, 23); // Try to connect and assighn to socket
//MessageBox.Show(“آدرس پیدا شد”, “کنترل آدرس”, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch
{
// Show message and go out if connecting not possible.
MessageBox.Show(“دسترسی به این آدرس ممکن نشد” + “\n” + “پس از بررسی مجددا سعی کنید”, “اشکال در ارتباط”, MessageBoxButtons.OK, MessageBoxIcon.Error);
return; //Go out
}
networkStream = socketForServer.GetStream(); // Assighn socket stream to networkStream
socketForServer.NoDelay = true; //Delay omit for sending data soon to socket
streamReader = new System.IO.StreamReader(networkStream); //Socket reader create
streamWriter = new System.IO.StreamWriter(networkStream); //Socket writer create
streamWriter.AutoFlush = true; //No flush need at end of each command
streamWriter.WriteLine(“login ” + PassTextBox.Text);
streamWriter.Flush();
streamWriter.WriteLine(“action Camera/ContinuousMove/Up “);
streamWriter.Flush();
socketForServer.Close();
}
}
}
در این کد IPTextbox آدرس IP پایانه و PassTextbox رمز ادمین پایانه است.
کنترل پایانه از طریق API امکانات فوق العاده ای را در اختیار شما می گذارد که می تواند کارها را بسیار روان تر و کم خطا تر به انجام برساند
پیروز باشید