Skocz do zawartości

Kontrola Arduino ethernet za pomocą strony internetowej


BLACK338OUT

Pomocna odpowiedź

Dzień dobry,

mam problem nigdzie nie mogę znaleźć odpowiedzi na moje pytanie.

Chciałbym aby moje Arduino mogło odbierać stan przełącznika zamieszczonego na stronie internetowej zahostowanej na xampp-ie. Chodzi mi na przykład o włączanie i wyłączanie diody.

Proszę o konkretny kod arduino i html.

Z góry dzięki.

Link do komentarza
Share on other sites

@BLACK338OUT witam na forum 🙂

2 godziny temu, BLACK338OUT napisał:

Proszę o konkretny kod arduino i html.

Jeśli chcesz się nauczyć to oczywiście chętnie podpowiemy, ale nie mamy w zwyczaju dawać gotowców. Jeśli oczekujesz, że ktoś dostarczy gotowy program to napisz zlecenie w dziale z ogłoszeniami o pracę 🙂 Jeśli jednak chcesz się nauczyć to napisz zwyczajnie na czym utknąłeś i co sprawia Ci dokładnie problem.

Link do komentarza
Share on other sites

To dość ogólnie przedstawiony problem, więc wskazówka też będzie ogólna 😉 Jeśli chcesz odbierać dane ze strony to najprościej przygotować podstronę, która wyświetla np. wartość 1, gdy przycisk jest wciśnięty i 0, gdy nie jest wciśnięty. Za pomocą Arduino pobierasz wtedy całą stronę i analizujesz jej treść. Pytanie co to dokładnie za strona i w jakiej technologii wykonana. Czy to tylko html? Co chcesz docelowo osiągnąć? Pytam, bo może rozwiązanie powinno być zupełnie inne... Najłatwiej będzie jak podasz konkretne zastosowanie tego mechanizmu.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Pierwsze to adres Twojego urządzenia, a drugie to adres routera, czyli domyślnej bramy w sieci. Jeśli DHCP działa poprawnie to elementy tę będą zbędne (zgodnie z informacją w komentarzu - linijka nad cytowanym przez Ciebie fragmentem).

Link do komentarza
Share on other sites

Ja bym powiedział, że ip i myDns jakie pokazujesz to dwa adresy IP (obiekty klasy IPAddress). Urządzenie do pracy w sieci musi posiadać unikatowy w skali sieci identyfikator - adres IP. W konfiguracji urządzenia to nie wystarczy - należy jeszcze podać tzw. maskę podsieci (subnet mask). Do pracy w obrębie sieci LAN to wystarczy. Jeśli jednak urządzenie ma komunikować się z innymi sieciami np. z internetem to w konfiguracji podajemy także adres IP urządzenia pełniącego funkcję bramy sieciowej (gateway) i adres serwera usługi DNS, który umożliwi Ci korzystanie z nazw domenowych typu www.forbot.pl

Taki przykład możesz znaleźć w serwisie arduino.cc - zobacz

#include <SPI.h>
#include <Ethernet.h>

// network configuration. dns server, gateway and subnet are optional.

 // the media access control (ethernet hardware) address for the shield:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };  

// the dns server ip
IPAddress dnServer(192, 168, 0, 1);
// the router's gateway address:
IPAddress gateway(192, 168, 0, 1);
// the subnet:
IPAddress subnet(255, 255, 255, 0);

//the IP address is dependent on your network
IPAddress ip(192, 168, 0, 2);

void setup() {
  Serial.begin(9600);

  // initialize the ethernet device
  Ethernet.begin(mac, ip, dnServer, gateway, subnet);
  //print out the IP address
  Serial.print("IP = ");
  Serial.println(Ethernet.localIP());
}

void loop() {
}

 

Link do komentarza
Share on other sites

@Belferek w przypadku sieci domowych prawie zawsze router będzie pełnił rolę "serwera DNS". Przynajmniej ja nie spotkałem się z sytuacją, aby przy podstawowej konfiguracji było inaczej 🙂

@BLACK338OUT a co to za adres IP? Masz tam coś uruchomione? Jakiś swój serwer? Co się stanie jak zostawisz tam adres www.google.com (zgodnie z przykładem)?

Link do komentarza
Share on other sites

16 minut temu, Treker napisał:

w przypadku sieci domowych prawie zawsze router będzie pełnił rolę "serwera DNS"

Prawie ... tyle, że w przypadku domowej sieci LAN ( do połączeń w jej obrębie) praktycznie do czego ten DNS potrzebny? Wystarczy IP i maska zresztą autor tak próbuje się łączyć. Przy takim komunikacie o braku połączenia nie czepiałbym się od razu Arduino. Spróbuj połączyć się z innego urządzenia - komórki, laptopa (tylko nie tego na którym masz Xamp-a). Jak się połączysz ze swoim serwerem z innego urządzenia to problemu można szukać w Arduino, a jak nie to w konfiguracji ... serwera.

Edytowano przez Belferek
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.