Čtení hodnoty z LAN HTTP a zapsání do souboru

Nedaří se vám s projektem a nenašli jste vhodné místo, kde se zeptat? Napište sem.
Pravidla fóra
Tohle subfórum je určeno pro konzultaci ucelených nápadů, popřípadě řešení komplexnějších projektů, které opravdu není možné rozdělit na menší části.
Většinu problémů jde rozdělit na menší a ptát se na ně v konkrétních subfórech.
Odpovědět
sklipky
Příspěvky: 14
Registrován: 01 srp 2018, 07:55
Reputation: 0

Čtení hodnoty z LAN HTTP a zapsání do souboru

Příspěvek od sklipky » 27 lis 2019, 14:23

Cílem mého projektu je přečíst dvě hodnoty spotřebované energie z HTTP (z lokální sítě) a zapsat je do souboru. Viz přiložený obrázek.

Měl jsem v úmyslu použít Ethernet shield pro přístup k datům na síti a jejich uložení na SD kartu a později třeba i na NAS v LAN.
Další problém je, že pro přihlášení na lokální HTTP je potřeba zadat jméno a heslo.

Můj problém je hlavně, že nevím, jak tyto dvě čísla přečíst z HTTP rozhraní, zbytek už budu snad schopný dát dohromady.
Přílohy
web rozhraní.png

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

Re: Čtení hodnoty z LAN HTTP a zapsání do souboru

Příspěvek od martinius96 » 27 lis 2019, 14:58

Čo je to za systém, nevidel som ešte podobný systém s takouto vizualizáciou.

Veľmi ľahko to nepôjde...
Môžeš čítať zdrojový kód stránky po riadkoch, zo správneho riadku následne urobiť substring s tvojou informáciou, avšak je to náročné na RAM-ku, ktorej má Arduino Uno len 2kB a taktiež je náročné určiť tej riadok. Šlo by to napríklad podľa classy.
Arduino s Ethernet shieldom nepodporuje HTTP autentizáciu, teda sa na stránku pravdepodobne nepripojíš.
ESP8266 / ESP32 podporuje HTTP autentizáciu s menom a heslom.
Najľahšie by bolo urobiť script napr v .php, ktorý by ti túto hodnotu,ktorú chceš načítať zaslal ako payload v odpovedi servera.

sklipky
Příspěvky: 14
Registrován: 01 srp 2018, 07:55
Reputation: 0

Re: Čtení hodnoty z LAN HTTP a zapsání do souboru

Příspěvek od sklipky » 27 lis 2019, 15:01

Když to tak čtu, tak by bylo asi lehčí napsat nějaký kód v Cčku a mít ho spuštěnej na PC serveru v lokální síti. Nebylo by to tedy vůbec řešené pomocí Arduina.

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

Re: Čtení hodnoty z LAN HTTP a zapsání do souboru

Příspěvek od pavel1tu » 28 lis 2019, 06:52

Pokud to chceš mít trvale funkční - tomuto se vyhni !
Jakýkoliv update toho WWW systému ti to položí.

Nepíšeš zásadní věc - jaký je to systém a jaká práva tam máš (co vše tam můžeš dělat a zjistit).

Ideální bude zjistit si kam si ty hodnoty ten systém ukládá, bude to nějaká databáze,
napsat si vlastní PHP kterým budeš v nějakém budeš tyto hodnoty vyčítat
a z arduina si jen zavoláš ten PHP - hodnoty tam budeš mít jak na talíři.
Toto je nejefektivnější způsob.

Každý jiný způsob = moc práce, možné problémy časem atd.
Naposledy upravil(a) pavel1tu dne 28 lis 2019, 07:08, celkem upraveno 1 x.
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

sklipky
Příspěvky: 14
Registrován: 01 srp 2018, 07:55
Reputation: 0

Re: Čtení hodnoty z LAN HTTP a zapsání do souboru

Příspěvek od sklipky » 28 lis 2019, 07:02

Hádám, že součástí tepelného čerpadla bude nějaké PLC/mikrokontrolér, který je připojen na síť a prostřednictvím něj jsou hodnoty odesílány i na lokální webovou stránku + na cloud (stránka je přístupná i z internetu a statickou IP doma nemám).

Práva tam mám ke čtení + k zapínání a vypínaní ohřevu vody, topení, nastavování teplot a různých rozvrhů kdy se má a kdy se nemá topit/ohřívat voda.

Nelepší by bylo umět si ty hodnoty vyžádat třeba z elektroměrů, které jsou umístěné přímo na jednotlivých fázích přívodu, přímo ve vnitřní jednotce tepelného čerpadla. To je ale už nějaký zásah do instalace a nechci riskovat ztrátu záruky.



Pokud bych nedokázal tohle vše realizovat, tak je tu ještě možnost koupit a zapojit do rozvaděče další 3f elektroměr s rozhraním RS232 a udělat si vlastní systém. Ale to je minimálně dalších 5000 Kč za hardware a to se mi nechce, když ,,ta data,, již existují a jsou na lokální síti.

KamilV
Příspěvky: 479
Registrován: 03 dub 2018, 15:27
Reputation: 0
Bydliště: Olomouc

Re: Čtení hodnoty z LAN HTTP a zapsání do souboru

Příspěvek od KamilV » 03 pro 2019, 12:03

martinius96 píše:
27 lis 2019, 14:58
Arduino s Ethernet shieldom nepodporuje HTTP autentizáciu, teda sa na stránku pravdepodobne nepripojíš.
To si úplně nemyslím. Eth shield pouze zabezpečuje request / response, hlavičku requestu si ale už můžeš napsat sám jakou chceš.

Připojení přímo na DB také nemusí být dostupné, pokud je to v cloudu. Já bych se jako první podíval do dokumentace, zda ten systém nemá nějaké REST API a to bych volal z Arduina. A pokud nemá, tak bych parsovat to HTML. Zde asi opravdu bude snazší udělat si bokem skript, který to vykousne a v Arduinu už se bude volat jen tento jednoduchý skript.

IMHO se ten systém neaktualizuje tak často, aby se napojení rozpadlo. Pokud se jednou za 5 let změní ID toho HTML prvku, tak se změní jen ID v konfigu toho parsovacího skriptu.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: luger a 6 hostů