URL komanda za kameru

URL komanda za kameru

offline
  • Pridružio: 09 Mar 2011
  • Poruke: 5

Pozdrav

Za početak, ne znam skoro ništa o programiranju.

Ali se nadam da je ovo što tražim jednostavno!

Imam IP kameru i imam URL komande za sva podešavanja. Kako da napišem kod koji bi jednim klikom izvršio URL naredbu (jednu ili više)?

Tipična naredba je

<ip_address>.com/cgi-bin/admin/se....._mode=save

Hvala unaprijed na pomoći.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12490
  • Gde živiš: Južni pol

Adresa je verovatno nešto ala:
http://192.168.1.10/cgi-bin/admin/setparam.cgi?Ima....._mode=save

Da bi uopšte mogao da postaviš neko podešavanje web kamere trebalo bi da se skript uloguje, dobije podatke o sesiji, a zatim ih iskoristi za get upit za promenu prametara.

Sam skript bez dela sa loginom (ono što si ti tražio, a ne ono što ti treba) bi mogao da izgleda ovako (napisan u VBScriptu koji već imaš instaliran - dolazi uz Windows).

change_brightness.vbs
Dim Metod Dim URL Dim Upit Dim Odgovor Dim Klijent Metod = "GET" URL = "http://192.168.1.10/cgi-bin/admin/setparam.cgi?Image_brightness=2@image_mode=save" Klijent = "Mozilla/4.0 (compatible)" set HttpReq = CreateObject("WinHttpRequest.5.1") HttpReq.Open Metod, URL, False HttpReq.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" HttpReq.Option(0) = Klijent HttpReq.Option(4) = 13056 REM Ignorisi sve SSL greske HttpReq.Option(5) = True   REM Omoguci redirekciju HttpReq.Option(12) = True REM Omoguci redirekciju https na http HttpReq.Send HttpReq.WaitForResponse Status = HttpReq.Status TekstStatusa = HttpReq.StatusText Wscript.StdOut.WriteLine Status & " "  & TekstStatusa

Btw, ovde nigde ne vršim proveru za greške. Iako skript na kraju prikazuje status.

VBScript je vrlo jednostavan jezik i bilo bi relativno lako ovo proširiti za neku ozbiljniju potrebu. Jedini komplikovaniji deo (po onome što sam gledao) je ekstraktovanje ccokie-ja sesije. Mada nisam probao i ne znam da li može i bez toga.

Kako se pokreće ovo:
cscript change_brightness.vbs

Ili preko prečice:
Desni klik na fajl -> Create Shortcut
Desni klik na prečicu -> Properties -> Shortcut
U polju target ispred pune staze datoteke dodaš cscript.

Sada se klikom na prečicu automatski pokreće skript.

Dupli klik direktno na skript neće uspeti jer dupli klik koristi gui verziju Windows Script Hostinga, a nama je za ovo potrebna konzolna verzija (koja ne prikazuje dijaloge i gui elemente).



offline
  • Pridružio: 30 Dec 2007
  • Poruke: 4759
  • Gde živiš: Niš

mislim da web interfejsi (na primer u ruterima) ne postavljaju
klasične kukije već samo za autentikaciju Question

offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12490
  • Gde živiš: Južni pol

U tom slučaju je mnogo jednostavnije. Može se ići na osnovnu autentikaciju, a to se već nalazi u WinHttpRequest.

offline
  • Pridružio: 09 Mar 2011
  • Poruke: 5

Probao sam skruptu (iako je ne kontam) i javlja grešku.

Instalirao sam VisualStudio 2008 i našao djelimično rješenje, i počeo da kontam kako radi VB.

Našao sam jedan dobar kod, koji sam malo izmijenio za sebe:

/code:
Imports System.Net
Imports System.IO

Public Class Form1

Dim URL As String
Dim webHTTP As New WebBrowser

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
URL = String.Concat("http://", TextBox1.Text, ".", TextBox2.Text, ".", TextBox3.Text, ".", TextBox4.Text, "/cgi-bin/admin/setparam.cgi?Image_contrast=", TextBox6.Text, "&image_mode.value=save")
webHTTP.Navigate(URL)
Catch ex As Exception
MsgBox("Greška u komunikaciji!", MsgBoxStyle.Critical, "Greška!")
TextBox1.Focus()
End Try

End Sub
End Class

Imam jedan divan prozorčić u koji upišem adresu i vrijednost koju hoću da podesim (textbox6) kliknem "pošalji" i to ode...

Međutim sada imam drugi problem. Kako učitati podešenu vrijednost? Ja imam komandu GETPARAM imjesto SETPARAM (iz gornjeg linka) i on npr. u eksploreru ispiše podešenu vrijednost. E kako tu vrijednost učitati u neki textbox?


Hvala na trudu, iskreno.

offline
  • Pridružio: 05 Jan 2012
  • Poruke: 20

Dim Klijent As New WebClient
TextBox1.Text = Klijent.DownloadString("adresa")

Ko je trenutno na forumu
 

Ukupno su 815 korisnika na forumu :: 42 registrovanih, 9 sakrivenih i 764 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 8u47, A.R.Chafee.Jr., Acivi, Bane san, bokisha253, Boris90, BORUTUS, Denaya, Dimitrise93, Djokkinen, DonRumataEstorski, Dorcolac, Dragan1998, gomago, GORDI, HrcAk47, ikan, Karla, kljift, Krusarac, Kubovac, laki_bb, Ledenica, ljubacv, maiden6657, Maschinekalibar, mercedesamg, Mercury, nenooo, novator, Ognjen D., RJ, Rogonos, SR-3m, srbijaiznadsvega, Srle993, strelac07, trutcina, Tvrtko I, vladulns, voja64, Čivi