Advertisement
Guest User

Untitled

a guest
Jan 9th, 2017
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.96 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows;
  7. using System.Windows.Controls;
  8. using System.Windows.Data;
  9. using System.Windows.Documents;
  10. using System.Windows.Input;
  11. using System.Windows.Media;
  12. using System.Windows.Media.Imaging;
  13. using System.Windows.Navigation;
  14. using System.Windows.Shapes;
  15. using System.Net.Sockets;
  16. using System.Net;
  17. using System.Threading;
  18. using System.Windows.Threading;
  19. using System.Globalization;
  20.  
  21.  
  22. namespace AplikacjaRobot
  23. {
  24.     /// <summary>
  25.     /// Interaction logic for MainWindow.xaml
  26.     /// </summary>
  27.     public partial class MainWindow : Window
  28.     {
  29.         TcpClient clientSocket = new TcpClient(); //serwer podstawowy
  30.         TcpClient clientSocket2 = new TcpClient(); //server czujnika odleglosci na porcie 5561
  31.         TcpClient clientSocket3 = new TcpClient(); //server seriala
  32.         DispatcherTimer dispatcherTimer = new DispatcherTimer();
  33.  
  34.  
  35.         /*----Adresy portów i IP----*/
  36.         string IP;
  37.         int Port = 5560; //port podstawowy
  38.         int Port2 = 5561; //port czujnika odleglosci
  39.         int Port3 = 5562; //port sterowania BT
  40.        
  41.  
  42.         public MainWindow()
  43.         {
  44.             InitializeComponent();
  45.             dispatcherTimer.Tick += DispatcherTimer_Tick;
  46.             dispatcherTimer.Interval = TimeSpan.FromMilliseconds(200);
  47.             button2.IsEnabled = false;
  48.             ledOFF.IsEnabled = false;
  49.             ledON.IsEnabled = false;
  50.             IP = TextIP.Text;
  51.             button4.IsEnabled = false;
  52.             Forward.IsEnabled = false;
  53.             Right.IsEnabled = false;
  54.             Left.IsEnabled = false;
  55.            
  56.         }
  57.  
  58.        
  59.  
  60.         private void DispatcherTimer_Tick(object sender, EventArgs e)
  61.         {
  62.             CzujnikOdleglosci();
  63.         }
  64.  
  65.         private void button_Click(object sender, RoutedEventArgs e)
  66.         {
  67.             clientSocket.Connect(IP, Port);
  68.             TextBlock.Text = "Połączono z: " + IP + ":" + Port;
  69.             button2.IsEnabled = true;
  70.             ledOFF.IsEnabled = true;
  71.             ledON.IsEnabled = true;
  72.             kamera();
  73.  
  74.         }
  75.  
  76.         private void kamera()
  77.         {
  78.            
  79.         }
  80.  
  81.  
  82.         /*---Wysyłanie komendy, comand---*/
  83.         private void TylkoWys(string comand)
  84.         {
  85.             NetworkStream serverStream = clientSocket.GetStream();
  86.             byte[] outStream = System.Text.Encoding.UTF8.GetBytes(comand);
  87.             serverStream.Write(outStream, 0, outStream.Length);
  88.             serverStream.Flush();
  89.         }
  90.         private void WysCom(string comand)  
  91.         {
  92.             NetworkStream serverStream = clientSocket.GetStream();
  93.             byte[] outStream = System.Text.Encoding.UTF8.GetBytes(comand);
  94.             serverStream.Write(outStream, 0, outStream.Length);
  95.             serverStream.Flush();
  96.  
  97.             byte[] inStream = new byte[2048];
  98.             serverStream.Read(inStream, 0, inStream.Length);
  99.             string returndata = Encoding.ASCII.GetString(inStream);
  100.             var str1 = returndata.Replace("\0", "");
  101.            
  102.             TextBlock.Text = TextBlock.Text + Environment.NewLine + ">>" + str1;
  103.         }
  104.         /*-----Czujnik odległości---*/
  105.         private void button1_Click(object sender, RoutedEventArgs e)
  106.         {
  107.             CzujnikOdleglosciPolaczenie();
  108.         }
  109.  
  110.         private void CzujnikOdleglosciPolaczenie()
  111.         {
  112.             clientSocket2.Connect(IP, Port2);
  113.            
  114.             TextBlock.Text = TextBlock.Text + Environment.NewLine + "Połączono z czujnikiem odległości";
  115.             dispatcherTimer.Start(); //rozpoczęcie timera pobierania dystansu
  116.            
  117.         }
  118.         private void CzujnikOdleglosci()
  119.         {
  120.             NetworkStream serverStream2 = clientSocket2.GetStream();
  121.             byte[] outStream2 = System.Text.Encoding.UTF8.GetBytes("ddist");
  122.             serverStream2.Write(outStream2, 0, outStream2.Length);
  123.             serverStream2.Flush();
  124.        
  125.             byte[] inStream = new byte[1024];
  126.             serverStream2.Read(inStream, 0, inStream.Length);            
  127.             string returndata2 = Encoding.UTF8.GetString(inStream);
  128.             var str = returndata2.Replace("\0", ""); //usunięcie \0 ze stringa
  129.             label.Content = "Odległość: " + str + " cm";
  130.             var odleglosc = float.Parse(str, CultureInfo.InvariantCulture.NumberFormat); // zamiana stringa na wartość float
  131.             pBarStatus.Value = odleglosc;
  132.         }
  133.  
  134.         private void button2_Click(object sender, RoutedEventArgs e)
  135.         {
  136.             WysCom("GET");
  137.         }
  138.  
  139.         private void ledON_Click(object sender, RoutedEventArgs e)
  140.         {
  141.             TylkoWys("ledON");
  142.         }
  143.  
  144.         private void ledOFF_Click(object sender, RoutedEventArgs e)
  145.         {
  146.            TylkoWys("ledOFF");
  147.            
  148.         }
  149.  
  150.         private void ProgressBar_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
  151.         {
  152.            
  153.         }
  154.  
  155.         private void button3_Click(object sender, RoutedEventArgs e)
  156.         {
  157.             clientSocket3.Connect(IP, Port3);
  158.             TextBlock.Text = TextBlock.Text + Environment.NewLine + "Sterowanie Włączone. Port: " + Port3;
  159.             //sterowanie("connect");
  160.             button4.IsEnabled = true;
  161.             Forward.IsEnabled = true;
  162.             Right.IsEnabled = true;
  163.             Left.IsEnabled = true;
  164.         }
  165.  
  166.         private void sterowanie(string kierunek)
  167.         {
  168.             NetworkStream serverStream3 = clientSocket3.GetStream();
  169.             byte[] outStream3 = System.Text.Encoding.UTF8.GetBytes(kierunek);
  170.             serverStream3.Write(outStream3, 0, outStream3.Length);
  171.             serverStream3.Flush();
  172.           //  pres = 0;
  173.           //  pressup();
  174.            
  175.  
  176.         }
  177.  
  178.         private void button4_Click(object sender, RoutedEventArgs e)
  179.         {
  180.             sterowanie("0");
  181.            
  182.         }
  183.  
  184.         private void Forward_Click(object sender, RoutedEventArgs e)
  185.         {
  186.             sterowanie("0");
  187.            
  188.         }
  189.  
  190.         private void Right_Click(object sender, RoutedEventArgs e)
  191.         {
  192.             sterowanie("0");
  193.            
  194.         }
  195.  
  196.         private void Left_PreviewMouseDown(object sender, MouseButtonEventArgs e)
  197.         {
  198.             sterowanie("4");
  199.         }
  200.  
  201.         private void Left_Click(object sender, RoutedEventArgs e)
  202.         {
  203.             sterowanie("0");
  204.         }
  205.  
  206.         private void button4_PreviewMouseDown(object sender, MouseButtonEventArgs e)
  207.         {
  208.             sterowanie("1");
  209.         }
  210.  
  211.         private void Forward_PreviewMouseDown(object sender, MouseButtonEventArgs e)
  212.         {
  213.             sterowanie("2");
  214.         }
  215.  
  216.         private void Right_PreviewMouseDown(object sender, MouseButtonEventArgs e)
  217.         {
  218.             sterowanie("3");
  219.         }
  220.     }
  221. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement