आपका ईमेल पता प्रकाशित नहीं किया जाएगा। अपेक्षित स्थानों को रेखांकित कर दिया गया है *
मैं एक arduino-uno का उपयोग कर रहा हूं, लेकिन मैं अपने वेब पेज तक नहीं पहुंच सकता। मैंने पहले से ही arduino को ip एड्रेस असाइन किया था। जब मैं arduino (ctrl + shift + m) चलाता हूं, तो यह आउटपुट प्रदर्शित करता है। लेकिन जब मैं अपने वेब पेज पर पहुंचता हूं, तो यह "आप नहीं कर सकते" इस वेब पेज पर पहुंच जाएगा।
मेरा वेबसर्वर स्थानीय आईपी और ईथरनेट केबल के साथ स्थानीय नेटवर्क के साथ ठीक काम कर रहा है।
मोबाइल में अन्य नेटवर्क कनेक्शन का उपयोग करते समय पोर्ट अग्रेषण / सार्वजनिक आईपी के साथ काम करना जैसा कि लेख में उल्लेख किया गया है।
स्थानीय IP के साथ एक ही नेटवर्क में वाईफ़ाई / वायरलेस राउटर का उपयोग करते समय मेरे मोबाइल या लैपटॉप में काम नहीं करता। कृपया मुझे बताएं कि मैं कहां गलत हो रहा हूं।
मुझे इस कोड में मदद की ज़रूरत है क्योंकि जब आपातकालीन स्थिति 4 (उच्च) होती है तो मैं पिछली स्थिति में वापस नहीं आ सकता... मैं यह कैसे कर सकता हूं ???
// ARDUINO 1.0+ केवल
// ARDUINO 1.0+ केवल
#शामिल
#शामिल
बूलियन पढ़ना = गलत;
////////////////////////////////////////////////////////////////////////
//CONFIGURE
////////////////////////////////////////////////////////////////////////
बाइट आईपी [] = {१ ९ २, १६ [, १६, =१}; // मैनुअल सेटअप केवल
// बाइट गेटवे [] = {192, 168, 1, 1}; // मैनुअल सेटअप केवल
// बाइट सबनेट [] = {255, 255, 255, 0}; // मैनुअल सेटअप केवल
// अगर मैक पते को बदलने की जरूरत है (बहुत दुर्लभ)
बाइट मैक [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
EthernetServer सर्वर = EthernetServer (80); // पोर्ट 80
////////////////////////////////////////////////////////////////////////
व्यर्थ व्यवस्था(){
सीरियल.बेगिन (9600);
// पिंस 10,11,12 और 13 ईथरनेट ढाल द्वारा उपयोग किया जाता है
पिनमोड (2, INPUT); // स्विक
पिनमोड (3, बाहर); //LAMP
पिनमोड (4, INPUT); // आपातकालीन
पिनमोड (6, INPUT);
Ethernet.begin (मैक);
//E ईथरनेट.begin (मैक, आईपी, गेटवे, सबनेट); // मैनुअल सेटअप के लिए
server.begin ();
Serial.println (Ethernet.localIP ());
}
शून्य लूप () {
digitalWrite (6, LOW);
अगर (digitalRead (4) == LOW) || (digitalRead (6) == High))
{
अगर (digitalRead (2) == हाई)
{
digitalWrite (3, उच्च);
देरी (5000);
digitalWrite (3, LOW);
}
}
checkForClient (); // आने वाले ग्राहकों के लिए सुनो, और प्रक्रिया को काफी।
}
शून्य चेकफ़्लोरकेंट () {
EthernetClient ग्राहक = server.available ();
अगर (ग्राहक) {
// एक HTTP अनुरोध एक रिक्त रेखा के साथ समाप्त होता है
बूलियन currentLineIsBlank = true;
बूलियन संतरी = झूठी;
जबकि (client.connected ()) {
अगर (client.available ()) {
if (! sentHeader) {
// एक मानक http प्रतिक्रिया हैडर भेजें
client.println ("HTTP / 1.1 200 OK");
client.println ("सामग्री-प्रकार: पाठ / html");
client.println ();
sentHeader = true;
}
char c = client.read ();
if (पठन && c == '') पठन = असत्य;
if (c == '?') पढ़ना = सत्य; // पाया गया?, जानकारी पढ़ना शुरू करें
अगर (पढ़ना) {
सिरियल.प्रिंट (सी);
स्विच (c) {
मामला '4':
// 2 पर ट्रिगर करने के लिए यहां कोड जोड़ें
ट्रिगरपिन (4, ग्राहक);
टूटना;
मामला '6':
// 3 पर ट्रिगर करने के लिए यहां कोड जोड़ें
ट्रिगरपिन (6, ग्राहक);
टूटना;
}
}
अगर (c == '\ n' && currentLineIsBlank) ब्रेक;
अगर (c == '\ n') {
currentLineIsBlank = true;
} और अगर (c! = '\ r') {
currentLineIsBlank = false;
}
}
}
देरी (1); // डेटा प्राप्त करने के लिए वेब ब्राउज़र को समय दें
client.stop (); // कनेक्शन बंद करें:
}
}
शून्य ट्रिगरपिन (इंट पिन, ईथरनेट क्लाइंट) {
// एक पलक झपकाएं - क्लाइंट को केवल HTML आउटपुट उद्देश्यों के लिए आवश्यक है।
client.print ("पिन चालू करना");
client.println (pin);
client.print ( "");
अगर (पिन, हाई)
{
digitalWrite (4, उच्च);
डिजिटलराइट (6, उच्च) ;;
}
क्या रास्पबेरी पाई के साथ ऐसा करना आसान और सस्ता नहीं होगा? मैं वास्तव में निश्चित नहीं हूं क्योंकि मैंने कभी भी अरडूइनो का उपयोग नहीं किया है, लेकिन मेरे पास एक पाई है।