Bonjour
Je cherche à récupérer l'adresse ip d'une caméra ip.
Quelque-un a-t-il une idée?
merci
Bonjour
Je cherche à récupérer l'adresse ip d'une caméra ip.
Quelque-un a-t-il une idée?
merci
bonjour
j'ai une caméra ip reliée en wifi ma box.
je voudrai pouvoir récupérer l'adresse ip de la caméra pour accéder à la carte sd interne de la caméra (adresse de type http://192.168.1.xxx/admin/SDcard)
je peux y accéder depuis une appli android mais pas pratique, je voudrai créer une application pour mon pc, pour accéder directement aux images.
J'ai bien une application pour pc fourni avec la caméra mais elle fait appel à flash, qui ne fonctionne plus sur mon pc.
Bonjour,
Peut-être des pistes ici : https://www.developpez.net/forums/d1...s-ip-d-reseau/ ?
Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
. Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !
Question bête : pourquoi ne pas mettre une addresse IP fixe pour ta caméra ?
En supposant que ta box permet ce genre de choses dans sa configuration.
j'arrive à lister les ip, maintenant je voudrai pouvoir récupérer les noms correspondant aux ip
Salut
Si tu es sous Windows regarde du côté de la DLL netapi32.dll.
Il existe une API très complète.
bon j'ai bricolé un truc qui marche.
Je cré un process qui lance une ligne de commande qui lance un ping sur le nom de ma caméra et renvoi les infos dans un fichier txt.
J'utilise un process se qui permet d'attendre que le fichier soit écrit avant de pouvoir poursuivre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 var Si :TSTARTUPINFO; Pi : PROCESS_INFORMATION ; begin zeromemory(@si,sizeof(STARTUPINFO)); Si.dwFlags:=STARTF_USESHOWWINDOW; //Si.wShowWindow:=SW_SHOWNORMAL; //affiche la fenêtre si.wShowWindow:=SW_HIDE; //masque la fenêtre CreateProcess(nil,pchar('cmd.exe /c ping -n 1 nom>ip.txt'),nil,nil,True,0,nil,nil,Si,Pi); //nom=nom de ma caméra sur le réseau WaitForSingleObject(pi.hProcess,INFINITE);
Puis de récupère l'ip dans les infos du fichier.
hello,
avec la classe TProcess tu peux directement récupérer une chaîne sans passer par un fichier intermédiaire.
Exemple :
Le ConsoletoUTF8 c'est pour que les caractères comme les accents par exemple soient correctement convertis.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 uses process,LazUtf8,regex; procedure TForm1.Button8Click(Sender: TObject); var hprocess: TProcess; OutputLines: TStringList; OutputError: TstringList; re: Tregexpr; cible: String; begin cible := 'google.fr'; OutputLines:=TStringList.Create; OutputError:=TStringList.Create; hProcess := TProcess.Create(nil); hProcess.Executable := 'cmd.exe'; hprocess.Parameters.Add('/c'); hprocess.Parameters.Add('ping -n 1 ' + cible); hProcess.Options := hProcess.Options + [poWaitOnExit, poUsePipes]; hProcess.Execute; OutputLines.LoadFromStream(hprocess.Output); OutputError.Add('Error :'); OutputError.LoadFromStream(hProcess.Stderr); if OutputError.Text <> '' then showMessage(ConsoletoUtf8(OutputError.Text)) else begin ShowMessage(ConsoletoUtf8(OutputLines.Text)); try re := TRegExpr.Create; // re.Expression := 'ponse de\s([0-9.]+)'; re.Expression := '\[([0-9.]+)\]'; if re.Exec(ConsoletoUtf8(OutputLines.Text)) then showMessage('Extraction valeur : ' + re.Match[1]); finally re.Free; end; end; hProcess.Free; OutputLines.Free; Outputerror.Free; end;
J'ai ajouté une extraction de l'adresse I.P en utilisant les expressions régulières pour le fun.
Ami calmant, J.P
merci
ça marche super
Je peux directement accéder à la carte sd de la caméra.
Partager