Skocz do zawartości

Kurs ESP8266 - #3 - przyspieszony kurs na Webmastera


Leoneq

Pomocna odpowiedź

Cytat

<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script> </body>

Po co się dodaje integrity oraz crossorigin?

Link do komentarza
Share on other sites

(edytowany)

Dodaje się te argumenty dla bezpieczeństwa, podczas ładowania skryptów np. z CDN. Integrity kontroluje czy plik nie został zmieniony (np. podczas ataku), a crossorigin informuje przeglądarkę o tym, kto chce zasoby (no, a przynajmniej ja tak to sobie tłumaczę). Anonymous nie potrzebuje potwierdzenia tożsamości, a use-credentials wymaga dodatkowych informacji do ustalenia tożsamości. Jeżeli chcesz dołączyć pliki lokalne, np. z dysku czy FS - nie przejmuj się tymi argumentami. Myślę że @ethanak ci to lepiej wytłumaczy.

Edytowano przez Leoneq
  • Lubię! 1
Link do komentarza
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

nie weim dlaczego na mojej stronie po wgraniu tego kodu co jest w kursie mam pustke ? Gdzie dokładnie mam dać mój plik index.html? w nowym folderu czy to może tego wina ? bo kod mam chyba dobry 

//int dioda = 12;
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <LCD_I2C.h>
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <FS.h>
#define dioda 2
LCD_I2C lcd(0x27, 16, 2);

 // Default address of most PCF8574 modules, change according

 const char* ssid = "Livebox-49E8";
const char* pass = "20C5487147E40CF90637C96663";
WiFiClient client; //obiekt wifi
ESP8266WebServer server(80);

//WiFiClient client;
String getPage()
{
  String strona;
  File file = SPIFFS.open("/index.html", "r");
  while(file.available()) strona+=(char)file.read();
  file.close();
  return strona;
}

void handleRoot()
{ 
  server.send (200, "text/html", getPage());
}

void handleOn()
{
  digitalWrite(dioda, LOW);
  server.send(200, "text/html", getPage());
}

void handleOff()
{
  digitalWrite(dioda, HIGH);
  server.send(200, "text/html", getPage()); 
}

void setup()
{
    pinMode(dioda, OUTPUT);
    lcd.begin(); // If you are using more I2C devices using the Wire library use lcd.begin(false)
                 // this stop the library(LCD_I2C) from calling Wire.begin()
    lcd.backlight();
    WiFi.begin(ssid, pass); //połącz z Wifi
  lcd.setCursor(0, 0);
  lcd.print("Laczenie ");
  while(WiFi.status() != WL_CONNECTED) //wyświetlaj animacje dopóki się nie połączyliśmy
  {
    lcd.setCursor(10,0);
    lcd.print(".");
    delay(400);
    lcd.setCursor(10,0);
    lcd.print(" ");
    delay(400);
  }
  lcd.setCursor(0, 0); //napisz, że połączono i wyświetl IP
  lcd.print("Polaczono! ");
  lcd.setCursor(0, 1);
  lcd.print("IP: ");
  lcd.print(WiFi.localIP());
  lcd.setCursor(0, 0);
lcd.print("SPIFFS ");
if(!SPIFFS.begin()) lcd.println("x");
else lcd.println("√");
  server.on("/", handleRoot);
  server.on("/on", handleOn);
  server.on("/off", handleOff);
  server.begin();
    
}




void loop()
{
    server.handleClient(); //obsługa serwera


}

 

192.PNG

dat.PNG

Link do komentarza
Share on other sites

Pytanie kontrolne: gdzie wgrałaś?

Pytanie kontrolne #2: co pokazuje wget z  włączonym wyświetlaniem nagłówków?

Pytanie kontrolne #3: co pokazuje sama funkcja getPage (np. wrzuć wypisanie rezultatu na końcu setup)

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

A w ogóle to lepiej użyć LittleFS albo (to już trudnuejsze) FatFS.

Edytowano przez ethanak
Link do komentarza
Share on other sites

srozsz.thumb.PNG.7424f8eaa65e79e724693cd5d8930cc0.PNG  czy chodzi o zainstalowanie jakiegos rozszezenia , którego nie mam ? jesli tak jakiego?

//int dioda = 12;
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <LCD_I2C.h>
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <FS.h>
#define dioda 2
LCD_I2C lcd(0x27, 16, 2);

 // Default address of most PCF8574 modules, change according

 const char* ssid = "Livebox-49E8";
const char* pass = "20C5487147E40CF90637C96663";
WiFiClient client; //obiekt wifi
ESP8266WebServer server(80);

//WiFiClient client;
String getPage()
{
  String strona;
  File file = SPIFFS.open("/index.html", "r");
  while(file.available()) strona+=(char)file.read();
  file.close();
  return strona;
}

void handleRoot()
{ 
  server.send (200, "text/html", getPage());
}

void handleOn()
{
  digitalWrite(dioda, LOW);
  server.send(200, "text/html", getPage());
}

void handleOff()
{
  digitalWrite(dioda, HIGH);
  server.send(200, "text/html", getPage()); 
}

void setup()
{
    pinMode(dioda, OUTPUT);
    lcd.begin(); // If you are using more I2C devices using the Wire library use lcd.begin(false)
                 // this stop the library(LCD_I2C) from calling Wire.begin()
    lcd.backlight();
    WiFi.begin(ssid, pass); //połącz z Wifi
  lcd.setCursor(0, 0);
  lcd.print("Laczenie ");
  while(WiFi.status() != WL_CONNECTED) //wyświetlaj animacje dopóki się nie połączyliśmy
  {
    lcd.setCursor(10,0);
    lcd.print(".");
    delay(400);
    lcd.setCursor(10,0);
    lcd.print(" ");
    delay(400);
  }
  lcd.setCursor(0, 0); //napisz, że połączono i wyświetl IP
  lcd.print("Polaczono! ");
  lcd.setCursor(0, 1);
  lcd.print("IP: ");
  lcd.print(WiFi.localIP());
  lcd.setCursor(0, 0);
lcd.print("SPIFFS ");
if(!SPIFFS.begin()) lcd.println("x");
else lcd.println("√");
  server.on("/", handleRoot);
  server.on("/on", handleOn);
  server.on("/off", handleOff);
  server.begin();
    
}




void loop()
{
    server.handleClient(); //obsługa serwera


}

 

Link do komentarza
Share on other sites

Nie wiem, moja rada: rzuć to PlatformIO do przetrwalnika, rób takie rzeczy na Arduino IDE, jak się tam nauczysz to będziesz mogła przejść na PlatformIO, czy (tak jak ja) na arduino-builder, esptool i makefile. 

BTW Atoma (czy inny edytor) możesz podpiąć do Arduino IDE.

Link do komentarza
Share on other sites

Arduino IDE to połączenie fatalnego edytora z całkiem niegłupim frameworkiem. Do zbudowania strony jest potrzebny serwer i edytor. Serwer jest dokładnie ten sam czy używasz Arduino IDE, czy PlatformIO, czy czegokolwiek. Jak się uprzesz to możesz używać vi/vim, notepad++ czy emacsa - i tak wszystko wyląduje w builderze Arduino.

Domyslam sie że masz Windowsa - podepnij sobie notepad++ jako edytor do IDE (w preferencjach "użyj zewnętrznego edytora"). Pod Linuksem bardzo wygodny jest Geany, ale nie wiem czy wersja pod Win ma to samo co oryginalna linuksowa.

Jak masz wątpliwości co mozna zrobić w Arduino IDE to polecam mojego czytaka - raczej niewiele widzialem bardziej zaawansowantch kodów na Arduino.

Próbuj, trzy razy nie wyjdzie, za czwartym jest szansa.

I proszę - nie zgrywaj księżniczki na ziarnku grochu.  Użyj czasem googla czy wyszukiwarki z forum bo może się to skończyć tak jak ostatnio: podalem rozwiazanie ale komuś się forma  nie spodobała, i wyladowałaś w czarnej d...

Powodzenia.

  • Lubię! 1
Link do komentarza
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.