
czeslaw
-
Zawartość
27 -
Rejestracja
-
Ostatnio
Posty napisane przez czeslaw
-
-
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?
-
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.
-
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
-
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.
-
Próbowałem zmienić te uprawnienia w menadżerze plików.
Będę próbował zrobić to na konsoli jak ogarnę temat jak napisać linię polecenia, najlepiej dla wszystkich plików w katalogu.
-
1 godzinę temu, ethanak napisał:
Podpowiem: aby móc odczytać plik, którego nie jesteś właścicielem plik musi na to pozwalać.
Próbowałem zmienić atrybuty dostępu do pliku w tym katalogu ale system pozwala.
Tak czy inaczej dziękuję panom pmochocki i ethanak i przepraszam za zabranie cennego czasu.
-
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/"
-
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.
-
@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.
-
@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.
-
@PiotrekEl "Ma sens choćby edukacyjny" To racja.
-
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.
-
@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).
-
No cóż, autor zapowiedział część drugą. Jest też istotna kwestia widoczności tego naszego serwera spoza lokalnej sieci (chociaż sądząc po zainteresowaniu forumowiczów tematem a raczej jego braku, nie zdziwiłbym się gdyby zrezygnował z dalszej publikacji).
-
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ć?
-
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ś.
-
-
Wróciłem do poczatku kursu wpisując do projektu pierwszy Twój załączony plik.
Skutek podobny jak poprzednio. startuje WDT, wpisanie zwłoki pod void nic nie daje. Adresu IP brak.
-
Opcja nr2 nie zadziałała. Aktualnie program startuje ale nie widzę nigdzie adresu do przeglądarki. Jak program generuje adres IP serwera ESP?
-
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() { }
-
Jak sprawdzić? Żebym dobrze zrozumiał?
1. Czyli mam zmienić w pliku projektu linie 3 i 4 odpowiednio na "ESP8266WiFi.h" oraz "FS.h"
2. Następnie wyszukać na GITHUBIE i wgrać do katalogu "lib" pakiety o powyższych nazwach?
-
-
-
#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ę.
Tworzenie interfejsu sieciowego z wykorzystaniem ESP - część 1
w Artykuły użytkowników
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/