Jump to content

About This Club

Bienvenue au club astronomie avec Arduino ici on se partage nos expériences, nos inventions, nos réparations en électronique avec Arduino
  1. What's new in this club
  2. Bonjour à @Raphael_OD et aux autres, je reviens avec de bonnes nouvelles. Concernant la désérialisation du JSON, j'ai absolument tout essayé sans succès. Le debug fonctionnait avec la librairie json.net mais cela ne fonctionnait pas en mode release. J'ai du coup essayé avec Newtonsoft.json mais là rien ne fonctionnait. Bon, après avoir essayé jusqu'à 4h du matin sans succès samedi soir j'ai décidé de revenir aux sources!! je réalise moi même la désérialisation! J'intègre les bases de mon tout premier code en port COM mais avec des requetes HTTP. J'intègre un timer et je test!! le restultat tant attendu s'affiche, et même avec le fichier exe fraichement créé!! que du bonheur!!! Me voilà arrivé au terme de ce driver qui va en appeler d'autres dans pas longtemps Je vais faire quelques petits ajustements (surtout esthéthiques) de la page web. Je vais aussi revoir le code arduino pour qu'il soit plus clair au coummun des mortels et pas juste à son concepteur ^^. Je dois aussi verifier que l'ajustement des constantes K1 a K7 sur la page web en cours d'utilisation du driver ne pose pas de soucis -> MAJ: j'ai vérifié, c'est OK les constantes peuvent être modifiées à la volée même avec NINA en cours d'execution!! ca c'est cool :), merci le JSON. Je publierai alors une version définitive Un grand merci pour tous vos précieux conseils
  3. une vue des références dans VS Copie locale et copie spécifique sont sur TRUE
  4. Hmmm j’avoue que je ne sais pas trop. Je l’ai mis dans using en haut du driver mais VS m’a dit que c’etait inutile. donc je l’ai supprimé, mais avec ou sans meme pb. il faudrait que je regarde ou pour savoir cela?
  5. Le message concernant NewtonSoftJson...tu as bien integré dans ta compilation et tes dépendances ?
  6. Je vais recréer complètement un nouveau driver en utilisant le code actuel mais mon log une fois l'exe crée et différent de celui en mode debug. J'ai par exemple créé un logmessage pour afficher la requête web juste après le "connection to esp32" et affiche http://192.168.1.100/ascom. Cela fonctionne en mode debug mais n'apparait pas dans le log après installation de l'exécutable ... Il doit y avoir quelque chose qui m'échappe. refaire ne devrais pas prendre énormément de temps
  7. re, je ne me rappelle plus quand j'ai compilé pour le nano cela avait fonctionner aussitot. Bon, j'ai un problème de tracelog: En mode debug le fichier trace bien tout et dedans je vois chaque variable avec sa valeur. en mode debug: Après création de l'exe et test je n'ai plus que des "connected" et sans valeurs.... comprends pas. par contre je n'ai pas l'arborescence comme toi: Project\bin\x64\releases Moi je n'ai que Project\bin\releases ma config: Après avoir générer la release j'ouvre le generateur de script: Inno s'est ouvert et je clique sur compile: Dans le repertoire j'obtiens ceci avec l'exe créer dedans: ensuite dans VS 2019 je clique sur nettoyer la solution en mode release et je recommence en mode debug afin que dans NINA aucune trace du driver n'existe. J'installe l'exe et j'ai toujours des valeurs à 0: Et le fichier log en cours d'execution: ObservingConditionsDriver.cs
  8. Ba c’est ce que je fais 😕 je vais essayer ce soir. c’est enfin le weekend
  9. Ascom Inno Setup (driver installer generator) puis Inno setup avec le fichier iss généré.
  10. Petit edit: sur la première version avec le nano j’avais deja un problème de ce type la. Seulement c’était apparu pendant le debug. je vais essayer en remplaçant les points par des virgules, sait on jamais 😕
  11. Je ne suis pas sur de comprendre. tu veux bien me dire comment tu procèdes de ton coté?
  12. src fichier source pardon déformation professionnelle 😅 Je ne compile que comme dit plus haut j'ai eu que des problèmes autrement ...
  13. En effet, je ne sais pas pourquoi je fais cela, histoire de faire les choses dans l'ordre, même si inutile J'ai regardé mais il ne semble pas y avoir de soucis. Je vais mettre plus de log. Ba disons qu'en mode debug en effet toutes les valeurs sont reconnues. Et avec la verison arduino nano que j'avais faite pas de soucis. je comple en x64 et dans les propriétés de la solution j'avais mis aussi x64 (un conseil de antiath à la 1ere page) car lorsque je me connecté NINA refusait et tout à fonctionné après le passage en x64 (et mon pc est en x64 core I5 12400); je ne vois pas comment essayer autrement. j'avoue ne pas avoir compris la phrase. Qu'entends tu par src? Si après l'installation de l'executable je regenere un debug les valeurs reviennent. Pour la création du driver exe je suis la tuto de la vidéo sur WDRoof que j'ai posté à la page 1. Je pense aussi que c'est l'exe qui se fait mal mais je ne sais pas trop. Je vais voir pour mettre plus de log dans la trace on
  14. Pas compris l'utilité de ça, le nettoyage pas le mode release ou debug ça c'est ok Le log ASCOM et le log NINA devrait signifier quelque chose NINA va se connecter si le driver est propre, ce qui à l'air d'être ton cas mais tes variables sont elles au format attendues par NINA Attention aussi à la compile 32 ou 64bits Quand tu compiles le src avec VS pas de problème avec NINA je suppose, c'est juste un pb de création des fichiers exe
  15. @Raphael_OD Salut, j'ai un problème, peut être arriveras tu à m'aider: J'ai fini mon driver et tout fonctionne bien en mode debug. J'ai même rajouté le SQM. Comme tout est fonctionnel je me dis que je vais créer l'installateur. Dans VS je passe de debug à release, et je génère la solution. Je lance ensuite le script generator et renseigne les différents champs. Une fois fini Inno s'ouvre et je build la solution. J'obtiens un beau fichier exe. Dans VS je nettoie la solution puis je réinstalle proprement le driver à l'aide de l'executable. Je lance NINA et me connecte à mon ESP32, sauf que la aucune valeur ne fonctionne, tout reste à 0. Tu aurais une idée? je n'ai eu aucun message de bug ou autre 😕
  16. Merci. J'ai pas mal galérer mais à la fin le code est pas si compliqué. J'ai juste du passer par beaucoup d'étapes d'apprentissage et je ne suis qu'au balbutiment J'ai mis en oeuvre le driver ascom en parallèlle avec la page web ouverte et fais des modifs en live. Tout est très stable. pas de bug rencontré. exactement ce que j'attendais. Dans le moniteur série je peux voir les nouvelles valeurs je K1 a K7 prisent en compte. Pour créer un dossier conf je n'y ai pas pensé. Je viens de modifier le code pour le faire, c'est pas bête du tout ça j'ai ajouté la fonction de création du dossier config C'est sur que le fait que le MLX soit sur un pi augmente le champs des possibilités. Mais dans mon cas je souhaite alimenter ce boitier étanche d'élétricien avec un petit panneau solaire 5V 250 mAh et une petite batterie. D'où être passé par cette solution Je dois encore ajouter la fonction du SQM. Il s'agit d'un simple calcul qui convertit les lux et dans mon code le gain est automatique. J'ai le code dans un autre firmware que je n'ai pas encore mis ici.
  17. C'est du beau boulot ! Si tout est stable et fonctionnel c'est une solution très propre...tu peux dans l'arborescence du SPIFFS rajouter un dossier /config pour que le formulaire soit indépendant de ta page d'affichage. Le MLX pour moi est sur un PiZero j'ai donc accès à pas mal de fonctionnalités pour dev en Python Php etc. et un shell Linux. Mon SQM est un un ESP32 avec la même philosophie que ci dessus et une page avec une glissière pour modder le gain. A+
  18. J'ai ajouté une option sur la page de l'ESP32 pour modifier en live les valeurs de K1 à K7. En rafraichissant la page on voit les nouvelles valeurs à droites qui sont enregistrées en dur dans le SPIFFS afin de les avoir en dur si jamais l'ESP32 doit rebooter C'est pas du python mais ca reste toujours plus facile que de re uploader le firmware
  19. @Raphael_OD @Antiath Bonjour, je viens de finir l'écriture du driver ASCOM pour la partie wifi de l'ESP32 avec son server web. Pour le moment le projet s'arrête à la diffusion d'une page web rafraichie lorsque l'on recharge la page. Il ne s'agit pas la de faire de la météorologie avec des graphiques avec des données enregistrées dans une base de données mais plutôt comme la possibilité de voir visuellement les conditions quand on a envie sans que cela interfère dans la nuit avec le driver ASCOM. Ce n'est pas une station météo au sens propre donc. Pour le moment seuls les visuels sur quelques paramètres sont présents sur la page web. Cela est facilement modifiable par des personnes qui souhaiterait en changer. Cela ressemble à ceci: Le driver ascom envoie une requete sur l'ESP32 et l'ESP32 lui répond l'ensemble des valeurs en format json. Dans NINA nous obtenons le même résultat que si nous étions connecté par port COM. Je vais continuer a bosser un peu sur l'aspect visuel de la page web et faire un autre driver en Safety qui récupérera la valeur safe ou non sur le même fichier json Une fois tout cela fait je publierai les fichiers dans l'espace logiciel du forum principal. Je vais aussi voir pour appréhender python et voir comment gérer cette histoire de k1 K2 etc... sans avoir à recompiler à chaque fois le firmware de l'ESP32!! je vais potasser ca même si j'avoue que je suis encore loin du compte En tout cas gros progrès pour moi, un amusement mais surtout une petite fierté d'avoir réussi ç faire tout cela. Clairement sans votre aide cela aurait été impossible donc un grand merci. PS: si tu veux me dire comment un programme python peut envoyer des valeurs à un firmware arduino sans passer par un pi (je souhaite être le plus basique possible dans ma boite étanche) je suis preneur Olivier
  20. en effet c'est ultra enrichissant je n'hésiterai pas à poster ici la progression :). Un grand merci.
  21. Tu iras vite vers python 😄🤣 Developper ses propres drivers et matos c'est hyper enrichissant. Bon code ...à suivre. 👍
  22. Un grand merci. Avec toutes ces infos je devrais m’en sortir je ne suis pas encore la de faire un programme python!! Apres c++ il m’a fallu apprivoiser le C#, le html, le javascript entre autre!! Pour les saisons je vais tenter en auto avec les coefficients k6 et k7 dans la variable de correction de température dédié justement au changement de saisons! A voir!! je vais regarder cela la semaine prochaine encore merci
  23. Public ReadOnly Property IsSafe() As Boolean Implements ISafetyMonitor.IsSafe Get url = SafetyMonitor.url Dim request As HttpWebRequest Dim response As HttpWebResponse = Nothing request = DirectCast(WebRequest.Create("http://" & url), HttpWebRequest) response = DirectCast(request.GetResponse(), HttpWebResponse) Dim reader = New StreamReader(response.GetResponseStream()) Dim rawresp As String rawresp = reader.ReadToEnd() Dim jsonObj As JObject = JObject.Parse(rawresp) Dim status = jsonObj.GetValue("Safety").ToString() If status = "safe" Then Return True Else Return False End If End Get End Property Voici le bout de code en VB qui récupère, sur l'IP de mon Pi Zero les données du fichier mlx_1_.json , j'ai deux capteurs mlx un orienté vers les flux d'ouest et un au Nord, ce sont les deux zones d'où peuvent débarquer les nuages. Je ne peux pas te détailler tout le code car ce dernier m'envoie aussi des SMS d'alerte dès que Isafe()=False par une sous fonction. Sur un PI il faut donner des droits correctement pour que tu puisse lire le fichier, sur un ESP32 c'est quasi la même tu enregistres ton json dans le SPIFFS /data par exemple. Chaque plateforme ses avantages et inconvénients pour dvper quelque chose de pratique et fiable. Je pense que ton interrogation est aussi sur le connecteur ASCOM je suppose voici le mien en VB La fenêtre Ascom me sert juste à entrer l'IP et le chemin du fichier json du cloudsensor afin de le connecter, quand je clique sur OK le code de cette sous fonction est passé Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click If TextBox1.Text = "" Then SafetyMonitor.url = "ip par defaut/mlx_1_.json" Else SafetyMonitor.url = TextBox1.Text End If Me.DialogResult = System.Windows.Forms.DialogResult.OK Me.Close() End Sub Attention aux fonctions spécifiques du VB.net comme Me.close qui ferme la fenêtre courante.
  24. je te dis ça dans le WE ...pour le httpwebrequest... pour les valeurs K1 etc ... c'est un programme python et une interface avec dearpygui qui génère un json au bon endroit que le pgm principal du mlx relit après un reboot du Pi Zero. Ça peut se faire aussi en php avec une if web sur le Pi directement etc ... J'ai expérimenté pas mal de plateformes, au final ESP32 et Pi Zero sont devenus des choix qui s'imposaient car je suis à 50km de mon observatoire
  25. Aurais tu la gentillesse de partager ton code pour te connecter a l’esp32 avec le driver ascom? j’ai suivi la video pour la creation du driver ascom wdroof: je souhaite juste comparer la maniere de faire histoire d’en apprendre toujours plus le reste de la routine est deja faite ps: comment interagis tu entre le driver, le firmware et ton logiciel pour les valeurs de k1, k2… impressionnant
  26.  
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.