Hello
Here we go, Iâm making progress! In the meantime, Iâve investigated a bit more.
Iâm using the command rotctld -m 1 -t 4533 -vvvvvvvv
with Gpredict, and it works fine.
However, Iâd like to avoid using Hamlib if possible, as I can already get the virtual rotorâs position up to its destination.
Iâd like to directly retrieve the AZ and EL positions from Gpredict and integrate them into my code in the IDE for the ESP8266, which will control my motor (link: Dispositif de EAU de moteur d'inclinaison panoramique extĂ©rieur, tĂ©lĂ©commande, rotation horizontale et verticale, camĂ©ras de vidĂ©osurveillance, budgĂ©taire, entrĂ©e AC 220V - AliExpress 30).
For now, Iâm forced to use rotctld
.
73âs
my ide code
#include <ESP8266WiFi.h> // Inclure la bibliothÚque Wi-Fi pour ESP8266 (nécessaire pour la connexion au réseau)
// Informations de connexion Wi-Fi
const char* ssid = â-------------â; // Nom de votre rĂ©seau Wi-Fi (remplacez par le SSID de votre rĂ©seau)
const char* password = â------------â; // Mot de passe de votre rĂ©seau Wi-Fi (remplacez par le mot de passe)
// Informations sur le serveur rotctld
const char* host = â192.168.1.176â; // Lâadresse IP du serveur rotctld (ici, lâIP de votre PC qui exĂ©cute rotctld)
const int port = 4533; // Le port sur lequel rotctld écoute, par défaut 4533
WiFiClient client; // Créer une instance de client Wi-Fi (utilisé pour établir une connexion réseau)
void setup() {
// Initialiser la communication série pour afficher les informations sur le moniteur série
Serial.begin(115200); // Démarre la communication série à 115200 bauds (pour affichage sur le moniteur série)
delay(10); // Attendre 10 ms (petite pause pour sâassurer que tout est initialisĂ©)
// Connexion au réseau Wi-Fi
Serial.print("Connexion Ă ");
Serial.println(ssid); // Affiche le nom du réseau Wi-Fi auquel nous essayons de nous connecter
WiFi.begin(ssid, password); // Démarre la connexion Wi-Fi avec le SSID et le mot de passe spécifiés
// Attendre que la connexion Wi-Fi soit Ă©tablie
while (WiFi.status() != WL_CONNECTED) { // Boucle tant que la connexion nâest pas rĂ©ussie
delay(500); // Attendre 500 ms entre chaque tentative
Serial.print(â.â); // Affiche un point pour indiquer que le programme tente toujours de se connecter
}
// Une fois connectĂ© au Wi-Fi, afficher lâadresse IP obtenue
Serial.println(ââ); // Ligne vide pour amĂ©liorer la lisibilitĂ©
Serial.println(âWi-Fi connectĂ©â); // Affiche un message de confirmation
Serial.print("Adresse IP : ");
Serial.println(WiFi.localIP()); // Affiche lâadresse IP locale de lâESP8266 (utilisĂ©e dans le rĂ©seau Wi-Fi)
// Connexion au serveur rotctld (via lâIP et le port)
Serial.print("Connexion Ă ");
Serial.println(host); // Affiche lâadresse IP du serveur rotctld auquel lâESP8266 essaie de se connecter
if (!client.connect(host, port)) { // Essaye de se connecter au serveur rotctld Ă lâadresse IP et au port spĂ©cifiĂ©s
Serial.println(âĂchec de la connexionâ); // Si la connexion Ă©choue, affiche un message dâerreur
while (true); // Bloque le programme si la connexion Ă©choue (infinite loop)
}
// Si la connexion au serveur est réussie, afficher un message
Serial.println(âConnectĂ© Ă rotctldâ); // Affiche un message pour indiquer que la connexion est rĂ©ussie
}
void loop() {
// Envoyer la commande pour obtenir la position AZ/EL depuis rotctld
client.print(âpâ); // Envoie la commande âpâ suivie dâun saut de ligne, qui demande la position du rotor
// Lire la réponse du serveur rotctld
if (client.available()) { // Si le serveur a envoyé une réponse
String response = client.readStringUntil(â\nâ); // Lire la rĂ©ponse envoyĂ©e par le serveur jusquâĂ la nouvelle ligne (\n)
Serial.print("Position reçue AZ : "); // Affiche le message âPosition reçue :â
Serial.println(response); // Affiche la réponse reçue (AZ/EL) dans le moniteur série
}
// Attendre 1 seconde avant de refaire une nouvelle requĂȘte pour obtenir la position
delay(5000); // Attendre 1000 ms (1 seconde) avant de refaire une nouvelle requĂȘte au serveur
}