Serial Port Packets to network.


क्या हम प्राप्त और भेजे गए पैकेट्स को सर्वर पर भेज सकते हैं?

हाँ! अंत में, सीरियलटूल आपको सीरियल कॉम पोर्ट ट्रैफिक को सीधे नेटवर्क पर भेजने की अनुमति देता है।
आप इन विभिन्न तरीकों में से चुन सकते हैं:

  • TCP - सीरियलटूल ट्रैफिक को TCP/IP के माध्यम से डिवाइसों को कनेक्ट करता है और सर्वर को सीरियल पोर्ट डेटा को सुरक्षित रूप से भेजता है। यह सीरियलटूल और सर्वर के बीच विश्वसनीय, व्यवस्थित संवाद सुनिश्चित करता है। यह एक पुष्टिकरण के साथ फोन कॉल की तरह है।
    आप टीसीपी कनेक्शन की मूल्यांकन के लिए PacketSender नामक एक मुफ्त क्रॉस-प्लेटफ़ॉर्म सॉफ़्टवेयर का उपयोग करके इन कार्यक्षमताओं का परीक्षण कर सकते हैं।
    नि:शुल्क संस्करण में 5 पैकेट तक सीमित।

  • UDP - सीरियलटूल UDP का उपयोग त्वरित डेटा भेजने के लिए करता है, बिना TCP के हेंडशेक की जटिलताओं के साथ। अत्यधिक तेज यूज़ के लिए आदर्श, यह कुछ सत्यापन की विफलता की कीमत पर तेजी के लिए कुछ विफलता की क़ुर्बानी करता है। यह तेज संवाद है - सुविधाजनक लेकिन कुछ कम गारंटी के साथ।
    आप यूडीपी कनेक्शन की मूल्यांकन के लिए PacketSender नामक एक मुफ्त क्रॉस-प्लेटफ़ॉर्म सॉफ़्टवेयर का उपयोग करके इन कार्यक्षमताओं का परीक्षण कर सकते हैं।
    नि:शुल्क संस्करण में 5 पैकेट तक सीमित।

  • HTTP/HTTPS POST - सीरियलटूल ड ेटा को वेब सर्वर को भेजने के लिए HTTP/HTTPS POST मेथड का उपयोग करने की लाचारी प्रदान करता है। इस मेथड का उपयोग ऑनलाइन फ़ॉर्म सबमिट करने के काम के समान होता है, जहां डेटा को HTTP अनुरोध में संक्षिप्त किया जाता है और इसे सुरक्षित रूप से सर्वर को भेजा जाता है। चाहे वो सेंसर की पठनियाँ हो, उपयोगकर्ता इनपुट हो, या किसी अन्य प्रकार की डेटा, सीरियलटूल की HTTP/HTTPS POST विशेषता प्रक्रिया को सरल बनाती है। यह उपाय विभिन्न वेब-आधारित एप्लिकेशनों के साथ बिना संबिन्धन के, सर्वर द्वारा डेटा को कुशलता से प्रोसेस, संग्रहित या क्रियान्वित करने की संभावना प्रदान करता है। इस तरीके से, सीरियलटूल अपनी क्षमताओं और कनेक्टिविटी को बढ़ाता है, वेब सर्वर के साथ वास्तविक समय डेटा इंटरएक्शन के विभिन्न संभावनाओं के लिए द्वार खोलता है।
    पोस्ट और गेट कॉल्स का परीक्षण करने के लिए एक PHP कोड अंश प्रदान किया गया है।
    HTTP के लिए मानक पोर्ट 80 है और HTTPS के लिए 443 है।
    केवल PRO संस्करण पर समर्थित।

  • HTTP/HTTPS GET - सीरियलटूल डेटा को वेब सर्वरों के साथ HTTP GET मेथड का उपयोग करके भेजने की सुविधा प्रदान करता है। ब्राउज़र में URL टाइप करने के समान, सीरियलटूल एक HTTP अनुरोध बनाता है जिसमें डेटा पैरामीटर शामिल किए जाते हैं और उन्हें URL में जोड़ देता है। जब अनुरोध सर्वर तक पहुँचता है, तो सर्वर पैरामीटर को प्रोसेस करता है और उसके अनुसार प्रतिक्रिया देता है। इस मेथड का उपयोग जानकारी प्राप्त करने या सर्वर साइड पर क्रियाएँ शुरू करने के लिए सुविधाजनक है। HTTP GET मेथड का उपयोग करके सीरियलटूल वेब-आधारित सिस्टमों के साथ संबिन्धित होने की सुविधा प्रदान करता है, जिससे रिमोट सर्वरों के साथ डेटा प्राप्ति और इंटरएक्शन की अद्वितीय संभावना होती है। यह कार्यक्षमता उपकरण की क्षमताओं को विस्तारित करती है, और यह विभिन्न वेब-आधारित डेटा विनिमय और इंटर एक्शन की आवश्यकताओं के लिए एक विशेषण विकल्प बनाती है।
    पोस्ट और गेट कॉल्स का परीक्षण करने के लिए एक PHP कोड अंश प्रदान किया गया है।
    HTTP के लिए मानक पोर्ट 80 है और HTTPS के लिए 443 है।
    केवल PRO संस्करण पर समर्थित।

PHP code snippet for HTTP/HTTPS POST and GET packet sending

HTTP/HTTPS GET usage from SerialTool

• Select "HTTP/HTTPS Get" as "Protocol"
• Set "https://yourwebsite.com/receive_test.php?value1=1" as "Server Address"
• Press [Send Test Packet] button

If the receive_test.php is loaded and functioning on your server, you should receive a message in the SerialTool message box stating:

#RES>OK - Written: XX bytes in received_packet.txt

HTTP/HTTPS POST usage from SerialTool

• Select "HTTP/HTTPS Post" as "Protocol"
• Set "https://yourwebsite.com/receive_test.php?myvalue=1" as "Server Address"
• Press [Send Test Packet] button

If the receive_test.php is loaded and functioning on your server, you should receive a message in the SerialTool "Connection Test" message box stating:

#RES>OK - Written: XX bytes in received_packet.txt

The result is a file called received_packet.txt located in the same folder where you loaded the PHP script and shoud look like this:

                    
                      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                      @   SerialTool received packets log file
                      @   Date: 2023-08-23
                      @   Time: 20:00:00
                      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                       Message received from IP [111.110.109.108] at 2023-08-23 20:00:00 [POST DATA 16 bytes] 0001020304050607
Message received from IP [111.110.109.108] at 2023-08-23 20:00:01 [GET DATA] Key: myvalue, Value: 1

PHP script
                        
<?php                          
/*
 ____________________________________________________________________________
║                                                                            ║
║  Application Name  : SerialTool                                            ║
║  Author            : SerialTool Dev Team                                   ║
║  IDE:              : php                                                   ║
║  File Generated    : 23/08/2023                                            ║
║                                                                            ║
╚════════════════════════════════════════════════════════════════════════════╝

 Usage: path/to/this/file/receive_test.php
 Logfile will be on the same directory with the name received_packet.txt

*/
   // Set your local time here
  date_default_timezone_set("Europe/Rome");

  // Prepare Header to HOST Incoming Data
  $MessagePayload = "";
  $MessagePayload .= " Message received from IP [" . $_SERVER['REMOTE_ADDR']. "] at " . date('Y-m-d H:i:s');

  // ----------------------------------------------
  // Receive the POST or GET data
  // ----------------------------------------------
  if ($_SERVER['REQUEST_METHOD'] === 'POST') {
      // The request method is POST
      $MessagePayload .= " [POST DATA ";
      $MessagePayload .= strlen(file_get_contents('php://input')) . " bytes] ";
      $MessagePayload .= file_get_contents('php://input') . PHP_EOL;;      
  } elseif ($_SERVER['REQUEST_METHOD'] === 'GET') {
      // The request method is GET      
      $MessagePayload .= " [GET DATA] ";      
      foreach ($_GET as $key => $value) {
          $MessagePayload .=  "Key: $key, Value: $value" . PHP_EOL;          
      }
  } else {
      // Handle other HTTP methods as needed
      $MessagePayload .= " [UNSUPPORTED HTTP METHOD] 
"; } // ---------------------------------------------- // Save Message to file // ---------------------------------------------- $LOG_Paypload = ""; $LogFilePath = "received_packet.txt"; if (file_exists($LogFilePath) === false){ // Put header $currentTimestamp = time(); $currentDate = date('Y-m-d', $currentTimestamp); // Format date as 'YYYY-MM-DD' $currentTime = date('H:i:s', $currentTimestamp); // Format time as 'HH:MM:SS' $LOG_Paypload .= "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" . PHP_EOL; $LOG_Paypload .= "@ SerialTool received packets log file" . PHP_EOL; $LOG_Paypload .= "@ Date: $currentDate" . PHP_EOL; $LOG_Paypload .= "@ Time: $currentTime" . PHP_EOL; $LOG_Paypload .= "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" . PHP_EOL ; } $logDay = date('d'); $logMonth = date('F'); $logYear = date('Y'); $logTime = date('H:i:s'); // Add Payload $LOG_Paypload .= $MessagePayload . PHP_EOL; $iResult = file_put_contents($LogFilePath, $LOG_Paypload, FILE_APPEND); if ($iResult === false){ echo "#RES>KO
"; } else{ echo "#RES>OK - Written: " . $iResult . " bytes in " . $LogFilePath . "
"; } ?>