Stránka 1 z 1
Jak dostat data ze zařízení s web serverem?
Napsal: 19 srp 2013, 23:39
od Celeron
Teoretický dotaz. Regulátor má v sobě jednoduchý web server. Přes prohlížeč se z něho vyčítá několik hodnot. Požadavek je, jestli by nešlo dostat z regulátoru 2 hodnoty a zobrazit je rezidentně dole na liště bez nutnosti spouštění prohlížeče. Já o týhle problematice vím lautr ku...ý... Tak se ptám, zda je možný něco takovýho naprogramovat? Co je k tomu potřeba a jak by to asi bylo náročný? Dozvěděl jsem se pouze od dodavatele regulátoru, že to komunikuje přes příkazy HTTP/XML. GET/příkaz.XML na vyčtení hodnot a POST/příkaz.XML zápis zeditovaných hodnot z GET ale nic bližšího kolem příkazů není k dispozici. Existuje nějaká možnost "vycucat" z regulátoru co všechno dokáže poslat a v čem to zpracovat?
Díky
Jirka
Napsal: 20 srp 2013, 06:49
od serviceman
Potřebuješ napsat program, který spustí skrytou instanci prohlížeče (to se dělá u IE běžně) a získaná data zobrazí v trayi (asi tak, jak se třeba zobrazuje teplota disku).
Napsal: 20 srp 2013, 11:37
od Celeron
Přesně to bych potřeboval. Dokážeš prosím odhadnout, jak by to bylo časově náročný abych měl alespoň orientační představu, kolik by to stálo a jak by vyšla ekonomika celýho problému?
Díky
Jirka
Napsal: 20 srp 2013, 12:23
od serviceman
Nedokáži, poptávej nějakého programátora.
Napsal: 20 srp 2013, 12:31
od rnbw
Podla mna to je za den hotove. Bez IE, staci kniznica na HTTP. Ak z toho lezie XML, tak na parsovanie sa pouzije tiez kniznica. Tym padom je ziskanie dat vyriesene a uz treba vyriesit len to zobrazovanie.
Napsal: 20 srp 2013, 13:27
od Celeron
Tak jsem mezi tím kouknul na komunikaci mezi reglem a PC Wiresharkem. No a už vím, že pan dodavatel kecá. HTTP/XML regulátor nepoužívá, pouze HTTP 1.1. Když koukám na komunikaci s Hlídačem čtvrthodinovýho maxima o kterým vím na beton z manuálu a popisu příkazů XML, tak to vypadá úplně jinak. Takže asi komplikace...
Jirka
Napsal: 20 srp 2013, 14:25
od jape
Určitě by se dala vyrobit docela jednoduchá aplikace ve skriptovacím jazyce AutoIt3, následně zkompilovaná do .EXE....Stáhlo by to obsah nastavené www strany, našlo odpovídající údaje, zobrazilo v trayi v deefinovaných intervalech...
Příklady:
http://www.autoitscript.com/forum/forum/12-autoit-v3/
Napsal: 20 srp 2013, 15:29
od FHonza
Taková aplikace (bez použití IE) je velmi jednoduchá a na programovacím jazyku nezáleží. V API Windows je celá řada funkcí (říká se jim WinNet funkce) ketré jsou přímo k tomu určené. Stačí hledat
HttpOpenRequest a nalezneš dost příkladů. Např. tady je jednoduchý příklad pro
C++
Napsal: 21 srp 2013, 10:06
od Zmije
V Linuxu je to jednoduchý, je na to program wget, jde nastavit i přihlašovací údaje. Takhle jsem vyčítal sílu signálu z AP:
Kód: Vybrat vše
#! /bin/bash
cd /etc/network/arpdat
rm -f ./dat*
wget http://192.168.2.250/WStaList.htm?RADIO=2.4GHz -O "dat2.4" --http-user=jmeno --http-passwd=heslo | cat > /dev/null
wget http://192.168.2.250/WStaList.htm?RADIO=5GHz -O "dat5" --http-user=jmeno --http-passwd=heslo | cat > /dev/null
cat dat2.4 dat5 | grep " <td" |
while read row
do
row=${row#*>}
id=${row%<*}
read row
row=${row#*>}
mac=${row%<*}
read row
row=${row#*>}
status=${row%<*}
read row
row=${row#*>}
RSSI=${row%<*}
read row
echo $id $mac $status $RSSI | grep -v '-' |cat |
while read neco
do
echo $id $mac $status $RSSI
mysql -N -D webconf -u mysqlu -e "update IPadresy set RSSI='$RSSI' where mac='$mac'"
done
done
Napsal: 21 srp 2013, 10:09
od serviceman
Wget existuje i pro Windows, ale také je možné použít nativní PowerShell.
Napsal: 27 srp 2013, 16:40
od PixelOrgy
rozhodne bych volil bash + wget + awk - jednoduche, efektivni, transparentni
Pokud je nutnost zobrazovat vysledek v trayi, potom C++ a knihovnu libcurl.
libcurl je k dispozici pro jine jazyky, C/C++ je jen moje osobni preference (jiny jazyk moc neumim

)