Az e-mail címed nem kerül nyilvánosságra. A kötelező mezők meg vannak jelölve *
Arduino-uno-t használok, de nem tudok hozzáférni a weboldalomhoz. Már adtam IP-címet az arduino-nak. amikor futtatom az arduino-t (ctrl + shift + m), akkor megjelenik a kimenet. De amikor belépök a weboldalamra, megjelenik a "nem tudsz" felirat megjelenni ezen a weblapon.
A Webserver jól működik a helyi IP-vel és az Ethernet-kábellel ellátott helyi hálózattal.
a port-továbbítással / nyilvános IP-vel való együttműködés, ha a hálózathoz más hálózati kapcsolatot használunk, a cikkben említettek szerint.
nem működik a mobilomban vagy a laptopomban, ha a Wifi / vezeték nélküli útválasztót ugyanabban a hálózatban használja a helyi IP-vel. Kérem, tudassa velem, hol tévedek.
Segítségre van szükségem ebben a kódban, mert amikor 4 (magas) vészhelyzet fordul elő, nem tudok visszatérni az előző állapotba... hogyan tudom ezt csinálni ???
// CSAK ARDUINO 1.0+
// CSAK ARDUINO 1.0+
#include
#include
logikai érték = hamis;
////////////////////////////////////////////////////////////////////////
//CONFIGURE
////////////////////////////////////////////////////////////////////////
bájt ip [] = {192, 168, 16, 71}; // Csak kézi beállítás
// byte átjáró [] = {192, 168, 1, 1}; // Csak kézi beállítás
// byte alhálózat [] = {255, 255, 255, 0}; // Csak kézi beállítás
// ha meg kell változtatni a MAC címet (nagyon ritka)
byte mac [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
EthernetServer szerver = EthernetServer (80); // 80-as port
////////////////////////////////////////////////////////////////////////
érvénytelen beállítás () {
Serial.begin (9600);
// A 10, 11, 12 és 13 csapokat az Ethernet pajzs használja
pinMode (2, INPUT); // SWICH
pinMode (3, OUTPUT); //LAMP
pinMode (4, INPUT); // VÉSZHELYZET
pinMode (6, INPUT);
Ethernet.begin (mac);
//Ethernet.begin (mac, ip, átjáró, alhálózat); // kézi beállításhoz
server.begin ();
Serial.println (Ethernet.localIP ());
}
void loop () {
digitalWrite (6, LOW);
if ((digitalRead (4) == LOW) || (digitalRead (6) == HIGH))
{
if (digitalRead (2) == HIGH)
{
digitalWrite (3, HIGH);
késleltetés (5000);
digitalWrite (3, LOW);
}
}
checkForClient (); // figyeljen a bejövő ügyfelekre, és dolgozza fel a qequest folyamatot.
}
void checkForClient () {
EthernetClient kliens = kiszolgáló.kapható ();
if (ügyfél) {
// egy http kérés üres sorral zárul
boolean currentLineIsBlank = true;
boolean sentHeader = false;
míg (client.connected ()) {
if (client.avable ()) {
if (! sentHeader) {
// küldjön egy szabványos http-válasz fejlécet
client.println ("HTTP / 1.1 200 OK");
client.println ("Tartalom-típus: szöveg / html");
client.println ();
sentHeader = igaz;
}
char c = client.read ();
if (olvasás && c == '') olvasás = hamis;
if (c == '?') olvasás = igaz; // megtalálta a?, kezdje el olvasni az információt
if (olvasás) {
Soros nyomtatás (c);
kapcsoló (c) {
„4” eset:
// adjon hozzá ide kódot a 2-es indításhoz
triggerPin (4, kliens);
szünet;
„6” eset:
// adjon hozzá ide kódot a 3-as indításhoz
triggerPin (6, kliens);
szünet;
}
}
if (c == '\ n' && currentLineIsBlank) törés;
if (c == '\ n') {
currentLineIsBlank = true;
} egyébként, ha (c! = '\ r') {
currentLineIsBlank = hamis;
}
}
}
késleltetés (1); // adjon időt a böngészőnek az adatok fogadására
client.stop (); // bezárja a kapcsolatot:
}
}
void triggerPin (int PIN, EthernetClient kliens) {
// egy jelzőfény villogása - az ügyfélnek csak HTML-kimeneti célra van szüksége.
client.print ("Pin bekapcsolása");
kliens.println (tű);
client.print ( "");
if (pin, HIGH)
{
digitalWrite (4, HIGH);
digitalWrite (6, HIGH);}
}
Nem lenne könnyebb és olcsóbb ezt a Raspberry Pi-vel csinálni? Nem vagyok biztos abban, mert soha nem használtam Arduino-t, de van egy Pi-nek.