Aller au contenu

Fabrication détecteur de nuage pas cher


bemo

Messages recommandés

Posté (modifié)
il y a 38 minutes, Raphael_OD a dit :

covid capteur de température distant.

ah j'ai eu du mal à comprendre... oui distant... effectivement :) avec pq pour nettoyer malgré tout...

 

bon je commande

 

edit :

pour l'arduino nano v3 il y en a plein ....

l'officiel ? ici https://www.amazon.fr/Arduino-A000005-Nano/dp/B0097AU5OU/ref=sr_1_8?__mk_fr_FR=ÅMÅŽÕÑ&crid=KC99MMKGZTBB&dchild=1&keywords=arduino+nano+v3+officiel&qid=1591876937&sprefix=arduino+nano+v%2Caps%2C185&sr=8-8

 

ou un comme ça ? https://www.amazon.fr/MakerHawk-CH340G-ATmega328P-Compatible-Arduino/dp/B071HWY1PH/ref=sr_1_19?__mk_fr_FR=ÅMÅŽÕÑ&dchild=1&keywords=arduino+nano+v3&qid=1591877060&sr=8-19

 

apparemment il y a du compatible.... mieux vaut privilégier l'original ?

 

quoique chez Farnell par exemple ils sont moins cher que amazon pour de l'original semble t il https://fr.farnell.com/arduino/a000005/arduino-nano-carte-d-eval/dp/1848691?st=arduino nano mais avec les frais de port c'est amazon qui reste le moins cher

Modifié par bemo
Lien vers le commentaire
Partager sur d’autres sites

Posté (modifié)

donc j'arriverai à ça comme commande.

les cables dupont n'étant pas les plus faciles à trouver, à la fois livraison rapide et longueur 10cms, d'ailleurs ceux là j'ai demandé et ils font 20 cms, ça doit aller quand même... je suppose.

total : 18.74 pour le capteur et 27.9 cables et arduino = 46.73

 

mais en prenant une carte arduino dans les compatibles on peut descendre de plus de 15 euros...

 

vous avez déjà utilisé les cartes arduino compatibles ?

 

 

image.thumb.png.ad516c1847654b7bfe7896af41cf8e8f.png

 

image.thumb.png.2bedfc3cd3ae35795ca8a4d80b6e784c.png

Modifié par bemo
Lien vers le commentaire
Partager sur d’autres sites

Posté (modifié)

ben moi je veux bien, mais ça va pas réduire le prix et après faut se renvoyer ça entre nous... quel avantage on aurait ?

 

après si c'est un souci de commander sur internet je peux commander pour d'autres, mais tout va arriver chez moi.... et faut que je renvoie à chacun sa partie... pour 1 ou deux je veux bien, après ça devient un peu compliqué...

Modifié par bemo
Lien vers le commentaire
Partager sur d’autres sites

Pour moi perso, si il y a programmation de l'arduino nano ben je serai dans les choux, je suis nul en informatique, donc Bemo si tu veux m'en faire un terminé je suis preneur tu me dit le montant par message perso, pas de soucies

++Daniel

Lien vers le commentaire
Partager sur d’autres sites

il y a 11 minutes, danielL a dit :

Pour moi perso, si il y a programmation de l'arduino nano ben je serai dans les choux, je suis nul en informatique, donc Bemo si tu veux m'en faire un terminé je suis preneur tu me dit le montant par message perso, pas de soucies

++Daniel

ok, je comprends, mais franchement, moi aussi je suis largué avec l'arduino, mais si c'est assez bien décrit par nos amis, peut etre que je vais y arriver, donc autant que j'en fasse un d'abord et que je le teste...

après si @olivier1986 ou @Raphael_OD veulent en faire ça sera certainement plus sûr..

il y a 4 minutes, Raphael_OD a dit :

@olivier1986

cette équation de correction tu l'as trouvé sur la doc Lunatico ? je vois pas trop comment l'algo à été validé

 

d'alleurs, @olivier1986 je n'ai pas compris pourquoi il faudrait modifier côté driver ascom si on ajoute cette équation, si ce n'est que ça l'ajout, ça ne va pas modifier la nature des échanges avec le driver ? non ?

Lien vers le commentaire
Partager sur d’autres sites

alors j'ai lancé la commande de 2 capteurs MLX (1 pour @danielL) et des cables dupont sur Ali, livraison 9/7.... 

 

Si @olivier1986 ou @Raphael_OD voulaient bien me dire s'ils ont déjà utilisé les arduino nano compatibles, et éventuellement lesquels, on pourrait abaisser encore le coût .... sinon je commande celui que j'ai identifié au dessus sur Amazon

Lien vers le commentaire
Partager sur d’autres sites

Lien vers le commentaire
Partager sur d’autres sites

Il y a 7 heures, bemo a dit :

alors j'ai lancé la commande de 2 capteurs MLX (1 pour @danielL) et des cables dupont sur Ali, livraison 9/7.... 

 

Si @olivier1986 ou @Raphael_OD voulaient bien me dire s'ils ont déjà utilisé les arduino nano compatibles, et éventuellement lesquels, on pourrait abaisser encore le coût .... sinon je commande celui que j'ai identifié au dessus sur Amazon

Merci Bemo

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à tous,

 

désolé de ne répondre que maintenant, weekend extrêmement chargé!

Pour la compatibilité aucun soucis. Par contre, vu que c'est pas du FTDI mais un CH340 il faut télécharger les drivers Windows pour qu'ils soient reconnus. Après pas de soucis. Un nano v3 chinois à 3€ est parfait!! Après il faudra souder les petits pins.

Sinon, chez gotronic pour 8€ il est déjà assemblé.... a vous de voir.

 

Juste à savoir, en fonction du nano V3 acheté, dans l'IDE il faudra peut être choisir "old boot" pour le transfert. Mais on en reparlera d'ici là ;)

Je joins les drivers pour les puces à base de CH340 / CH341.

 

Concernant le pilote ascom, J'ai commencé à regarder le programme. 

A priori rien de bien compliqué et l'envoi des donner se fait en mode série, donc pas trop méchant.

A priori on pourrait modifier le driver pour que celui ci envoie la température corrigée facilement. Donc pas de soucis avec ascom si cela fonctionne dans ce sens :)

 

Je peux faire un essais dans la semaine je pense.

 

Elegoo CH340 Driver 2019.03.06.zip

Modifié par olivier1986
Lien vers le commentaire
Partager sur d’autres sites

Posté (modifié)

oups et moi je croyais avoir commandé les arduino, les capteurs arrivent en france et manque les arduino...

bon, @olivier1986 si tu repasses, donne moi un lien sur ceux à 8€ par exemple ou n'importe quel autre équivalent, à délai de livraison raisonnable (si ça existe :) ), que je commande car j'y comprends rien dans toutes les versions qui existent....

 

exemple :

- celui ci https://www.gotronic.fr/art-carte-nano-3-0-26126.htm

- ou celui ci https://www.gotronic.fr/art-carte-seeeduino-nano-102010268-30912.htm

Modifié par bemo
Lien vers le commentaire
Partager sur d’autres sites

@bemo, @Raphael_OD

Bonjour messieurs,

 

Bon, je reviens vers vous pour donner quelques news et apporter des éclaircissements. 

J'ai du retravailler le driver a 50%, pourquoi:

le driver initial utilise 3 capteurs:

- une sonde de température DS18B20 pour mesurer la température ambiante,

- une sonde MLX90614 pour lire la température du ciel,

- un capteur de pluie.

 

Dans le projet que nous menons, seule la détection de nuage nous importe. Pour ce faire nous devons mesurer la température du ciel ainsi que celle ambiante.

Dans sa version initiale, le programme mesure la température du ciel, la température ambiante puis fais un delta moyen sur 5 min.

Il y a donc deux problèmes. Le 1er  est que nous souhaitons apporter une correction grâce à un coefficient. Nous ne souhaitons pas faire un simple delta moyen.

Ensuite nous ne souhaitons pas utiliser le capteur de pluie.

 

Aussi, je ne comprends pas pourquoi l'auteur a utilisé une sonde DS18B20 alors que le capteur MLX dispose de deux mesures: celle du ciel et celle ambiante.

Donc avec un seul capteur nous avons les 2 mesures. Cela simplifie le code mais aussi le montage!! c'est tout gagnant.

 

Bref, tout cela pour dire quoi! Le driver ascom qui lit la valeur moyenne ne fonctionne pas pour notre application.

J'ai refait le code arduino et tout fonctionne.

 

Me reste la partie ascom. Et c'est là que @Raphael_OD peut m'aider.

Je découvre l'univers de la programmationavec visual strudio. Etant donné que tu as déjà réalisé un driver ascom "SafetyMonitor", peut être voudras tu (et pourras tu) m'aider.

 

J'ai dans la tête toutes les commandes en version françsaise!! Je veux dire par là, demande à arduino la valeur ":GR#" et l'arduino renvoie la valeur au programme puis ascom traduit la valeur pour l'afficher dans le programme client.

Mais, en language informatique, je suis tout nouveau en VB.

Bref, si j'établie un début de code avec visual studio, as tu moyen de me dire si je fais pas trop de conneries?

J'ai installé la partie developpeur d'ASCOM et j'ai suivi un tuto qui date pour la simulation d'une roue à filtre en utilisant la liaison série.

Ce code permet la lecture du buffer serial, et supprime le "#" de la commande pour faire l'action et retourner la valeur. Ce je pense que c'ets à peut près bon.

Mais là il y a plusieurs valeurs intéressantes mais seulement le programme client (ici Maxpilote) ne souhaite savoir qu'une seule chose: est-ce SAFE ou UNSAFE.

Pour cela le driver ASCOM n'a besoin que de lire la variable que j'ai appelé "pourcentage_nuages". (voir après).

Bref, si des nuages sont présent on passe en UNSAFE sinon on est SAFE.

Donc dans le programe ASCOM je pense qu'il ne faille lire qu'une seule variable ce qui simplifierai considérablement le driver.

ET on peut toujours voir par la suite à ajouter l'affichage des valeurs des capteurs non? 

 

Les commandes implantée dans l'arduino pour un futur programme VB sont très simples et il n'y en a pas bcp:

:IP# -> demande à l'arduino le nom du driver

:IN# -> demande à l'arduino la version du driver

:G1# -> demande à l'arduino la température ambiante

:G2# -> demande à l'arduino la température du ciel corrigée

:G3# -> demande à l'arduino la delta de température entre la température du ciel corrigée et la valeur de température défini par l'utilisateur d'un ciel entièrement couvert (0°C par défaut).

-> Cette valeur permet de mesurer la quantité de nuages:

      Si delta est > température couvert à 100% alors nuages = 100%

      Si delta est < température dégagé à 100% alors nuages = 0%

      Si -5 < delta < 0 alors on map la valeur en % de nuages : map(delta,-5,0,0,100)   -5°C est ta température pour un ciel complètement dégagé et 0°C pour complètement couvert.

 

:GS# -> demande à l'arduino la valeur en % de couverture dégagé calculé juste au dessus

 

Bon tout ça fonctionne, testé et approuvé.

 

Me reste à traduire ça en langage ASCOM / VB

 

Merci de votre aide

 

Lien vers le commentaire
Partager sur d’autres sites

Ton arduino calcule le safe unsafe ensuite dans SafetyMon de Ascom tu lis dans la fonction IsSafe () qui retourne un Booléen. J'utilise dans l'arduino une API REST qui expose les données en http. Puisque tu communiques des data sérielles aucun pb pour les récupérer il faut instancier ton port série dans ASCOM.

 

Il faut instancier ton port com du genre  (mais su tu as fait le tuto de la RAF tu dois voir de quoi je parle)

 

Private obj_port_serie As ASCOM.Utilities.Serial

Tu crées un objet obj_port_serie qui te permet d'accéder à toutes les fonctions de la classe ASCOM.Utilities.Serial

 

Puis dans ta fonction IsSafe() il faut récupérer la valeur transmise par l'arduino avec un

 

if obj_port_serie.received="xxxx" then

IsSafe

Do something

Endif

 

A+

Lien vers le commentaire
Partager sur d’autres sites

il y a 9 minutes, Raphael_OD a dit :

Ton arduino calcule le safe unsafe ensuite dans SafetyMon de Ascom tu lis dans la fonction IsSafe () qui retourne un Booléen. J'utilise dans l'arduino une API REST qui expose les données en http. Puisque tu communiques des data sérielles aucun pb pour les récupérer il faut instancier ton port série dans ASCOM.

 

Il faut instancier ton port com du genre  (mais su tu as fait le tuto de la RAF tu dois voir de quoi je parle)

 

Private obj_port_serie As ASCOM.Utilities.Serial

Tu crées un objet obj_port_serie qui te permet d'accéder à toutes les fonctions de la classe ASCOM.Utilities.Serial

 

Puis dans ta fonction IsSafe() il faut récupérer la valeur transmise par l'arduino avec un

 

if obj_port_serie.received="xxxx" then

IsSafe

Do something

Endif

 

A+

Yes, je vois de quoi tu parles.

En faite ouvrir le port Serie n'est pas le pb!! mais c'est plutôt après!

Je vais déjà essayer de créer la variable Boolénne safe et unsafe et de la récupérer via ascom (en mode debug je vais voir si elle arrive ^^)

Je reviens vers toi si j'ai des question :)

Lien vers le commentaire
Partager sur d’autres sites

@Raphael_OD

 

Question bête: sais tu s'il est possible de désassembler un driver ascom existant: Par ex, si je prends le cas du cloudwatcher, est il possible de l'ouvrir et de modifier la fenêtre VB pour ne laisser que les infos dont j'ai besoin?

cela me ferait gagner bcp de temps.

 

Bien entendu si c'est possible je demanderais l'autorisation du créateur.

Lien vers le commentaire
Partager sur d’autres sites

salut

dites, je suis de loin :

qu'est-ce qui empêcherait d'essayer de faire un firmware pour l'arduino qui soit calé sur le protocole AAG CloudWatcher ?

On bénéficierait du driver Ascom (et indi) sans effort supprlémentaire

 

Sur le driver indi, tout es les commandes sont accessibles, ça doit pas être bien méchant à débunker,

il ne semble pas y en avoir des milliers

image.thumb.png.1cb51c0c00431d73c46ed8e705c88966.png

 

Et on pourrait renvoyer des valeurs bidons sur les sondes "non couvertes" (et remettre à plus tard 🙂 )

 

Gilles.

 EDIT :

Le protocole a été documenté, et est dispo ici :

https://github.com/indilib/indi-3rdparty/tree/master/indi-aagcloudwatcher/docs

 

Lien vers le commentaire
Partager sur d’autres sites

@gehelem

Salut Gilles,

 

J'avoue être parti sur bcp plus simple, car la personne qui m'a initialement demandé n'est pas calée.

De plus, moi mes compétences s'arrêtent vites et le temps vient à me manquer!!

J'ai complètement repris le travail de indiduino meteostation avec de nouveaux graphique et j'ai implanté des capteurs pour moi!! Donc vraiment pas le temps de repartir la dessus maintenant.

Mais c'est une chose qui n'est pas très compliquée à rajouter à partir du code que j'ai écrit.

Je fournis le mien bientôt et je regarderai si je peux adapter pour utiliser directement le protocole AAG.

Lien vers le commentaire
Partager sur d’autres sites

Je ne sais pas si on peut  désassembler un code ASCOM. Arrives tu a récupérer par exemple ta valeur qui te donne le critère couvert ou pas ?

Ensuite c'est peanuts a faire.

 

 

Public ReadOnly Property IsSafe() As Boolean Implements ISafetyMonitor.IsSafe

Get
            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("status").ToString()

End Get

End Property

 

url= adresse du PI ou arduino ethernet

 

Voici la routine permettant de récupérer le status en JSON dans mon driver, la valeur status est celle attendue par le driver Safe ou rien (Unsafe)

Le pourquoi du JSON : c'est récupérable de partout sans avoir une machine branchée avec USB, un serveur Raspberry Pi suffit en filaire ou WIFI

Les 8 lignes de code du début servent a récupérer la data et la parser dans une variable. Tout cela va être beaucoup plus simple si tu récupères une valeur sur le port série.

 

Pour revenir sur l'utilisation de deux sondes de température la deuxième est peut être externe au boitier du  CS et permet une moyenne avec celle du MLX.

Au début j'avais deux MLX parallélisés jamais vu de différences notoires ou critiques ; on cherche un critère Safe pas une donnée météorologique pour un serveur de calcul.

 

Le CS est le petit cylindre sur le mat.

 

mat.jpg

Modifié par Raphael_OD
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation !

Vous pouvez répondre maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous pour poster avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.