Skocz do zawartości
BLACK338OUT

Kontrola Arduino ethernet za pomocą strony internetowej

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.

Udostępnij ten post


Link to post
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.

Udostępnij ten post


Link to post
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.

Udostępnij ten post


Link to post
Share on other sites

@Treker Konkretnie szukam kodu, który 

6 minut temu, Treker napisał:

Za pomocą Arduino pobierasz wtedy całą stronę i analizujesz jej treść

 

Udostępnij ten post


Link to post
Share on other sites

@Treker Widziałem już ten przykład tylko nie za bardzo wiem jak go zastosować. 

IPAddress ip(192, 168, 0, 177);
IPAddress myDns(192, 168, 0, 1);

Nie wiem czym różni się ip od myDns

Udostępnij ten post


Link to post
Share on other sites

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).

Udostępnij ten post


Link to post
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() {
}

 

Udostępnij ten post


Link to post
Share on other sites

Po wgraniu programu na porcie otrzymuję komunikat (załącznik).

//IPAddress server(74,125,232,128);
char server[] = "http://192.168.0.5/";

IPAddress ip(192, 168, 0, 4);
IPAddress myDns(192, 168, 0, 1);

 

 

Port.png

Udostępnij ten post


Link to post
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)?

Udostępnij ten post


Link to post
Share on other sites
(edytowany)
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

Udostępnij ten post


Link to post
Share on other sites

@Treker192.168.0.5 to mój serwer xampp. Po pozostawieniu Googla na monitorze wyświetla się długi ciąg znaków bądź poleceń.

Port.png

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

czyli Arduino łączy się z siecią (nawet korzysta z dns) - problemu szukaj w konfiguracji serwera - swojego Xampa ( jak wyżej pisałem).

Edytowano przez Belferek

Udostępnij ten post


Link to post
Share on other sites

@BLACK338OUT czy ten Twój serwer jest na pewno dostępny na porcie 80 dla innych urządzeń w sieci lokalnej? Możesz go wywołać np. z telefonu?

Udostępnij ten post


Link to post
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!

Gość
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...