Вашият имейл адрес няма да бъде публикуван. Задължителните полета са маркирани *

Използвам arduino-uno, но не мога да осъществя достъп до моята уеб страница.i вече бях назначил ip адрес на arduino. когато пускам arduino (ctrl + shift + m), той показва изход. Но когато имам достъп до моята уеб страница, тя ще покаже „не можеш“ да достигне до тази уеб страница.

Моят уеб сървър работи добре с локална IP и локална мрежа с ethernet кабел.

работа с пренасочване на порт / публичен IP при използване на друга мрежова връзка към мобилен, както е споменато в статията.

не работи в моя мобилен или лаптоп, когато използвам Wifi / Wireless рутер в същата мрежа с локален IP. Моля, уведомете ме къде греша.

имам нужда от помощ в този код, тъй като при аварийно възникване с 4 (високо) не мога да се върна към предишното състояние... как мога да направя това ???

// САМО ARDUINO 1.0+
// САМО ARDUINO 1.0+

#include
#include
булно четене = невярно;

////////////////////////////////////////////////////////////////////////
//CONFIGURE

instagram viewer

////////////////////////////////////////////////////////////////////////
байт ip [] = {192, 168, 16, 71}; // Само ръчна настройка
// байт шлюз [] = {192, 168, 1, 1}; // Само ръчна настройка
// байтова подмрежа [] = {255, 255, 255, 0}; // Само ръчна настройка

// ако трябва да промените MAC адреса (много рядко)
байт mac [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

EthernetServer сървър = EthernetServer (80); // порт 80
////////////////////////////////////////////////////////////////////////

настройка за невалидност () {
Serial.begin (9600);

// Игли 10,11,12 & 13 се използват от ethernet екрана

pinMode (2, INPUT); // SWICH
pinMode (3, изход); //LAMP
pinMode (4, INPUT); // АВАРИЙНО
pinMode (6, INPUT);

Ethernet.begin (mac);
//Ethernet.begin (mac, ip, шлюз, подмрежа); // за ръчна настройка

server.begin ();
Serial.println (Ethernet.localIP ());

}

void loop () {

digitalWrite (6, LOW);
if ((digitalRead (4) == LOW) || (digitalRead (6) == HIGH))
{
ако (digitalRead (2) == HIGH)
{
digitalWrite (3, HIGH);
забавяне (5000);
digitalWrite (3, LOW);

}

}

checkForClient (); // слушайте за входящи клиенти и обработвайте qequest.

}

невалидна проверкаForClient () {

EthernetClient client = server.available ();

ако (клиент) {

// http заявка завършва с празен ред
boolean currentLineIsBlank = true;
boolean sentHeader = невярно;

докато (client.connected ()) {
ако (client.available ()) {

ако (! sentHeader) {
// изпрати стандартно заглавие на http отговор
client.println ("HTTP / 1.1 200 OK");
client.println ("Content-Type: text / html");
client.println ();
sentHeader = true;
}

char c = client.read ();

ако (четене && c == '') четене = невярно;
ако (c == '?') четене = вярно; // намерихте?, започнете да четете информацията

ако (четене) {
Сериен печат (с);

превключвател (в) {
случай "4":
// добавете код тук, за да се задейства на 2
TriPPP (4, клиент);
прекъсване;
случай "6":
// добавете код тук, за да се задейства на 3
TriPPP (6, клиент);
прекъсване;

}

}

ако (c == '\ n' && currentLineIsBlank) почивка;

ако (c == '\ n') {
currentLineIsBlank = true;
} else if (c! = '\ r') {
currentLineIsBlank = невярно;
}

}
}

забавяне (1); // дайте време на уеб браузъра да получи данните
client.stop (); // затворете връзката:

}

}

невалиден триггер (int pin, клиент на EthernetClient) {
// мигане на щифт - Клиентът е необходим само за извеждане на HTML.
client.print ("Включване на щифт");
client.println (щифт);
client.print ( "");

ако (щифт, ВИСОКО)
{
digitalWrite (4, HIGH);
digitalWrite (6, HIGH);}

}

Не би ли било по-лесно и по-евтино да направите това с Raspberry Pi? Всъщност не съм сигурен, защото никога не съм използвал Arduino, но имам Pi.