AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte FRITZ!Box Komponente v0.17

FRITZ!Box Komponente v0.17

Ein Thema von Garfield · begonnen am 16. Feb 2014 · letzter Beitrag vom 26. Dez 2023
Antwort Antwort
Seite 2 von 6     12 34     Letzte » 
Benutzerbild von Garfield
Garfield
Registriert seit: 9. Jul 2004
Dies ist eine Komponente mit welcher auf die FRITZ!Box zugegriffen werden kann.

Merkmale:
  1. Lesen Boxinfo (Name, HW, Version, Revision, Serial, ...).
  2. Lesen verschiedener Geräteinformationen (Name, Provider, Beschreibung, UDN, ...).
  3. Lesen Internet Protokoll Adressen (extern, intern).
  4. Lesen Status (Verbindung, letzter Fehler, Uptime).
  5. Lesen DSL-Eigenschaften (Link Type, Link Status, Modulation, ATM Enc).
  6. Neuverbindung zum Erhalt einer neuen externen Internet Protokoll Adresse.
  7. Anrufmonitor. Nach Anmeldung und Lesen des Telefonbuches auch mit Namen.
  8. Anmeldung mit SessionID und Benutzernamen.
  9. Abruf des Telefonbuches als XML-Datei.
  10. Abruf der Anrufliste als CSV-Datei.
  11. WLAN: Ein- und Ausschalten, Namen ändern, Verschlüsselung und Schlüssel anzeigen, Name verstecken ändern.
  12. Gast-WLAN: Ein- und Ausschalten, Namen, Verschlüsselung und Schlüssel ändern.
  13. Lesen und Setzen der Nachschaltung/Klingelsperre.

Geplante Merkmale
  1. Hinzufügen, Ändern und Löschen von Telefonbucheinträgen.
  2. Hinzufügen, Ändern und Löschen von Sperren.
  3. Wählhilfe benutzen.
  4. Weitere welche noch nicht spruchreif sind.

Anmerkungen:
  1. Die aktuellen Demos wurden mit Turbodelphi und Lazarus 1.0 unter Windows XP sowie Delphi XE5 unter Windows 8.1 erstellt und mit den FRITZ!Boxen 7320 und 7362 SL getestet.
  2. Zum Projekt gehört auch ein Spider, welcher sich die XML-Dateien einer FRITZ!Box hangelt, Anfragen erstellt und ausführt. Siehe unten in #3.
  3. Ich arbeite in einer Einsatzwechseltätigkeit und habe deshalb nicht ständig Zugriff auf eine FRITZ!Box mit Internetverbindung, da mein WLAN-Router (Huawei E5319) keine Reichweitenverlängerung unterstützt und manche Funktionen wohl nur gehen, wenn die FRITZ!Box ihre Systemzeit aus dem Internet aktualisieren kann. Somit können sich Updates etwas hinziehen.
  4. Die Anhänge sind die aktuelle Komponente mit den Demos (nur Quelltexte), die auf Windows XP compilierte Lazarus 1.0 Demo, die auf Windows XP compilierte Turbodelphi Demo und die auf Windows 8.1 compilierte Delphi XE5 Demo. die letzte Demo läuft nicht auf Windows XP und 7.
Hinweise, Anregungen, Kritiken usw. sind willkommen.

Änderungen

[v0.17] 27.03.2014
[v0.17] Überarbeitung der Komponente.
[v0.17] Neue Demos.
[v0.17] Anmeldung mit SessionID für Firmware ab xx.04.74 und vor xx.05.50 entfernt.
[v0.17] Lesen des Online-Telefonbuches entfernt.
[v0.17] Abruf der Anrufliste als XML-Datei entfernt.
[v0.17] Anrufmonitor integriert. Nach Anmeldung und Lesen des Telefonbuches Anrufsignalisierung auch mit Namen möglich.
[v0.17] WLAN: Ein- und Ausschalten, Namen ändern, Verschlüsselung und Schlüssel anzeigen, Name verstecken ändern.
[v0.17] Gast-WLAN: Ein- und Ausschalten, Namen, Verschlüsselung und Schlüssel ändern.
[v0.17] Die Demos sind alle unter Win8.1 compiliert.

[v0.16] Anrufmonitor hinzugefügt.

[v0.15] Bei größeren 'Chunked' übertragenen Dateien konnte das Ende abgeschnitten werden.
[v0.15] Nachtschaltung.
Miniaturansicht angehängter Grafiken
bild1.png  
Angehängte Dateien
Dateityp: 7z FritzBox_v0.17.0.0.7z (175,5 KB, 534x aufgerufen)
Dateityp: 7z Fritzbox_LAZ.7z (545,8 KB, 188x aufgerufen)
Dateityp: 7z FritzBox_TDE.7z (365,4 KB, 159x aufgerufen)
Dateityp: 7z FritzBox_XE5.7z (842,8 KB, 382x aufgerufen)
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof

Geändert von Garfield (27. Mär 2014 um 19:00 Uhr) Grund: Neue Version
 
Benutzerbild von Garfield
Garfield

 
Delphi XE5 Professional
 
#11
  Alt 19. Mär 2014, 22:37
Ich habe die Komponente komplett überarbeitet. Wegen der jüngsten Probleme bei der Sicherheit gehe ich davon aus, dass aktuelle Firmwareversionen eingesetzt werden. Deshalb wurde das, was nicht mehr ging, entfernt. Ein paar Funktionen sind dazugekommen, wobei das Ein- und Ausschalten des WLAN noch nicht implementiert ist, da ich im Moment über WLAN mit der Fritzbox verbunden bin. Damit verbunden gibt es eine neue Demo. Die von Delphi XE5 ist fertig und diesem Beitrag angehängt. Dazu ein Bild vom Anrufmonitor.
Miniaturansicht angehängter Grafiken
demo.png  

Geändert von Garfield (23. Mär 2014 um 17:41 Uhr) Grund: Demo entfernt. Neue Demo im nächsten Beitrag.
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

 
Delphi XE5 Professional
 
#12
  Alt 21. Mär 2014, 09:03
Kleine Fehlerkorrektur und wenn das Telefonbuch geladen ist, wird der Name in der Anrufbox angezeigt. WLAN schalten geht weiterhin nicht, das will ich heute nachmittag noch erledigen, wenn ich die TurboDelphi-Demo am anderen Rechner fertigmache.

Die Komponente wertet nur das erste Telefonbuch und daraus nur einen Teil der Einträge aus. Es fehlen zum Beispiel die Anganben zu Buchstabenwahl (Vanity **8), zur Kurzwahl (Quickdial **7) und die Angabe der letzten Änderung. Sollte dies auch ausgewertet werden?

Geändert von Garfield (23. Mär 2014 um 17:41 Uhr) Grund: Demo entfernt. Neue Demo im nächsten Beitrag.
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

 
Delphi XE5 Professional
 
#13
  Alt 23. Mär 2014, 07:58
Das Schalten des WLAN scheint doch nicht so einfach zu sein. Es funktioniert das Holen der Informationen, das Ausschalten des WLAN, das Schalten und Ändern des GästeWLAN.

Geändert von Garfield (24. Mär 2014 um 21:17 Uhr) Grund: Demo entfernt. Neue Demo im nächsten Beitrag.
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

 
Delphi XE5 Professional
 
#14
  Alt 24. Mär 2014, 21:15
Das Einschalten und Ändern des WLAN funktioniert. Zumindest wenn man nicht über WLAN mit der Box verbunden ist.

Geändert von Garfield (27. Mär 2014 um 18:39 Uhr) Grund: Wegen neuer Version Demo entfernt.
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

 
Delphi XE5 Professional
 
#15
  Alt 27. Mär 2014, 18:43
Neue Version 0.17.

Ich habe die Komponente überarbeitet und die Merkmale welche nicht mehr funktionierten entfernt sowie den Anrufmonitor integriert. Wenn man angemeldet ist/war und das Telefonbuch geladen ist, werden wenn möglich bei der Anrufsignalisierung die Namen mitangezeigt. Hinzu gekommen ist ein wenig WLAN.
  Mit Zitat antworten Zitat
Perlsau
 
#16
  Alt 9. Mär 2015, 15:41
Hallo Garfield,

ich teste gerade deine Komponente mit XE7 und muß feststellen, daß dabei ein paar Löcher im Speicher zurückbleiben:

An unexpected memory leak has occurred. The unexpected small block leaks are:
85 - 92 bytes: TStringList x 8

Meine Recherche ergab, daß fReceived daran schuld ist: Diese Stringliste wird in Zeile 2406 erzeugt, aber nicht wieder freigegeben:
Delphi-Quellcode:
constructor THTTPRequest.create;
{*******************************************************************************
*  -1- Klasse erstellen.
}

begin
  inherited;
  fContent := '';
  fReceived := TStringList.Create;
  fPort := 80;
  fHTTPSend.Method := 'GET';
  fHTTPSend.FileURL := '';
  fHTTPSend.Hostname := '';
  fHTTPSend.Accept := '*/*';
  fHTTPSend.ContentType := 'text/html, text/xml';
  fHTTPSend.ContentLength := 0;
  fHTTPSend.Soap.Namespace := '';
  fHTTPSend.Soap.Request := '';
  FillChar(fHTTPRcvd, SizeOf(fHTTPRcvd), 0);
end;

Durch Einfügen einer Zeile in die Destroy-Methode der Klasse THTTPRequest konnte der Fehler behoben werden:
Delphi-Quellcode:
{$IfDef DELPHI}
destructor THTTPRequest.destroy;
{*******************************************************************************
*  -1- Klasse freigeben.
}

begin
  if Assigned(fReceived) Then fReceived.Free; // meine Ergänzung
  inherited;
end;
{$EndIf}
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

 
Delphi 11 Alexandria
 
#17
  Alt 9. Mär 2015, 15:45
Ganz nebenbei:
Zitat:
if Assigned(fReceived) Then fReceived.Free;
ist faktisch dasselbe wie
fReceived.Free; Man soll ja eben deshalb Free statt Destroy verwenden, weil Free intern die eigene Referenz prüft, da muss man das ja nicht außerhalb noch einmal machen.
Detlef
  Mit Zitat antworten Zitat
Perlsau
 
#18
  Alt 9. Mär 2015, 15:57
Okay, danke, wo du recht hast
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

 
Delphi 11 Alexandria
 
#19
  Alt 9. Mär 2015, 16:01
Ich seh das öfter, es ist ja auch nicht falsch, aber eben unnötig
Detlef
  Mit Zitat antworten Zitat
Perlsau
 
#20
  Alt 9. Mär 2015, 16:48
@Garfield:

Noch ein Fehler: Nach dem Start des Anrufmonitors – und selbstverständlich vorausgegangener Anmeldung – hängt deine Testanwendung und läßt sich nur noch via Taskmanager beenden. Das kann ich jetzt erstmal nicht beheben, dazu kenne ich mich mit der Materie zu wenig aus
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz