Skocz do zawartości

Arduino MEGA i BLYNK, LCD odchodzi do lamusa...


Pomocna odpowiedź

(edytowany)

@SOYER trochę nie o to mi chodziło ale to nic. Spróbuj zrobić taką prowizorkę: w routerze przekieruj port np. 81 na port 80 malinki. Wtedy co prawda adres będzie wyglądał jak http://<IP-domowy>:81/ ale to już lepsze niż nic. Jeśli to zadziała to będziemy kombinować dalej.

Edytowano przez ethanak

Ok, dzwoniłem do dostawcy neta i mi powiedzieli,  że na tych światłowodowych nie mają możliwości przekierowania portów. 

Jeśli coś dodatkowego na porcie 80 to muszę wykupić dodatkowe ip zewnętrzne.

Na rejestratorze mogę zmienić port i powinno działać.

Radził zmienic port na malince.

Chyba nic nie pokręciłem, jak pisałem nie znam się na tych portach i ip wcale...

Jeśli radził zmienić port na malince to najprawdopodobniej gadałeś z handlowcem.

Port przekierowujesz na routerze w domu a nie u nich. Nie musi być 80. Port zewnętrzny np. 81 przekierowujesz na port 80 na malince.

Musisz wejść na router (tu Ci nie pomogę) i znaleźć panel przekierowania portów... bez tego nie ruszymy.

 

Nie do końca rozumiem w czym jest problem, ale skoro można było wystawić port 80 dla rejestratora, to jaki problem użyć tej samej metody i na rasperry wystawić powiedzmy 8080?

Kolega nie wie...

@Elvis - serio, jak masz jakiś pomysł i więcej cierpliwości to zrób coś, ja dzisiaj już nie mam czasu a ze swojej strony obiecuję że jak kolega będzie grzeczny i dowolny port przekieruje na http malinki to w nagrodę będzie miał ładny adres w internecie (i tak muszę na czymś swoje skrypty do reverse proxy wypróbować, mogę tu).

(edytowany)

Tak jak napisałem, nie zezwalają na dostęp klientów do routera. Router jest ich. U mnie tylko pracuje. W światłowodowych nie przekierowują portów na życzenie. 

Mam ich naciskać czy jest jakieś inne rozwiązanie? 

Z rejestratorem było tak, że podpiąłem kabel i działa.... 

Edytowano przez SOYER

Ciekawa sprawa z tym rejestratorem. O ile rozumiem to oddzielne urządzenie podłączane przez Ethernet? Ma więc własny, lokalny adres IP - tylko skąd miałby router wiedzieć, że akurat ten adres ma udostępnić? Jesteś pewien, że nie było konieczności skonfigurowania czegoś przy pierwszym podłączaniu tego rejestratora?

O ile rozumiem oni nie udostępniają przekierowania portu 80 do dwóch urządzeń. To ma sens, bo skoro masz jeden publiczny adres IP, ciężko byłoby na nim przekierować port 80 na dwa sposoby. Więc zaproponowali usługę drugiego adresu IP. Ale nam nie jest potrzebny port 80 - właściwie może być (prawie) dowolny inny. Może zadzwoń do nich i zapytaj czy taka opcja byłaby możliwa - przekierowanie np. portu 8080 do urządzenia w Twojej sieci lokalnej.

Coś wiem już.... 

Ja wcale teraz nie mam zewnętrznego swojego IP, mogę mieć pojutrze albo bawić się w DDNS... 

Teraz jestem widoczny jako główny serwer mojego dostawcy który przydziela numery lokalne... 

Z rejestratorem łączyłem się zawsze ze swojej domowej sieci, a z komórki przez P2P... 

Jak będę miał swoje IP to mogę porty ustawiać jak chcę... 

Zamawiać to IP? 

(edytowany)

W oczekiwaniu na stałe IP, przebudowałem stronę. Teraz to javascript odświeża mi wyniki, nie ma przeładowania stron. Trochę się namęczyłem bo nie chciało odpalić. Dopiero przeniesienie tego kodu 

<script type="text/javascript">
   document.getElementById("temp").addEventListener("click", function(){
   document.getElementById("odczytGlowny").innerHTML = "Aktualna temperatura wynosi : 21*C";});
   document.getElementById("wilg").addEventListener("click", function(){
   document.getElementById("odczytGlowny").innerHTML = "Aktualna wilgotność wynosi : 75 %RH";});
   document.getElementById("cis").addEventListener("click", function(){
   document.getElementById("odczytGlowny").innerHTML = "Aktualne ciśnienie wynosi : 995 hPa";});
   document.getElementById("pm1").addEventListener("click", function(){
   document.getElementById("odczytGlowny").innerHTML = "Aktualne stężenie PM 1 wynosi : 12ug/m3";});
   document.getElementById("pm2").addEventListener("click", function(){
   document.getElementById("odczytGlowny").innerHTML = "Aktualne stężenie PM 2,5 wynosi : 22ug/m3";});
   document.getElementById("pm10").addEventListener("click", function(){
   document.getElementById("odczytGlowny").innerHTML = "Aktualne stężenie PM 10 wynosi : 32ug/m3";});
 </script>

na dół, przed samym zamknięciem sekcji body spowodaowało, że kod zaczął działać. Czy to dlatego, że powyżej deklaracji divów z których korzysta ten powyższy kod, on po prostu "nie widział" tego czym zarządza? To dlaczego zegar działa skoro jest wyżej divów zegara i daty? Wcześniej ten skrypt miałem nad skryptem zegara w sekcji head.

Cały kod https://github.com/Soyer79/0

To tylko ćwiczenie z getElementById i addEventListener, później muszę wykombinować jak po kliku zmienić diva po prawej na dwa divy i w górnym wyświetlać "Aktualny odczyt:" a w dolnym dane pobrane z serwera... Jakieś wskazówki? Może najpierw: 

jak przy pomocy

 document.getElementById("temp").addEventListener("click", function(){*************************;});

podmienić divy?

 

Edytowano przez SOYER

Poczytaj sobie coś o drzewie DOM (Document Object Model), bo manipulując elementami tego drzewa możesz zrobić to co chcesz bez używania fujastej fujastości pt. innerHTML.

Tak przy okazji:

skrypt nie działał, bo w momencie jego wywołania nie istniał jeszcze element o id = "temp".

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...