Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Data;
- using System.Windows.Documents;
- using System.Windows.Input;
- using System.Windows.Media;
- using System.Windows.Media.Imaging;
- using System.Windows.Navigation;
- using System.Windows.Shapes;
- using System.Net.Sockets;
- using System.Net;
- using System.Threading;
- using System.Windows.Threading;
- using System.Globalization;
- namespace AplikacjaRobot
- {
- /// <summary>
- /// Interaction logic for MainWindow.xaml
- /// </summary>
- public partial class MainWindow : Window
- {
- TcpClient clientSocket = new TcpClient(); //serwer podstawowy
- TcpClient clientSocket2 = new TcpClient(); //server czujnika odleglosci na porcie 5561
- TcpClient clientSocket3 = new TcpClient(); //server seriala
- DispatcherTimer dispatcherTimer = new DispatcherTimer();
- /*----Adresy portów i IP----*/
- string IP;
- int Port = 5560; //port podstawowy
- int Port2 = 5561; //port czujnika odleglosci
- int Port3 = 5562; //port sterowania BT
- public MainWindow()
- {
- InitializeComponent();
- dispatcherTimer.Tick += DispatcherTimer_Tick;
- dispatcherTimer.Interval = TimeSpan.FromMilliseconds(200);
- button2.IsEnabled = false;
- ledOFF.IsEnabled = false;
- ledON.IsEnabled = false;
- IP = TextIP.Text;
- button4.IsEnabled = false;
- Forward.IsEnabled = false;
- Right.IsEnabled = false;
- Left.IsEnabled = false;
- }
- private void DispatcherTimer_Tick(object sender, EventArgs e)
- {
- CzujnikOdleglosci();
- }
- private void button_Click(object sender, RoutedEventArgs e)
- {
- clientSocket.Connect(IP, Port);
- TextBlock.Text = "Połączono z: " + IP + ":" + Port;
- button2.IsEnabled = true;
- ledOFF.IsEnabled = true;
- ledON.IsEnabled = true;
- kamera();
- }
- private void kamera()
- {
- }
- /*---Wysyłanie komendy, comand---*/
- private void TylkoWys(string comand)
- {
- NetworkStream serverStream = clientSocket.GetStream();
- byte[] outStream = System.Text.Encoding.UTF8.GetBytes(comand);
- serverStream.Write(outStream, 0, outStream.Length);
- serverStream.Flush();
- }
- private void WysCom(string comand)
- {
- NetworkStream serverStream = clientSocket.GetStream();
- byte[] outStream = System.Text.Encoding.UTF8.GetBytes(comand);
- serverStream.Write(outStream, 0, outStream.Length);
- serverStream.Flush();
- byte[] inStream = new byte[2048];
- serverStream.Read(inStream, 0, inStream.Length);
- string returndata = Encoding.ASCII.GetString(inStream);
- var str1 = returndata.Replace("\0", "");
- TextBlock.Text = TextBlock.Text + Environment.NewLine + ">>" + str1;
- }
- /*-----Czujnik odległości---*/
- private void button1_Click(object sender, RoutedEventArgs e)
- {
- CzujnikOdleglosciPolaczenie();
- }
- private void CzujnikOdleglosciPolaczenie()
- {
- clientSocket2.Connect(IP, Port2);
- TextBlock.Text = TextBlock.Text + Environment.NewLine + "Połączono z czujnikiem odległości";
- dispatcherTimer.Start(); //rozpoczęcie timera pobierania dystansu
- }
- private void CzujnikOdleglosci()
- {
- NetworkStream serverStream2 = clientSocket2.GetStream();
- byte[] outStream2 = System.Text.Encoding.UTF8.GetBytes("ddist");
- serverStream2.Write(outStream2, 0, outStream2.Length);
- serverStream2.Flush();
- byte[] inStream = new byte[1024];
- serverStream2.Read(inStream, 0, inStream.Length);
- string returndata2 = Encoding.UTF8.GetString(inStream);
- var str = returndata2.Replace("\0", ""); //usunięcie \0 ze stringa
- label.Content = "Odległość: " + str + " cm";
- var odleglosc = float.Parse(str, CultureInfo.InvariantCulture.NumberFormat); // zamiana stringa na wartość float
- pBarStatus.Value = odleglosc;
- }
- private void button2_Click(object sender, RoutedEventArgs e)
- {
- WysCom("GET");
- }
- private void ledON_Click(object sender, RoutedEventArgs e)
- {
- TylkoWys("ledON");
- }
- private void ledOFF_Click(object sender, RoutedEventArgs e)
- {
- TylkoWys("ledOFF");
- }
- private void ProgressBar_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
- {
- }
- private void button3_Click(object sender, RoutedEventArgs e)
- {
- clientSocket3.Connect(IP, Port3);
- TextBlock.Text = TextBlock.Text + Environment.NewLine + "Sterowanie Włączone. Port: " + Port3;
- //sterowanie("connect");
- button4.IsEnabled = true;
- Forward.IsEnabled = true;
- Right.IsEnabled = true;
- Left.IsEnabled = true;
- }
- private void sterowanie(string kierunek)
- {
- NetworkStream serverStream3 = clientSocket3.GetStream();
- byte[] outStream3 = System.Text.Encoding.UTF8.GetBytes(kierunek);
- serverStream3.Write(outStream3, 0, outStream3.Length);
- serverStream3.Flush();
- // pres = 0;
- // pressup();
- }
- private void button4_Click(object sender, RoutedEventArgs e)
- {
- sterowanie("0");
- }
- private void Forward_Click(object sender, RoutedEventArgs e)
- {
- sterowanie("0");
- }
- private void Right_Click(object sender, RoutedEventArgs e)
- {
- sterowanie("0");
- }
- private void Left_PreviewMouseDown(object sender, MouseButtonEventArgs e)
- {
- sterowanie("4");
- }
- private void Left_Click(object sender, RoutedEventArgs e)
- {
- sterowanie("0");
- }
- private void button4_PreviewMouseDown(object sender, MouseButtonEventArgs e)
- {
- sterowanie("1");
- }
- private void Forward_PreviewMouseDown(object sender, MouseButtonEventArgs e)
- {
- sterowanie("2");
- }
- private void Right_PreviewMouseDown(object sender, MouseButtonEventArgs e)
- {
- sterowanie("3");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement