![]() |
Falcon SDK et Delphi - Version imprimable +- Forum KNX francophone / English KNX forum (https://www.knx-fr.com) +-- Forum : Français (https://www.knx-fr.com/forumdisplay.php?fid=3) +--- Forum : Logiciels libres (linknx, knxweb, pKNyX,...) (https://www.knx-fr.com/forumdisplay.php?fid=10) +--- Sujet : Falcon SDK et Delphi (/showthread.php?tid=7457) |
Falcon SDK et Delphi - Thierry2607 - 09/06/2021 Bonjour, Quelqu'un a t'il déjà utilisé le SDK de Falcon avec Delphi ? Merci d'avance Thierry RE: Falcon SDK et Delphi - Smart Guido 73 - 17/11/2024 Bonjour Thierry, J'ai présenté sur le forum un wrapper C# pour WinDev 28. Grâce à cette méthode, j'ai également réussi à écrire un code en Delphi qui se connecte au bus et effectue diverses opérations de commutation. Je vais bientôt fournir plus de détails. RE: Falcon SDK et Delphi - Smart Guido 73 - 17/11/2024 Bonjour Thierry, J'ai créé un petit projet exemple en Delphi qui montre comment cela fonctionne globalement. Cela devrait déjà beaucoup t'aider. Si tu as des questions, n'hésite pas à me contacter. Avant d'utiliser, il est nécessaire d'enregistrer la DLL signée du Falcon SDK : 1. Copiez le dossier "Falcon SDK 6 Signé" dans vos documents. 2. Ouvrez l'invite de commande (CMD) en tant qu'administrateur. 3. Allez dans le dossier C:\Windows\Microsoft.NET\Framework\v4.0.30319. 4. Enregistrez la DLL avec la commande suivante : regasm "C:\Users\Utilisateur\Documents\Falcon SDK 6 Signé\KNXlib.dll" /tlb:KNXlib.tlb /codebase 5. Ensuite, allez dans le dossier C:\Windows\Microsoft.NET\Framework64\v4.0.30319. 6. Enregistrez à nouveau la DLL avec la même commande : regasm "C:\Users\Utilisateur\Documents\Falcon SDK 6 Signé\KNXlib.dll" /tlb:KNXlib.tlb /codebase 7. Si un message d'erreur indique que l'enregistrement a été bloqué, il peut être nécessaire de désactiver la fonction "Accès protégé aux dossiers". 8. Vous pouvez vérifier l'enregistrement réussi dans le Registre : Appuyez sur [Windows]+R et tapez regedit pour ouvrir l'éditeur de registre. Vérifiez les chemins suivants : Ordinateur\HKEY_CLASSES_ROOT\CLSID{E45D1244-ABCD-4E1D-8D9F-9992B7F017A2} Ordinateur\HKEY_CLASSES_ROOT\WOW6432Node\CLSID{E45D1244-ABCD-4E1D-8D9F-9992B7F017A2} Les commandes sont identiques à celles de WinDev, mais la gestion des Assemblies .NET dans Delphi est un peu différente. Je vais maintenant reprendre quelques exemples de mon code source pour illustrer les commandes disponibles : Connectez-vous à la passerelle IP : MyKNXDotNet := CreateOleObject('KNXlib.KnxController'); MyKNXDotNet.Connect('192.168.178.42', 3671, False) Connectez-vous à la passerelle IP sécurisée : MyKNXDotNet := CreateOleObject('KNXlib.KnxController'); MyKNXDotNet.ConnectSecure('192.168.178.150', 3671, False, '1.1.243', 'file.knxkeys', 'password') Envoyer DPT1 : MyKNXDotNet.WriteBool('1/0/0' , True) Envoyer DPT9.1 : MyKNXDotNet.WriteValueToDPT(Groupaddress, value as string, DPTupper value, DPTlower value) MyKNXDotNet.WriteValueToDPT('11/7/4', '20.5', 9, 1) A lire : MyKNXDotNet.ReadValueAsync('11/7/4') Envoi DPT5.1 : MyKNXDotNet.WriteValueToDPT('6/0/9', '90', 5, 1) Envoi DPT5.4 : MyKNXDotNet.WriteValueToDPT('6/0/9', '240', 5, 4) Lire DPT9.1 : MyKNXDotNet.ReadValue('11/7/4', 9, 1) Envoyer la date actuelle : MyKNXDotNet.WriteDate('11/5/0') Envoyer l'heure actuelle : MyKNXDotNet.WriteTime('11/5/1') Envoyer la date actuelle en tant que DPT16 : MyKNXDotNet.WriteTimeAsText('11/6/1') Voici le lien de téléchargement : https://www.knx-board.org/download.php?file=KNXwrapper.zip Cordialement, Guido Falcon SDK et Delphi - Smart Guido 73 - 05/01/2025 Bonjour, j'ai légèrement modifié le wrapper afin qu'il dispose de plus de fonctionnalités. Mise à jour vers la version 2.6 - Les informations sur l'adresse de groupe ainsi que l'unité DPT sont désormais transmises via le port TCP, à condition que le fichier XML soit disponible. - Le codage pour l'envoi et la réception des données via TCP a été modifié de ASCII à UTF-8. - L'appel de la méthode Version() renvoie désormais la version du pilote. Des exemples simples pour Android Studio et Android MAUI sont également inclus, démontrant un contrôle via le port TCP/IP. Lien de téléchargement : https://www.knx-board.org/download.php?file=KNXwrapper.zip RE: Falcon SDK et Delphi - Smart Guido 73 - 27/01/2025 Bonjour, J'ai ajouté quelques nouvelles fonctionnalités, notamment des méthodes pour l'email, FTP et SFTP. Celles-ci simplifient grandement le transport des données, car elles rendent les processus correspondants plus simples. Méthodes Email : SendTextEmail(senderName: System.String, emailAddress: System.String, password: System.String, toAddress: System.String, subject: System.String, body: System.String) Description : Cette méthode envoie un email simple en texte brut à l'adresse du destinataire spécifiée, avec le sujet et le corps du message donnés. SendHtmlEmail(senderName: System.String, emailAddress: System.String, password: System.String, toAddress: System.String, subject: System.String, htmlBody: System.String) Description : Cette méthode envoie un email formaté en HTML à l'adresse du destinataire spécifiée, avec le sujet et le contenu HTML donnés. ReadEmailByIndex(emailAddress: System.String, password: System.String, emailIndex: System.Int32) Description : Cette méthode lit l'email à la position d'index spécifiée dans la boîte de réception du compte email donné. GetEmailCount(emailAddress: System.String, password: System.String) Description : Cette méthode renvoie le nombre total d'emails dans la boîte de réception du compte email spécifié. DeleteEmailByIndex(emailAddress: System.String, password: System.String, emailIndex: System.Int32) Description : Cette méthode supprime un email de la boîte de réception en fonction de l'index spécifié. Méthodes FTP : FtpClientUserData(newhost: System.String, newusername: System.String, newpassword: System.String) Description : Cette méthode définit les informations de connexion FTP (hôte, nom d'utilisateur et mot de passe) pour le client FTP. UploadFtpFile(localFilePath: System.String, remoteFilePath: System.String) Description : Cette méthode télécharge un fichier depuis un chemin local vers le serveur FTP distant spécifié. DownloadFtpFile(remoteFilePath: System.String, localFilePath: System.String) Description : Cette méthode télécharge un fichier depuis le serveur FTP distant vers le chemin local spécifié. DeleteFtpFile(remoteFilePath: System.String) Description : Cette méthode supprime un fichier du serveur FTP distant. ListFtpDirectory(remoteDirectory: System.String) Description : Cette méthode liste tous les fichiers du répertoire distant spécifié sur le serveur FTP. Méthodes SFTP : SFtpClientUserData(newhost: System.String, newport: System.Int32, newusername: System.String, newpassword: System.String) Description : Cette méthode définit les informations de connexion SFTP (hôte, port, nom d'utilisateur et mot de passe) pour le client SFTP. UploadSftpFile(localFilePath: System.String, remoteFilePath: System.String) Description : Cette méthode télécharge un fichier depuis un chemin local vers le serveur SFTP distant spécifié. DownloadSftpFile(remoteFilePath: System.String, localFilePath: System.String) Description : Cette méthode télécharge un fichier depuis le serveur SFTP distant vers le chemin local spécifié. DeleteSftpFile(remoteFilePath: System.String) Description : Cette méthode supprime un fichier du serveur SFTP distant. ListSftpDirectory(remoteDirectory: System.String) Description : Cette méthode liste tous les fichiers du répertoire distant spécifié sur le serveur SFTP. Quelques exemples de code : Code : string senderName = "KNXlib Send you a message"; Code : string senderName = "KNXlib Send you a message"; Code : knxController.FtpClientUserData("ftp://asfasrt4tfdyf.myfritz.net", "FTP Mustermann", "123456"); Code : knxController.SFtpClientUserData("hosting.vodafone.de", 22,"admin@dsafdasfc6stf.vodafone.de", "123456"); Lien de téléchargement v3.0 : KNXlib.dll |