Přesměrování na URL

Ary
Příspěvky: 6
Registrován: 19 čer 2019, 14:45
Reputation: 0

Přesměrování na URL

Příspěvek od Ary » 19 čer 2019, 14:51

Ahoj, jak můžu desku Wemos D1 přesměrovat na danou webovou URL adresu, kvůli následnému zápisu do databáze?

Díky

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Přesměrování na URL

Příspěvek od pavel1tu » 19 čer 2019, 17:33

Co je to přesměrovat ?
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

martinius96
Příspěvky: 579
Registrován: 01 srp 2017, 19:29
Reputation: 0
Bydliště: Poprad
Kontaktovat uživatele:

Re: Přesměrování na URL

Příspěvek od martinius96 » 20 čer 2019, 02:23

Vykonáš GET/POST request pod protokolom HTTP, alebo HTTPS na lokalitu akú chceš.

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Přesměrování na URL

Příspěvek od pavel1tu » 20 čer 2019, 08:02

martinius96 píše:
20 čer 2019, 02:23
Vykonáš GET/POST request pod protokolom HTTP, alebo HTTPS na lokalitu akú chceš.
Toto sice není "přesměrování", ale je k tomu pěkný článek ...
https://arduino.cz/programovani-webovyc ... o-arduino/

přesměrování = z jednoho zařízení posílám po WiFi data přes Genuino YUN na internet - YUN zajišťuje bezpečnost, přihlašování k modulům, k síti a kešování dat při výpadku web serveru.

to první vysvětlim, to druhé je "uzavřený" projekt jen pro účastníky (snažíme se zabezpečit HW a SW díry u WiFi modulů u Arduin) aby se mohly používat třeba u alarmu a řízení domácnosti.
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Ary
Příspěvky: 6
Registrován: 19 čer 2019, 14:45
Reputation: 0

Re: Přesměrování na URL

Příspěvek od Ary » 20 čer 2019, 08:28

pavel1tu píše:
20 čer 2019, 08:02
martinius96 píše:
20 čer 2019, 02:23
Vykonáš GET/POST request pod protokolom HTTP, alebo HTTPS na lokalitu akú chceš.
Toto sice není "přesměrování", ale je k tomu pěkný článek ...
https://arduino.cz/programovani-webovyc ... o-arduino/

přesměrování = z jednoho zařízení posílám po WiFi data přes Genuino YUN na internet - YUN zajišťuje bezpečnost, přihlašování k modulům, k síti a kešování dat při výpadku web serveru.

to první vysvětlim, to druhé je "uzavřený" projekt jen pro účastníky (snažíme se zabezpečit HW a SW díry u WiFi modulů u Arduin) aby se mohly používat třeba u alarmu a řízení domácnosti.
Dík moc, zkusím se podívat a vyzkouším 👍

Ary
Příspěvky: 6
Registrován: 19 čer 2019, 14:45
Reputation: 0

Re: Přesměrování na URL

Příspěvek od Ary » 20 čer 2019, 18:28

Zkoušel jsem to udělat přesně podle toho návodu, akorát s vlastní webovou stránkou, ale neumím se na daný web "připojit". Zkoušel jsem skenování IP adress, které se připojí na web a IP adresa Wemosu tam nebyla. Jde o to, aby se pomocí požadavku GET v php uložila hodnota z čidla do databáze. Mohl by mi někdo říct co dělám špatně prosím? Web jede na hostingu Endory a deska je Wemos D1.

Dík moc :)
Tomáš

Kód: Vybrat vše

#include <ESP8266WiFi.h>

int hodnota = 10;
// vytvoření proměnných s názvem WiFi sítě a heslem
const char* nazevWifi = "název wifi";
const char* hesloWifi = "heslowifi";

//adresa cílového serveru
const char* server = "cidla.cekuj.net";
WiFiClient client;

void setup() {
  Serial.begin(9600);
  //WiFi
  WiFi.begin(nazevWifi, hesloWifi);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("Pripojeno k WiFi siti ");
  Serial.println(nazevWifi);
  Serial.print("IP adresa: ");
  Serial.println(WiFi.localIP());
}

void loop() {
    if(client.connect(server, 80)){
        delay(100);
        Serial.println("OK");
        client.println("http://cidla.cekuj.net/index.php?cislo=");
        client.println(hodnota);
        client.println("Host: srv71.endora.cz");
        client.println("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
        client.println("Connection: close");
        client.println();
        delay(500);
        client.stop();
        delay(5000);}
}

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Přesměrování na URL

Příspěvek od pavel1tu » 20 čer 2019, 18:57

Já tam žádné GET nevidím v tom tvém kodu ..... ?

1) vytvořil jsi databázi na tom WWW serveru ?
2) máš tam mimo index.phh nebo html i ten logger.php ?

než to budeš cpát do arduina, normálně to zavolej
http://cidla.cekuj.net/logger.php?cislo=123

vrátí se to Zápis byl úspěšný
a do databáze se ti musí uložit 123

dříve to do arduina nedávej

musíš mít v tom logger.php správně
- vše pro přístup do databáze (název, hesla atd.)
- musí ti sedět ta proměnná "cislo" v kodu logger.php s tím příkazem pro uložení + "cislo" musí být i sloupecek v databázi

dej zdroják logger.php
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Ary
Příspěvky: 6
Registrován: 19 čer 2019, 14:45
Reputation: 0

Re: Přesměrování na URL

Příspěvek od Ary » 20 čer 2019, 20:10

Databáze je vytvořená, na stránce není žádná další podstránka, pouze index.php, kde se při zadání http://cidla.cekuj.net/index.php?cislo=28 vytvoří zápis v databázi, a napíše "Zápis byl úspěšný" (Celé jsem to okopíroval).

PHP kód:

Kód: Vybrat vše

$mysqli = mysqli_connect($server, $user, $pass, $db); //připojení k MySQL
	
	if($mysqli and isset($_GET['cislo'])){ //pokud GET obsahuje 'hodnota', pokračuj
		$cislo = sanitize($_GET['cislo']);
		
		$sql = "INSERT INTO data (cislo) VALUES (".$cislo.")"; //sestavení SQL
		$doSql = $mysqli->query($sql); //vykonání SQL
		
		if($doSql){ //test úspěchu
			echo 'Zápis byl úspěšný';
		}
		else{
			echo 'Něco se nepovedlo';
		}
		
	}
	else{
		echo "Neco je špatně";
	}
	
	function sanitize($input){ //ořízne řetězec
		$input = htmlspecialchars($input);
		$input = htmlentities($input);
		$input = strip_tags($input);
		$input = trim($input);
		return $input;
	}

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Přesměrování na URL

Příspěvek od pavel1tu » 20 čer 2019, 20:33

dopln wifi,
zkontroluj mi preklepy
ale melo by to fungovat já nemám ESP, tak to jedine preklopím na UNO + LAN kdyby to nechodilo

Kód: Vybrat vše

#include <ESP8266WiFi.h>

int hodnota = 10;
// vytvoření proměnných s názvem WiFi sítě a heslem
const char* nazevWifi = "název wifi";
const char* hesloWifi = "heslowifi";

//adresa cílového serveru
const char* server = "cidla.cekuj.net";
WiFiClient client;

void setup() {
  Serial.begin(9600);
  //WiFi
  WiFi.begin(nazevWifi, hesloWifi);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("Pripojeno k WiFi siti ");
  Serial.println(nazevWifi);
  Serial.print("IP adresa: ");
  Serial.println(WiFi.localIP());
}

void loop() {
    if(client.connect(server, 80)){
        delay(100);
        Serial.println("OK");
        client.print("GET http://cidla.cekuj.net/index.php?cislo=");
        client.println(hodnota);
        client.println("Host: cidla.cekuj.net");
        client.println("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
        client.println("Connection: close");
        client.println();
        delay(500);
        client.stop();
        delay(5000);}
}

UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Přesměrování na URL

Příspěvek od pavel1tu » 20 čer 2019, 20:51

Jen podotknu,
není to dobré mít přímo v index, až budeš třeba ukládat z vícero zařízení, provozovat/testovat více projektů.

www.stramka.cz/projekt1/zapis.php
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti