Stránka 1 z 2

Přesměrování na URL

Napsal: 19 čer 2019, 14:51
od Ary
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

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

Napsal: 19 čer 2019, 17:33
od pavel1tu
Co je to přesměrovat ?

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

Napsal: 20 čer 2019, 02:23
od martinius96
Vykonáš GET/POST request pod protokolom HTTP, alebo HTTPS na lokalitu akú chceš.

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

Napsal: 20 čer 2019, 08:02
od pavel1tu
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.

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

Napsal: 20 čer 2019, 08:28
od Ary
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 👍

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

Napsal: 20 čer 2019, 18:28
od Ary
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);}
}

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

Napsal: 20 čer 2019, 18:57
od pavel1tu
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

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

Napsal: 20 čer 2019, 20:10
od Ary
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;
	}

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

Napsal: 20 čer 2019, 20:33
od pavel1tu
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);}
}


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

Napsal: 20 čer 2019, 20:51
od pavel1tu
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