Din e-postadress kommer inte att publiceras. behövliga fält är markerade *
Jag använder en arduino-uno, men jag har inte tillgång till min webbsida.Jag hade redan tilldelat arduino ip-adress. när jag kör arduino (ctrl + shift + m), visar det output. Men när jag öppnar min webbsida kommer det att visa "du kan inte" nås till den här webbsidan.
Min webbserver fungerar bra med lokal IP och lokalt nätverk med Ethernet-kabel.
arbetar med port vidarebefordran / offentlig IP när man använder annan nätverksanslutning till mobil som nämns i artikeln.
fungerar inte i min mobil eller bärbara dator när jag använder Wifi / Wireless-routern i samma nätverk med lokal IP. Låt mig veta var jag går fel.
Jag behöver hjälp med den här koden för när nödsituationen inträffar med 4 (hög) kan jag inte gå tillbaka till tidigare tillstånd... hur kan jag göra det ???
// ARDUINO 1.0+ ENDAST
// ARDUINO 1.0+ ENDAST
#inkludera
#inkludera
boolesk läsning = falsk;
////////////////////////////////////////////////////////////////////////
//CONFIGURE
////////////////////////////////////////////////////////////////////////
byte ip [] = {192, 168, 16, 71}; // Endast manuell inställning
// byte-gateway [] = {192, 168, 1, 1}; // Endast manuell inställning
// byte subnät [] = {255, 255, 255, 0}; // Endast manuell inställning
// vid behov att ändra MAC-adressen (Very Rare)
byte mac [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
EthernetServer-server = EthernetServer (80); // port 80
////////////////////////////////////////////////////////////////////////
ogiltig installation () {
Serial.begin (9600);
// Stift 10,11,12 & 13 används av Ethernet-skärmen
pinMode (2, INPUT); // SWICH
pinMode (3, OUTPUT); //LAMP
pinMode (4, INPUT); // EMERGANCY
pinMode (6, INPUT);
Ethernet.begin (mac);
//Ethernet.begin (mac, ip, gateway, subnet); // för manuell installation
server.begin ();
Serial.println (Ethernet.localIP ());
}
void loop () {
digitalWrite (6, LOW);
if ((digitalRead (4) == LÅG) || (digitalRead (6) == HÖG))
{
if (digitalRead (2) == HÖG)
{
digitalWrite (3, HÖG);
fördröjning (5000);
digitalWrite (3, LÅG);
}
}
checkForClient (); // lyssna på inkommande kunder och bearbeta qequest.
}
void checkForClient () {
EthernetClient-klient = server.available ();
if (klient) {
// en http-begäran slutar med en tom rad
boolean currentLineIsBlank = true;
booleska sentHeader = falsk;
medan (client.connected ()) {
if (client.available ()) {
if (! sentHeader) {
// skicka en standard http-svarhuvud
client.println ("HTTP / 1.1 200 OK");
client.println ("Content-Type: text / html");
client.println ();
sentHeader = sant;
}
char c = client.read ();
if (läsning && c == '') läsning = falsk;
if (c == '?') läsning = sant; // hittade?, börja läsa informationen
if (läsning) {
Seriellt tryck (c);
switch (c) {
fall '4':
// lägg till kod här för att utlösa på 2
triggerPin (4, klient);
ha sönder;
fall '6':
// lägg till kod här för att utlösa den 3
triggerPin (6, klient);
ha sönder;
}
}
om (c == '\ n' && currentLineIsBlank) bryter;
if (c == '\ n') {
currentLineIsBlank = true;
} annat om (c! = '\ r') {
currentLineIsBlank = falsk;
}
}
}
fördröjning (1); // ge webbläsaren tid att ta emot data
client.stop (); // stäng anslutningen:
}
}
void triggerPin (int pin, EthernetClient-klient) {
// blink a pin - Client behövs bara för HTML-utgångsändamål.
client.print ("Slå på pin");
client.println (stift);
client.print ( "");
if (stift, HÖG)
{
digitalWrite (4, HÖG);
digitalWrite (6, HIGH);}
}
Skulle det inte vara enklare och billigare att göra detta med en Raspberry Pi? Jag är inte riktigt säker för jag har aldrig använt en Arduino, men jag har en Pi.