Die Anweisungen der Roboterauto-Steuerungsplattform-API
Data Driven Engine Command Engine.dll
Der Motor muss vor der Verwendung initialisiert werden. Ich habe die Engine als Instanz von RobotEngine2 initialisiert. Das Folgende basiert auf dieser Instanz, um den Aufruf verschiedener Funktionen vorzustellen.
Bedienungsanleitung
- öffentlicher IPEndPoint IPE {get; Satz;}
Rolle: Attributkonstruktor
Parameter: eine Instanz von IP End Point
Routine:
ips = IP Address.Parse(control IP.To String());
ipe = new IP End Point(ips, Convert.ToInt32(port.To String()));
RobotEngine2.IPE = ipe;
- öffentlicher Socket SOCKET {get; Satz;}
Rolle: Attributkonstruktor
Parameter: Socket-Instanz
Routine:
socket = new Socket(Address Family.Inter Network, Socket Type.Stream, Protocol Type.Tcp);
Robot Engine2.SOCKET = socket;
- public byte[] CreateData(byte type, byte cmd, byte data);
Rolle: Datenpaket erstellen
Parameter: Typ: Typbit, cmd: Befehlsbit, Daten: Datenbit
Rückgabewert: Gibt ein Datenpaket im 5-Bit-Byte-Format zurück. Der Header und das Ende des Pakets sind beide FF, kein Paritätsbit
Routine:
Byte [] Daten = Daten erstellen (0x01, 0x02, 0x03);
Der zurückgegebene Datenwert ist: FF 01 02 03 FF
- public void DrawSignal(int signalType, Graphics g, int x, int y, int PenWidth);
Funktion: Erzeugen Sie ein Fadenkreuz oder kreisförmiges Fadenkreuz auf dem angegebenen Steuerelement
Parameter: SingalType: Fadenkreuztyp, 0 ist Kreuz, 1 ist Kreis; g: PaintEventArgs.Graphics-Wert des Steuerelements; x: Kontrolllänge; y: Kontrollbreite; PenWidth: Stiftstärke
Routine:
Private Void-Kamera Window_Paint(Objektsender, PaintEventArgs e)
{,
RobotEngine2.DrawSignal(signalType,e.Graphics,this.cameraWindow.Width,this.cameraWindow.Height,2);
}
Diese Funktion muss im Paint-Ereignis des Steuerelements ausgeführt werden, damit sie bei jedem Neuzeichnen aufgerufen werden kann.
- öffentliches Byte[] HexStringToByteArray(string s);
Funktion: Konvertieren einer Zeichenfolge in ein Datenpaket im Byte[]-Format
Parameter: Zeichenfolge im Zeichenfolgenformat, eine Zeichenfolge mit geraden Ziffern im Hexadezimalformat
Rückgabewert: Byte []-Formatpaket
Routine:
byte [] data= HexStringToByteArray("FF000100FF");
Der Rückgabedatenwert ist: FF 00 01 00 FF
- public void SendCMD(int controlType, byte[] byteData, SerialPort comm);
Rolle: Überlastungsfunktion, Befehl zum Senden eines Byte-Datenpaketformats
Parameter: controlType: Typ, 0 ist WIFI-Modus, 1 ist Bluetooth-Modus; byteData: Datenpaket im Byte[]-Format, Kommunikation: serielle Bluetooth-Schnittstelle, SerialPort-Typ.
Routine:
byteData = CreateData("FF000100FF");
comm=this.SerialPort1;
RobotEngine2.SendCMD(0, byteData, comm);
Dieses Programm sendet ByteData-Datenpakete im WLAN-Modus an den angegebenen Socket.
byteData = CreateData("FF000100FF");
comm=this.SerialPort1;
public void SendCMD(1, byteData, comm);
Dieses Programm sendet ByteData-Pakete im Bluetooth-Modus an die angegebene serielle Schnittstelle
- public void SendCMD(int controlType, string CMD_Custom, Serial Port comm);
Rolle: Überladungsfunktion, Formatbefehl für String-Datenpaket senden
Parameter: Steuerungstyp: Typ, 0 ist WIFI-Modus, 1 ist Bluetooth-Modus; CMD_Custom: Datenpaket im Zeichenfolgenformat, Kommunikation: serieller Bluetooth-Anschluss, Typ des seriellen Anschlusses.
Routine:
String S="FF000100FF";
comm=this.SerialPort1;
RobotEngine2.Send CMD(0, s, comm);
Dieses Programm sendet im WLAN-Modus die Datenzeichenfolge „S“ an die angegebene Steckdose.
String S="FF000100FF";
comm=this.SerialPort1;
RobotEngine2.Send CMD(1, s, comm);
Dieses Programm sendet die Datenzeichenfolge „S“ im Bluetooth-Modus an die angegebene serielle Schnittstelle
- public void SendDataIn Comm(Serial Port comm, byte[] data);
Rolle: Überlastungsfunktion, die zum Senden von Datenpaketen im Byte-Format direkt vom seriellen Bluetooth-Anschluss verwendet wird
Parameter: Comm: Instanz des seriellen Ports vom Typ Serial Port, Datenpaket im Format data:byte[]
Routine:
comm=this.SerialPort1;
data = Daten erstellen("FF000100FF");
RobotEngine2.Send Data In Comm(Serial Port comm, byte[] data);
Dieses Programm sendet die Datenpaketdaten im Byteformat von der angegebenen seriellen Schnittstelle (SerialPort1).
- public void SendData In Comm(Serial Port comm, string data);
Rolle: Überladene Funktion, die zum Senden von Daten im String-Format direkt vom seriellen Bluetooth-Anschluss verwendet wird
Parameter: Comm: Instanz des seriellen Ports vom Typ Serial Port, Datenpaket im Format data:byte[]
Routine: comm=this. SerialPort1; RobotEngine2.Send Data In Comm(Serial Port Comm, „FF000100FF“);
Dieses Programm sendet die Datenzeichenfolge im Zeichenfolgenformat von der angegebenen seriellen Schnittstelle (SerialPort1).
- public void SendHeart CMD(int control Type, Serial Port comm);
Funktion: Alle 10 Sekunden ein Heartbeat-Paket senden, um eine langfristige Verbindung mit dem Server aufrechtzuerhalten.
Parameter: Steuerungstyp: Typ, 0 ist WLAN-Modus, 1 ist Bluetooth-Modus, Kommunikation: Bluetooth-Seriell-Port-Instanz des Seriell-Port-Typs Routine: Komm=dies. SerialPort1; RobotEngine2. Send Heart CMD (0, Comm);
Das Programm sendet alle 10 Sekunden ein Heartbeat-Paket FFEFEFEEFF an den WLAN-Kanal
- public bool SocketConnect();
Funktion: Socket-Verbindungsfunktion, Verbindung zum Routing-Server über WLAN, die Verbindung ist ein asynchroner Rückruf.
Parameter: Der Funktionsparameter ist etwas Besonderes und seine Verbindung erfordert einen Socket. Der Socket stammt vom Attributkonstruktor SOCKET. Schließen Sie daher vor dem Aufruf dieses Parameters die Instanziierung des Sockets ab und beziehen Sie sich auf Funktion 2, um ihn dem SOCKET-Attribut zuzuweisen.
Rückgabewert: Die Funktion gibt einen Bool-Wert zurück, „true“, wenn die Verbindung erfolgreich ist, und „false“, wenn sie fehlschlägt.
Routine:
Bool ret;
ret = RobotEngine2.Socket Connect();
Führen Sie diesen Abschnitt des Programms aus. Wenn die Verbindung erfolgreich ist, gibt das WLAN-Routing true zurück, andernfalls false
- public void TakePhoto(Bitmap snapshot, string RootPath, string FileName);
Funktion: Die Kamerafunktion wird verwendet, um Fotos auf der Steuerplattform aufzunehmen und sie im Pfad „Root Path+File Name“ im BMP-Format zu speichern.
Parameter: Snapshot: das Bitmap-Formatobjekt des aktuellen Videofensters; RootPath: der Pfad, in dem das Foto gespeichert ist; Dateiname: der Name der Fotodatei.
Routine:
RobotEngine2.Take Photo(camera Window.Camera.Last Frame, Image Path, Create Picture File());