Skocz do zawartości

Tworzenie interfejsu sieciowego z wykorzystaniem ESP - część 1


Pomocna odpowiedź

1 minutę temu, czeslaw napisał:

Czyli idź i sobie poczytaj, nie zadawaj tutaj głupich pytań.

Niestety, muszę Cię zmartwić. Forum to nie jest darmowy interfejs do googla.

4 minuty temu, czeslaw napisał:

A amator, ktory sobie próbuje coś zdłubać z natury rzeczy bazuje na gotowcach czyli na przykładach kompletnych, które działają, które moze sobie nastepnie probować modyfikować,

O właśnie. Masz kod programu korzystającego z DHCP. Możesz go sobie następnie zmodyfikować tak, aby nadać statyczne adresy IP. Owszem, można by było umieścić to w artykule... ale przecież za chwilę chciałbyś uruchomić płytkę w trybie AP, potem AP-STA, potem pewnie skorzystać z esp-now, a potem pobawić się pakietami UDP... to wszystko chcesz mieć w jednym artykule? I co autor miał zrobić, przekleić 90% dokumentacji bo komuś się nie chce poszukać?

Przemyśl to sobie.

 

Link to post
Share on other sites

@czeslaw Aby ogarnąć adresy możesz z poziomu kodu próbować wymusić nadanie konkretnego adresu IP, inna opcja jest po prostu nadać statyczne adresy z poziomu routera (na podstawie adresów MAC poszczególnych urządzeń). Ewentualnie można sobie uprościć pracę korzystając z mDNS, ale o ile dobrze pamiętam trzeba zainstalować Bonjour w przypadku systemu Windows, aby móc z tego korzystać. Tak jak wyżej wspomniał kolega ethanak.


Kwestia widoczności urządzenia spoza sieci lokalnej jest bardzo indywidualna bym powiedział. Jeżeli twój dostawca usług internetowych przydziela tobie adres IP który jest widziany na świat, nie powinieneś mieć problemu z realizacją tego. W ustawieniach routera powinieneś móc uruchomić przekierowywanie portów. Chcąc otrzymać dostęp do swojego serwera, musiałbyś wtedy podać w pasku przeglądarki swój adres IP który widnieje w "świecie" oraz ewentualny port na którym znajduje się serwer (tu trzeba się zorientować z jakich portów można korzystać, ponieważ niektóre usługi sieciowe wykorzystują już część z nich). Warto tu pamiętać iż domyślny port w tym przypadku to 80, oznacza to że wpisując np. swój adres w postaci 89.100.100.100, jest to jednoznaczne z wpisaniem  89.100.100.100:80. W ustawieniach routera ustawiając przekierowywanie wskazujesz adres urządzenia w sieci lokalnej np. 192.168.1.24. W ten sposób po wpisaniu adresu np. 89.100.100.100 (adres widoczny na świat) klient zostanie połączony z serwerem pod adresem 192.168.1.24 w sieci lokalnej. Jeżeli skonfigurujesz inne porty będzie trzeba je stosownie wskazać w konfiguracji czy podczas wprowadzania adresu w pasku przeglądarki.
Jeżeli dostawca nie daje tobie takiej możliwości, można spróbować zabawy z VPN, aczkolwiek nigdy nie miałem potrzeby aby w ten temat się zagłębić.

Część druga artykułu jest już dostępna, lecz skupia się na innych zagadnieniach. Są to swego rodzaju rozważania nad możliwościami oraz sposobami rozwiązań pewnych problemów.

Link to post
Share on other sites

Wszystko to zgoda.  Przy czym "Kwestia widoczności urządzenia spoza sieci lokalnej jest bardzo indywidualna bym powiedział". Pozwolę sobie pójść na chwilę w ton filozoficzny. Budowanie wysublimowanej elektroniki w celu kontrolowania urządzeń, które mamy w zasięgu wzroku i rąk ma sens powiedziałbym taki sobie.  Powiedzmy że mamy w domu urządzenia, których wrażliwe parametry chcemy mieć pod kontrolą w czasie gdy jesteśmy poza domem. Co więcej, chcemy mieć zdalną możliwość korygowania pracy tych urządzeń. Wtedy ta zabawa może być naprawdę użyteczna i warta świeczki.

Nie chciałbym dalej drążyć tej kwestii.

@ethanak Panu Panie Ethanak dziękuję za pouczenia.

 

Link to post
Share on other sites

 

2 godziny temu, czeslaw napisał:

Pozwolę sobie pójść na chwilę w ton filozoficzny. Budowanie wysublimowanej elektroniki w celu kontrolowania urządzeń, które mamy w zasięgu wzroku i rąk ma sens powiedziałbym taki sobie.

Nie zgodzę się z tym stwierdzeniem. Ma sens choćby edukacyjny. Zrobisz ->nauczysz się dużo więcej niż z książek, lekcji, kursów, poznasz trochę budowę i zasadę działania sieci itp itd.

Mam u siebie w domu postawionego Domoticza, który kontroluje mi kilkadziesiąt czujników. Ma to sens i jest przydatne/pomocne mimo że nie wychodzi poza sieć lokalną.

2 godziny temu, czeslaw napisał:

Powiedzmy że mamy w domu urządzenia, których wrażliwe parametry chcemy mieć pod kontrolą w czasie gdy jesteśmy poza domem. Co więcej, chcemy mieć zdalną możliwość korygowania pracy tych urządzeń. Wtedy ta zabawa może być naprawdę użyteczna i warta świeczki.

Bałbym się, będąc początkującym elektronikiem mieć pod kontrolą własnej produkcji programu i esp jakieś wrażliwe urządzenia i ich parametry. Wydaje mi się że esp nie jest do tego odpowiednim wyborem.

Dostęp z zewnątrz to jest jakby odrębny temat i nie trzeba tego "implementować" w esp.

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

3 godziny temu, czeslaw napisał:

Budowanie wysublimowanej elektroniki w celu kontrolowania urządzeń, które mamy w zasięgu wzroku i rąk ma sens powiedziałbym taki sobie.

@czeslaw Nie mogę się zgodzić z tym stanowiskiem. Wszystko zależy od konkretnego przypadku. Sieci lokalne potrafią być bardzo rozbudowane i rozchodzić się na całe budynki. Nie musi być to koniecznie sieć WiFi (ESP z powodzeniem możemy połączyć za pomocą sieci ethernetowej). Inną kwestią jest np. ekonomia projektu. Przykładem jest wspomniany w artykule interfejs sieciowy drukarki 3D. Wrzucenie modułu w postaci ESP oscyluje w budżecie kilku-kilkunastu złotych. Napisanie interfejsu - zależy jak cenimy czas i jak nam sprawnie to idzie. Jeżeli byśmy chcieli stworzyć analogiczny interfejs w postaci fizycznej, np. wyświetlacza dotykowego, musimy liczyć się z dodatkowym kosztem w wysokości kilkudziesięciu do kilkuset złotych (nie zawsze proste wyświetlacze graficzne/alfanumeryczne są wystarczające do komfortowej obsługi urządzenia które potrafi być bardzo złożone). Ponadto wciąż musimy przebrnąć przez etap napisania interfejsu. Innym faktem jest to, że redukujemy ilość dostępnych wyprowadzeń układu oraz ograniczamy wydajność naszego programu (obsługa wyświetlacza potrafi być bardzo wymagająca dla mikrokontrolera).

Podstawą realizacji projektu jest dobranie odpowiednich metod oraz narzędzi w zależności od naszego celu i założeń projektu. Inaczej można patrzeć przy projekcie hobbystycznym realizowanym dla własnego użytku w pojedynczych sztukach, inaczej w przypadku projektu otwarto źródłowego, a jeszcze inaczej w przypadku przypadku projektu komercyjnego.
 

@PiotrekEl

58 minut temu, PiotrekEl napisał:

Bałbym się, będąc początkującym elektronikiem mieć pod kontrolą własnej produkcji programu i esp jakieś wrażliwe urządzenia i ich parametry. Wydaje mi się że esp nie jest do tego odpowiednim wyborem.

ESP jak najbardziej się do tego nadaje, ale jak zauważyłeś będąc początkującym nie jest to dobry pomysł. Producent ESP dostarcza narzędzia do tworzenia bezpiecznych urządzeń, lecz podstawą jest umiejętność korzystania z nich i rozumienia jak z nich korzystać. Ponadto zawsze trzeba mieć świadomość z jakimi zagrożeniami wiąże się wystawienie danego urządzenia "na świat". Osobiście uważam że niezależnie od rozwiązania trzeba mieć na uwadze że łączenie urządzenia do sieci (szczególnie jeżeli ma być dostępne spoza sieci lokalnej) jest obarczone ryzykiem ataków.
 

  • Lubię! 1
Link to post
Share on other sites

@AlcoMatt  "Ponadto zawsze trzeba mieć świadomość z jakimi zagrożeniami wiąże się wystawienie danego urządzenia "na świat". Osobiście uważam że niezależnie od rozwiązania trzeba mieć na uwadze że łączenie urządzenia do sieci (szczególnie jeżeli ma być dostępne spoza sieci lokalnej) jest obarczone ryzykiem ataków".

Skoro wątek "wystawienia IP na świat" jest kontynuowany to wtrącę trzy grosze:  Należy zdawać sobie sprawę, że ktoś (jakiś dowcipniś), może trafić przypadkiem lub celowo działając na nasz adres serwera ESP poklikać i "pobawić się" urządzeniami. Liczba obrazująca IP 255.255.255.255:xx jest jednak bardzo wielka i prawdopodobieństwo "trafienia" jest niewielkie choć teoretycznie możliwe. Jeśli taki "dowcipniś" znajdzie IP naszego rutera to prawdopodobieństwo "trafienia" bardzo wzrasta i sprowadza się do trafienia numeru portu (z zakres liczb do 65535).

Można by spróbować wprowadzić blokadę dostępu z obcych przeglądarek do naszego adresu IP albo wprowadzić hasło dostępu (szczerze powiem, że na dzień dzisiejszy nie mam pojęcia jak to zrobić) . Ale można się też zabezpieczyć w ten sposób by ograniczyć możliwość dokonania szkód w przypadku "włamania". Na przykład wprowadzając limity zdalnych ustawień.  Albo mając postawioną przykładową funkcjonalność zdalnego sprawdzania czy mamy zamknięty dom, nie dajemy możliwości zdalnego otwierania bram.

Link to post
Share on other sites
2 godziny temu, czeslaw napisał:

Liczba obrazująca IP 255.255.255.255:xx jest jednak bardzo wielka i prawdopodobieństwo "trafienia" jest niewielkie choć teoretycznie możliwe. Jeśli taki "dowcipniś" znajdzie IP naszego rutera to prawdopodobieństwo "trafienia" bardzo wzrasta i sprowadza się do trafienia numeru portu (z zakres liczb do 65535).

Prawdopodobieństwo wcale nie jest niewielkie. A jak ktoś się już dostanie do sieci to skanowanie urządzeń/portów trwa bardzo króciutko.

Być może celowo nikt nie będzie chciał się włamać do Twojej sieci bo nie będzie to miało sensu a nawet jak się dostanie to krzywdy nie zrobi ale nie zakładałbym że to jest tylko "teoretycznie możliwe".

 

2 godziny temu, czeslaw napisał:

Można by spróbować wprowadzić blokadę dostępu z obcych przeglądarek do naszego adresu IP albo wprowadzić hasło dostępu

 

2 godziny temu, czeslaw napisał:

Ale można się też zabezpieczyć w ten sposób by ograniczyć możliwość dokonania szkód w przypadku "włamania". Na przykład wprowadzając limity zdalnych ustawień.  Albo mając postawioną przykładową funkcjonalność zdalnego sprawdzania czy mamy zamknięty dom, nie dajemy możliwości zdalnego otwierania bram.

Można i owszem. Ale jeśli Twoje oprogramowanie będzie miało jakąś lukę czy podatność to być może uda się limity i możliwości ustawień zwiększyć.

Wystawianie się na zewnątrz jest ryzykowne.

Link to post
Share on other sites
34 minuty temu, PiotrekEl napisał:

Prawdopodobieństwo wcale nie jest niewielkie.

Taki przykład z życia... instaluję sobie serwer, IP świeżutki nigdy nie używany, i zanim zacznę konfigurować już pięciu kitajców próbuje mi się włamać przez ssh.

Co do wystawiania na zewnątrz różnych danych... jeśli poobserwuję dość długo wskazania wyłącznie termometru w salonie, będę wiedział wszystko o zwyczajach domowników. Bardzo ciekawe dane, szczególnie dla kogoś kto np. trudni się okradaniem mieszkań w czasie nieobecności mieszkańców 😉

 

  • Lubię! 1
Link to post
Share on other sites
40 minut temu, ethanak napisał:

jeśli poobserwuję dość długo wskazania wyłącznie termometru w salonie, będę wiedział wszystko o zwyczajach domowników.

Akurat temperaturę trudno zmienić znacząco samym przebywaniem w pokoju, bo od razu reaguje ogrzewanie i klima. Jednak patrząc na wykresy wilgotności od razu wiem kiedy pojawili się domownicy, kiedy żona zaczęła gotować obiad, kiedy przestała,a  kiedy wszyscy poszli spać.

Edytowano przez SOYER
Link to post
Share on other sites
29 minut temu, SOYER napisał:

Akurat temperaturę trudno zmienić znacząco samym przebywaniem w pokoju, bo od razu reaguje ogrzewanie i klima.

Samo otwarcie drzwi wejściowych zmienia temperaturę (przetestowane na włąsnym domu i własnych termometrach) 🙂

 

Link to post
Share on other sites
31 minut temu, SOYER napisał:

Akurat temperaturę trudno zmienić znacząco samym przebywaniem w pokoju, bo od razu reaguje ogrzewanie i klima.

Oj można się zdziwić, ja się zdziwiłem 😄 Nawet komputer działający w pokoju wykryje, o ile nie masz czujnika np przy oknie.

 

1 godzinę temu, ethanak napisał:

Taki przykład z życia... instaluję sobie serwer, IP świeżutki nigdy nie używany, i zanim zacznę konfigurować już pięciu kitajców próbuje mi się włamać przez ssh.

Parę ładnych lat temu instalując WinXP na komputerze z podłączonym do internetu od razu po zainstalowaniu systemu miałem już towarzystwo😆 także tego...

Link to post
Share on other sites
25 minut temu, ethanak napisał:

Samo otwarcie drzwi wejściowych zmienia temperaturę (przetestowane na włąsnym domu i własnych termometrach) 🙂

To chyba mierzycie i rejestrujecie tą temperaturę co kilka sekund. Przy działającym ogrzewaniu/klimie i zapisie temperatury co kwadrans, nie obserwuję żadnych skoków temperatury. W kuchni od biedy można wyłapać gotowanie, w salonie ni hu hu, kreska równa jak poziomica.

Oczywiście wiele zależy od indywidualnych ustawień i warunków.

Screenshot_2021-04-05-15-59-40-205_cc.blynk.jpg

Edytowano przez SOYER
Link to post
Share on other sites
8 minut temu, SOYER napisał:

W kuchni od biedy można wyłapać gotowanie, w salonie ni hu hu, kreska równa jak poziomica.

Salon zwykle duży, może być ciężko wyłapać zmiany temperatur.

Przykład obecny - mały pokoik około 6m2, czujnik daleko od okna:

temp.thumb.png.60d7683e552dcee1af39baaafd2fafd8.png

około 9-10 rozszczelniłem okno, koło 13 włączyłem komputer. Wczoraj koło 19 zamknąłem rozszczelnienie, około 23 wyszedłem z pomieszczenia. Zgadza się;)

Link to post
Share on other sites
26 minut temu, SOYER napisał:

To chyba mierzycie i rejestrujecie tą temperaturę co kilka sekund

Co minutę, dokładność 0.25°C.

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!

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.