पर एक विशिष्ट आईपी पते पर एक वाई-फाई शील्ड के माध्यम से Arduino डेटा भेजें। मैं Arduino Uno से Copperhead Wi-Fi shield के माध्यम से एक विशिष्ट आईपी पते और एक लैन पर पोर्ट के लिए सेंसर डेटा भेजने का प्रयास कर रहा हूं।लैन
मैं काम करने के लिए कॉपरहेड वाई-फाई सर्वर उदाहरण sketch प्राप्त कर सकता हूं (नीचे चिपकाया गया)। हालांकि, मुझे HTML के माध्यम से सर्वर अनुरोधों का जवाब देने में कोई दिलचस्पी नहीं है। मुझे बस दिलचस्पी है कि एक सॉकेट-जैसे कनेक्शन स्थापित करना और टीसीपी या यूडीपी के माध्यम से आईपी एड्रेस 1 9 2.168.0.3, पोर्ट 1234 पर डेटा भेजना।
मुझे यकीन है कि इसके लिए एक आसान समाधान है, लेकिन जैसा कि मैं Arduino के लिए नया हूँ और समाधान खोजने के मेरे प्रयास असफल रहे हैं।
#include <WiServer.h>
#define WIRELESS_MODE_INFRA 1
#define WIRELESS_MODE_ADHOC 2
// Wireless configuration parameters ----------------------------------------
unsigned char local_ip[] = {192,168,0,2}; // IP address of WiShield
unsigned char gateway_ip[] = {192,168,0,1}; // router or gateway IP address
unsigned char subnet_mask[] = {255,255,255,0}; // subnet mask for the local network
const prog_char ssid[] PROGMEM = {"WiFi_AP"}; // max 32 bytes
unsigned char security_type = 0; // 0 - open; 1 - WEP; 2 - WPA; 3 - WPA2
// WPA/WPA2 passphrase
const prog_char security_passphrase[] PROGMEM = {"12345678"}; // max 64 characters
// WEP 128-bit keys
// sample HEX keys
prog_uchar wep_keys[] PROGMEM = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, // Key 0
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Key 1
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Key 2
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // Key 3
};
// Setup the wireless mode
// Infrastructure - connect to AP
// Adhoc - connect to another Wi-Fi device
unsigned char wireless_mode = WIRELESS_MODE_INFRA;
unsigned char ssid_len;
unsigned char security_passphrase_len;
// End of wireless configuration parameters ----------------------------------------
// This is our page serving function that generates web pages
boolean sendMyPage(char* URL) {
// Check if the requested URL matches "/"
if (strcmp(URL, "/") == 0) {
// Use WiServer's print and println functions to write out the page content
WiServer.print("<html>");
WiServer.print("Hello World");
WiServer.print("</html>");
// URL was recognized
return true;
}
// URL not found
return false;
}
void setup() {
// Initialize WiServer and have it use the sendMyPage function to serve pages
WiServer.init(sendMyPage);
// Enable Serial output and ask WiServer to generate log messages (optional)
Serial.begin(57600);
WiServer.enableVerboseMode(true);
}
void loop(){
// Run WiServer
WiServer.server_task();
delay(10);
}
बहुत उपयोगी! बफर आकार पर भी हेड-अप के लिए धन्यवाद! – Kappa