BF: Všechno šlape až do dne, kdy máš víc USB zařízení než je zdraví rozumné. Klávesnice, myš, mikrofon, RGB lampa č. 1, RGB lampa č. 2, jedna webkamera, druhá webkamera (protože jiný úhel, že ..), Backlight LED RGB pásky na monitor, větrák, podsvícená podložka pod myš, tři externí HDD, víceportový adaptér do kterého je zapojený HUB PORT 2 a ten krmí HUB PORT 3, USB repráčky.
A pak to přijde: "Nemám žádný volný port USB!"
PCIE slot kam bych mohl zapojit dejme tomu "4x3.1 USB" ? Zabrala ho velikost kolosalního GPU, který žere víc wattů jak dětský tábor.
Tak co teď? Jasně, je tu HUB, ale jaký? Ty levné jsou spíš loterie. Maximálně jedno slušný Ačko, těch je ale hodně ruzných typů kvality a jsou často omezené na [USB-A USB 2.0] kvality odpovidající plastikové hračce z Kinder vajíčka. Co tedy dělat. Odpověd je jednoduchá, použijte USB Type-E.
Přejít na článek
https://www.php.net/manual/en/function.sprintf.php
Já když to upravím takto ten řádek vyznačený v příloze tak se to nevykoná kde je chyba? díky
Daj sem výpis iba toho, čo Ti z toho leze:
<?php
$username = $_GET['username'];
echo $username;
bez Tvojich úprav !!!
Je lepšie ladiť pomocou
či
čo vypíše neskonvertovaný obsah a k tomu aj dátový typ. Použitie echo automaticky konvertuje obsah na reťazec.
Vracím se tomu
Tento řetězec mi posílá ESP8266 na sever
22.623.46-59
což je 22.62 teplota
3.46 getVcc
-59 WiFi.RSSI()
to jsem měl seřízeno dobře
ale jakmile spadne teplota pod 10 stupňů tak mi to vypisuje blbosti
například 9.56C, .46-Volt, 52dB
jak upravit aby to fungovalo dobře? díky
Ach jo. Ale abys tu napsal, jak vypadají surová data při té chybné variantě, to ne.
surová data 5.813.46-58
výpis 05.813C, .46-Volt, 58dB 19:27:03 25/12/20
<?php
$username = $_GET['username']; //make sure you filter these values, before showing them
echo $username; //$username == "john"
$sez = $username;
s d/m/y");
$tep=substr($sez,0,5);
if (strlen($tep)== 5) {$tep="0".$tep;}
$volt=substr($sez,5,4);
$db=substr($sez,9,4);
$dev=$tep."C, ".$volt."Volt, ".$db."dB ";
$datum = date("H
//if (time() - filemtime("./IP/zap.txt") > 1200){
$relace = fopen("./IP/zap.txt", "a+"); // Otevřeme soubor
fwrite($relace,$dev );
//fwrite($relace," C ");
fwrite($relace,$datum);
fwrite($relace,"\r\n"); // Zapíšeme text do souboru
fclose($relace);
kde dělám chybu? díky
Tak to bych asi řešil spíš regulárním výrazem, než parsováním po pevných blocích:
To je pro mně "španělská vesnice "
já dělám někde chybu v nastavování pozic a délce jednotlivých podřetězců
jak to upravit? díky
Tak to je snad vidět na první pohled, že ty údaje nemají fixní délku. A jak to upravit? No můžeš třeba hledat pozice desetinných teček a podle toho se rozhodovat. Ale to mi ten regex přijde jako jednodušší řešení.
Ale jak doplním o tu "0" na základě zjištění 9.00 tak to přece je stejný počet míst na rozdělení do podřetězců nebo ne ?
díky
Jenže to bys tu nulu musel přidat, ještě než to rozřežeš na části. Jakmile ji přidáš k už (špatně) rozřezané části, tak je ti to na nic.
Tak co mi radíš ?
díky
Použít regulární výraz.
Jak se to dělá ?
díky
Jsi jednička kdyby tady byla ekomotiva ruka s palcem na horu tak ti to sem dám , nemusí tam ani podmínka s přidáním nulou.Pro změnu se vyskytl problém ukazováním minusovim hodnotou ale to bude asi problém s knihovnou pro ds18b20 diky
na ktorej pozícii je teplota, napätie...vieš len Ty...
Uprav si zdrojový kód v ESP8266 tak, aby tie data posielal oddelené napr. čiarkou, (alebo iným znakom):
22.62, 3.46, -59
keď následne na serveri "vyseparuješ" všetky reťazce, oddelené čiarkou, vyhneš sa všetkým nepríjemnostiam a budeš dostávať vždy takú hodnotu, ktorú potrebuješ pre konkrétny údaj...
Chcel som napísať niečo v podobnom duchu. Akurát s tým rozdielom, aby tú úpravu toho čísla urobil tiež už v 8266.