Skocz do zawartości

czeslaw

Użytkownicy
  • Zawartość

    27
  • Rejestracja

  • Ostatnio

Posty napisane przez czeslaw

  1. Dnia 6.01.2022 o 14:19, tadek09 napisał:

    Witam

    Mam problem jak wgrać stronę HTML do SPIFFS.

    Jeśli używasz platformy Arduino to pod załączonym linkiem masz krok po kroku, ludzkim językiem opisany sposób obsługi SPIFFS dla ESP8266 i ESP32. 

    Możesz niniejszy projekt zamiast na platformie VSC+platformIO wgrać i uruchomić na platformie Arduino. Mnie Arduino mimo wszystko wydaje się bardziej klarowne.

    https://randomnerdtutorials.com/esp8266-web-server-spiffs-nodemcu/

    • Lubię! 1
  2. Do tematów filozoficznych polecałbym inne platformy. A tymczasem jeszcze raz dzięki za pomoc. I pozdrawiam.

    P.S. Ja już dekadę temu zakończyłem biznesy, swoją stronę zdjąłem z komercyjnego serwera i teraz jest na Malinie. A teraz może mój pełnoletni wnuk, który miewa różne przypały (w tym informatyka) zainteresuje się platformą Raspberry Pi i kursem Forbot?

     

     

     

  3. Mam jeszcze wątliwość jaki bedzie adres ip strony i czy się powinien zmienić. Miałem przed operacją przekierowania adres ...forbot/index.html bo w katalogu /var/www/html/forbot są pliki strony. A po operacji powinny się zmienić na ... html/index.html a może ...index.html czy jeszcze inaczej? Zresztą próbowalem wpisywać różne warianty ip bez skutku.

     

     

     

  4. w konsoli uruchomiłem:

    sudo nano /etc/apache2/sites-enabled/000-default.conf

    w panelu otworzyłem ^\Zastąp:  DocumentRoot /var/www/html

    enter

    zastap przez: DocumentRoot /home/pi/html (w katalogu 'html' umieszczone są pliki mojej strony)

    operacja wykonała się bez komunikatu o błedzie

    przy próbie uruchomienia polecenia:

    <Directory /home/pi/html> AllowOverride all Require all granted </Directory>

    Pojawiały się komunikaty o błedzie, szczegółów błedu nie potrafię teraz odtworzyć

    Zresetowałem poleceniem:

    sudo systemctl restart apache2

    nic to nie dało

     

  5. Znalazłem informacje na niniejszym kursie  Kurs Raspberry Pi – edytory tekstów, konsola cd. • FORBOT

    parametr polecenia chmod:

    https://cdn.forbot.pl/blog/wp-content/uploads/2018/01/rpi_kurs_chmod_tabela.png

    sudo chmod (z parametrem 0-7) katalog/plik i to zadziałało.

    Próbowałem też metody ethanaka z przekierowaniem do katalogu home

     ale coś mi nie zatrybiło. 

  6. Dzięki za pomoc.

    Wszedłem na wskazaną stronę i przeczytałem wpisy. Tym niemniej ilość działań wydała mi się nieco przytłaczająca, więc póki co podjąłem inną próbę.

    Przy pomocy funkcji 'cp' na konsoli przekopiowałem plik po pliku zawartość mojej strony (sprawdzonej na serwerze komercjalnym w necie) z katalogu na pulpicie maliny do katalogu  /var/www/html/forbot/

    Efekt jest taki że strona otwiera się zarówno z katalogu  /var/www/html/forbot/ jak i z adresu ip, jednak w obydwu przypadkach nie otwierają się zamieszczone w katalogu /var/www/html/forbot/ linkowane przez html pliki  typu  .doc, .jpg, .gif (strona wyświetla puste ramki)

    W przypadku kliknięcia na link w ramce odpowiada komunikatem:

    403 Forbidden  You don't have permission to access 

      - czyli dostęp do plików jest zabroniony ale jak to naprawić , nie wiem?

    Zauważyłem że nie mozna równiez otworzyć tych plików bezpośrednio z katalogu serwera maliny "/var/www/html/forbot/"

  7. Witam. 

    Wróciłem do "Maliny" po dłuższej przerwie z tym tematem.

    Mam na malinie zapisany przykładowy działający plik serwera 'index.html' w katalogu:

    /var/www/html/forbot/

    Dokonuję edycji tego pliku za pomocą edytora (Text Editor)
    i gdy próbuję zapisać poprawioną wersję to dostaję komunikat:

    "Nie można otworzyć pliku do zapisu"

    Poza tym nie mogę wykonać żadnych operacji poza odczytem na plikach w powyższym katalogu
    Jakieś uprawnienia są potrzebne?

    Pomocy.

     

     

  8. @PiotrekEl Kwestia1. Zastanawiam sie w jakim celu miałbym wystawiać "na świat" serwer rejestrujący takie wykresy temperatur w domu? 

    Kwestia2.  Napisałeś " A jak ktoś się już dostanie do sieci to skanowanie urządzeń/portów trwa bardzo króciutko."

    To ja pytam a jeśli ktoś dostanie Ci się do sieci mimo tego, że nie miałeś ustawionego dostępu "ze świata" to co ci to pomoże?

    Kwestia3: Widząc na wykresie temperatury przekraczające 28stC, zastanowiłem się czy to nie jest wykres temperatur z fali maksymalnych letnich upałów (jakoś mi ten wykres kwestionuje argumentację, którą z niego wywiodłeś)? Nie wiem jak u kogo ale u mnie temperatury pomieszczeń w sezonie grzewczym zawierają się w widełkach 18-21sC.

  9. @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.

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

     

  11. @ethanak "warto poczytać sobie dokumentację zanim się zada jakieś dziwne pytanie."

    Bardzo dobra, mądra rada. Czyli idź i sobie poczytaj, nie zadawaj tutaj głupich pytań. Dobra to jest rada ale dla profesjonalistów raczej, nie dla amatorów ( takich jak ja) . 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ć, ucząc sie na nich i nie siedzieć calymi dniami nad dokumentacjami, githubami itp i szukaniem w necie nie wiadomo czego (od tym względem łatwiej jest pod platformą NodeMCU custom builds (nodemcu-build.com) bo ten pakiet biblioteczny jest w jednym miejscu).

     

     

  12. Drażąc temat komunikacji pomiędzy serwerem ESP a przegladarką pojawia sie kwestia adresu IP. Zakładając że w lokalnej sieci WI-FI chcemy postawić wiele takich serwerków na ESP. Jak te losowo generowane adresy ogarniemy? Jak to zafunkcjonuje po zresetowaniu rutera albo poszczegolnych plytek ESP? Czy te adresy sie nie pozmieniają? Jesli tak to taka idea jest do d... Przepraszam jesli pytanie jest głupie. Ja ze swoimi serwerkami postawionymi na platformie LUA esp poszedłem w odwrotną stronę, czyli na każdym ESP zadałem indywidualny adres IP oraz port. A w platformie arduino nie można tak zrobić?

  13. Plik mam dokładnie taki jak Twój. Nazwa sieci i hasło OK. Dla układów ESP zaprogramowanych pod LUA i które aktualnie pracują w sieci WIFI - mam zdefiniowane w ruterze przekierowania na zewnętrzny adres IP rutera. Ale to chyba nie może mieć związku z problemem? Być może podstawiłem niewłaściwą płytkę ESP, albo niewłaściwą bibliotekę. Spróbuję zdefiniować od nowa nowy projekt jak odpocznę od tego parę dni. 

    A nawiasem mówiąc w LUA brakowało mi funkcji automatycznego odświeżania wartości parametrów w serwerze na przeglądarce. Dzięki twojemu tematowi zauważyłem, że można to robić przy pomocy Websocket. Platforma LUA ma jakiś.

     

  14. Espressif8266 jest.

    Tym razem kompilacja przebiegła bez komunikatów o błedach. I układ został zaprogramowany. 

    Tym niemniej ESP nie startuje. Nie otwiera adresu strony ktory (nie wiem czy prawidłowo) wpisałem w linii 19 pliku. 

    #include <Arduino.h>
    #include <ESPAsyncWebServer.h>
    #include <ESP8266WiFi.h>  
    #include <FS.h> 
    
    
    #define SSID "TP-LINK_XXX"      //nazwa sieci
    #define PASS "S2B4D38H7PXXX"   //hasło sieci
    #define LED 22                    //numer pinu gdzie mamy podłączoną diodę
    
    AsyncWebServer serwer(80); //utwórzmy obiekt serwera na porcie 80
    
    void setup() {
      Serial.begin(115200);                    //zainicjujmy port szeregowy
      SPIFFS.begin();                          //zainicjujmy system plików
      pinMode(LED, OUTPUT);                    //ustawmy naszeg pin jako wyjście
      WiFi.begin(SSID, PASS);                  //połącz z naszą siecią wifi  
      while (WiFi.status() != WL_CONNECTED){}  //poczekajmy aż ESP połączy się z naszą seicią 
      Serial.printf("\nAdres IP:192.168.1.159");
      Serial.println(WiFi.localIP());          //wypisz adres IP naszego ESP przez port szeregowy
    
      //tutaj odbywa sie obsługa zapytań
      serwer.on("/", HTTP_GET, [](AsyncWebServerRequest *request){ //na otrzymane od klienta zapytania pod adresem "/" typu GET, 
        request->send(SPIFFS, "/index.html", "text/html");         //odpowiedz plikiem index.html z SPIFFS (można to zmienić na kartę SD) 
                                                                   //zawierającym naszą stronę będącą plikem tekstowym HTML
      });
    
      serwer.on("/on", HTTP_GET, [](AsyncWebServerRequest *request){ //na otrzymane od klienta zapytanie pod adresem "/on" typu GET, 
        digitalWrite(LED, LOW);                                      //zapal diodę
        request->send(200);                                          //odeślij odpowiedź z kodem 200 OK 
      });
    
       serwer.on("/off", HTTP_GET, [](AsyncWebServerRequest *request){ //na otrzymane od klienta zapytanie pod adresem "/off" typu GET, 
       digitalWrite(LED, HIGH);                                        //zgaś diodę
       request->send(200);                                             //odeślij odpowiedź z kodem 200 OK          
      });
    
      serwer.begin();                          //zainicjujmy nasz serwer 
    } 
    
    void loop() {
    }

     

    Zrzut ekranu (79)_LI.jpg

  15. #include <Arduino.h>
    #include <ESPAsyncWebServer.h>
    #include <WiFi.h>  
    #include <SPIFFS.h> 

    ESPAsyncWebSerwer udało mi sie pobrać (chyba?)

    Aktualnie kompilator "wywala" mi sie z komunikatem " błąd WiFi.h : nie ma takiego pliku lub katalogu". Co jak się domyślam, oznacza to że należy pobrać i dołączyć biblioteki WiFi a takze SPIFFS. Na razie nie wiem jak, nie udaje mi się.

     

×
×
  • 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.