Différences entre les versions de « Densimètre Wifi iSpindle »
(→FAQ) |
|||
Ligne 87 : | Ligne 87 : | ||
<pre style="color: red">(à traduire)</pre> | <pre style="color: red">(à traduire)</pre> | ||
; | ;Ca ne fonctionne pas, je n'ai aucune donnée | ||
: | :Le meilleur moyen de trouver la solution est de savoir ce que fais le <span class="scayt-misspell-word" data-scayt-word="iSpindle" data-wsc-lang="fr_FR">iSpindle</span>. Pour cela, il faut lire son log via le port série ou via l'IDE arduino.<br/> | ||
:Connecter le <span class="scayt-misspell-word" data-scayt-word="iSpindle" data-wsc-lang="fr_FR">iSpindle</span> via son port micro USB, ouvrir le port COM et lire les données. (paramètres port COM : baud rate = 115200).<br/> | |||
:<br/> | |||
:Tuto youtube: [https://youtu.be/6xDW5GbIbUw https://youtu.be/<span class="scayt-misspell-word" data-scayt-word="6xDW5GbIbUw" data-wsc-lang="fr_FR">6xDW5GbIbUw</span>] | |||
;Se connecter au portail internet du <span class="scayt-misspell-word" data-scayt-word="iSpindle" data-wsc-lang="fr_FR">iSpindle</span> | |||
:Allumer le <span class="scayt-misspell-word" data-scayt-word="iSpindle" data-wsc-lang="fr_FR">iSpindle</span>. Appuyer sur le bouton <span class="scayt-misspell-word" data-scayt-word="reset" data-wsc-lang="fr_FR">reset</span> 3 ou 4 fois, ce qui a pour effet d'activer le mode "point d'accès wifi".<span class="scayt-misspell-word" data-scayt-word="Switch" data-wsc-lang="fr_FR"></span><br/> | |||
; | :Un nouveau réseau wifi sera visible, nommé "<span class="scayt-misspell-word" data-scayt-word="iSpindel" data-wsc-lang="fr_FR">iSpindel</span>". S'y connecter (via PC, tablette, smartphone).<br/> | ||
:<span class="scayt-misspell-word" data-scayt-word=" | :Le navigateur doit automatiquement rediriger vers la page http://192.168.4.1. Si ce n'est pas le cas, y aller (copier/coller le lien).<br/> | ||
:Maintenant que l'on est sur le portail, aller dans "Configuration" et entrer le jeton wifi ainsi que le mot de passe d'accès à <u>votre</u> réseau wifi. Cliquer sur "<span class="scayt-misspell-word" data-scayt-word="Save" data-wsc-lang="fr_FR">Save</span>". Le <span class="scayt-misspell-word" data-scayt-word="iSpindle" data-wsc-lang="fr_FR">iSpindle</span> va maintenant envoyer ses données sur <span class="scayt-misspell-word" data-scayt-word="Ubidots" data-wsc-lang="fr_FR">Ubidots</span>. Noter que le <span class="scayt-misspell-word" data-scayt-word="iSpindle" data-wsc-lang="fr_FR">iSpindle</span> n'est PLUS joignable, sauf à le repasser en mode "portail" encore une fois. | |||
;Why <span class="scayt-misspell-word" data-scayt-word="can't" data-wsc-lang="fr_FR">can't</span> I <span class="scayt-misspell-word" data-scayt-word="access" data-wsc-lang="fr_FR">access</span> the <span class="scayt-misspell-word" data-scayt-word="iSpindle" data-wsc-lang="fr_FR">iSpindle</span> in normal <span class="scayt-misspell-word" data-scayt-word="operation" data-wsc-lang="fr_FR">operation</span> | ;Why <span class="scayt-misspell-word" data-scayt-word="can't" data-wsc-lang="fr_FR">can't</span> I <span class="scayt-misspell-word" data-scayt-word="access" data-wsc-lang="fr_FR">access</span> the <span class="scayt-misspell-word" data-scayt-word="iSpindle" data-wsc-lang="fr_FR">iSpindle</span> in normal <span class="scayt-misspell-word" data-scayt-word="operation" data-wsc-lang="fr_FR">operation</span> | ||
Ligne 109 : | Ligne 113 : | ||
:Is it possible to get <span class="scayt-misspell-word" data-scayt-word="through" data-wsc-lang="fr_FR">through</span> the <span class="scayt-misspell-word" data-scayt-word="faradic" data-wsc-lang="fr_FR">faradic</span> cage? To <span class="scayt-misspell-word" data-scayt-word="achieve" data-wsc-lang="fr_FR">achieve</span> a <span class="scayt-misspell-word" data-scayt-word="sufficient" data-wsc-lang="fr_FR">sufficient</span> <span class="scayt-misspell-word" data-scayt-word="WLAN" data-wsc-lang="fr_FR">WLAN</span> signal <span class="scayt-misspell-word" data-scayt-word="strength" data-wsc-lang="fr_FR">strength</span> you can do the <span class="scayt-misspell-word" data-scayt-word="following" data-wsc-lang="fr_FR">following</span> <span class="scayt-misspell-word" data-scayt-word="things" data-wsc-lang="fr_FR">things</span>: | :Is it possible to get <span class="scayt-misspell-word" data-scayt-word="through" data-wsc-lang="fr_FR">through</span> the <span class="scayt-misspell-word" data-scayt-word="faradic" data-wsc-lang="fr_FR">faradic</span> cage? To <span class="scayt-misspell-word" data-scayt-word="achieve" data-wsc-lang="fr_FR">achieve</span> a <span class="scayt-misspell-word" data-scayt-word="sufficient" data-wsc-lang="fr_FR">sufficient</span> <span class="scayt-misspell-word" data-scayt-word="WLAN" data-wsc-lang="fr_FR">WLAN</span> signal <span class="scayt-misspell-word" data-scayt-word="strength" data-wsc-lang="fr_FR">strength</span> you can do the <span class="scayt-misspell-word" data-scayt-word="following" data-wsc-lang="fr_FR">following</span> <span class="scayt-misspell-word" data-scayt-word="things" data-wsc-lang="fr_FR">things</span>: | ||
Break open the <span class="scayt-misspell-word" data-scayt-word="faradic" data-wsc-lang="fr_FR">faradic</span> cage. <span class="scayt-misspell-word" data-scayt-word="This" data-wsc-lang="fr_FR">This</span> is possible by <span class="scayt-misspell-word" data-scayt-word="electrically" data-wsc-lang="fr_FR">electrically</span> <span class="scayt-misspell-word" data-scayt-word="separating" data-wsc-lang="fr_FR">separating</span> the lid <span class="scayt-misspell-word" data-scayt-word="from" data-wsc-lang="fr_FR">from</span> the pot. Can be <span class="scayt-misspell-word" data-scayt-word="achieved" data-wsc-lang="fr_FR">achieved</span> by <span class="scayt-misspell-word" data-scayt-word="applying" data-wsc-lang="fr_FR">applying</span> a silicone <span class="scayt-misspell-word" data-scayt-word="sealant" data-wsc-lang="fr_FR">sealant</span> <span class="scayt-misspell-word" data-scayt-word="between" data-wsc-lang="fr_FR">between</span> the two parts. Use a passive <span class="scayt-misspell-word" data-scayt-word="antenna" data-wsc-lang="fr_FR">antenna</span>. Use a <span class="scayt-misspell-word" data-scayt-word="shielded" data-wsc-lang="fr_FR">shielded</span> <span class="scayt-misspell-word" data-scayt-word="cable" data-wsc-lang="fr_FR">cable</span> <span class="scayt-misspell-word" data-scayt-word="that" data-wsc-lang="fr_FR">that</span> is <span class="scayt-misspell-word" data-scayt-word="stripped" data-wsc-lang="fr_FR">stripped</span> <span class="scayt-misspell-word" data-scayt-word="from" data-wsc-lang="fr_FR">from</span> <span class="scayt-misspell-word" data-scayt-word="both" data-wsc-lang="fr_FR">both</span> <span class="scayt-misspell-word" data-scayt-word="ends" data-wsc-lang="fr_FR">ends</span> (i. e. Lambda/4), <span class="scayt-misspell-word" data-scayt-word="where" data-wsc-lang="fr_FR">where</span> one <span class="scayt-misspell-word" data-scayt-word="side" data-wsc-lang="fr_FR">side</span> <span class="scayt-misspell-word" data-scayt-word="ends" data-wsc-lang="fr_FR">ends</span> in the pot, <span class="scayt-misspell-word" data-scayt-word="exactly" data-wsc-lang="fr_FR">exactly</span> 3.2mm. <span class="scayt-misspell-word" data-scayt-word="This" data-wsc-lang="fr_FR">This</span> is <span class="scayt-misspell-word" data-scayt-word="transmitted" data-wsc-lang="fr_FR">transmitted</span> <span class="scayt-misspell-word" data-scayt-word="passively" data-wsc-lang="fr_FR">passively</span> <span class="scayt-misspell-word" data-scayt-word="from" data-wsc-lang="fr_FR">from</span> the <span class="scayt-misspell-word" data-scayt-word="inside" data-wsc-lang="fr_FR">inside</span> to the <span class="scayt-misspell-word" data-scayt-word="outside" data-wsc-lang="fr_FR">outside</span> and vice versa. A good <span class="scayt-misspell-word" data-scayt-word="example" data-wsc-lang="fr_FR">example</span> can be <span class="scayt-misspell-word" data-scayt-word="found" data-wsc-lang="fr_FR">found</span> <span class="scayt-misspell-word" data-scayt-word="here" data-wsc-lang="fr_FR">here</span>: [http://hobbybrauer.de/forum/viewtopic.php?p=208782#p208782 http://hobbybrauer.de/forum/viewtopic.php?p=208782#<span class="scayt-misspell-word" data-scayt-word="p208782" data-wsc-lang="fr_FR">p208782</span>] <span class="scayt-misspell-word" data-scayt-word="Install" data-wsc-lang="fr_FR">Install</span> a wifi range <span class="scayt-misspell-word" data-scayt-word="extender" data-wsc-lang="fr_FR">extender</span> <span class="scayt-misspell-word" data-scayt-word="next" data-wsc-lang="fr_FR">next</span> to the barrel to <span class="scayt-misspell-word" data-scayt-word="increase" data-wsc-lang="fr_FR">increase</span> the signal <span class="scayt-misspell-word" data-scayt-word="level" data-wsc-lang="fr_FR">level</span>. | Break open the <span class="scayt-misspell-word" data-scayt-word="faradic" data-wsc-lang="fr_FR">faradic</span> cage. <span class="scayt-misspell-word" data-scayt-word="This" data-wsc-lang="fr_FR">This</span> is possible by <span class="scayt-misspell-word" data-scayt-word="electrically" data-wsc-lang="fr_FR">electrically</span> <span class="scayt-misspell-word" data-scayt-word="separating" data-wsc-lang="fr_FR">separating</span> the lid <span class="scayt-misspell-word" data-scayt-word="from" data-wsc-lang="fr_FR">from</span> the pot. Can be <span class="scayt-misspell-word" data-scayt-word="achieved" data-wsc-lang="fr_FR">achieved</span> by <span class="scayt-misspell-word" data-scayt-word="applying" data-wsc-lang="fr_FR">applying</span> a silicone <span class="scayt-misspell-word" data-scayt-word="sealant" data-wsc-lang="fr_FR">sealant</span> <span class="scayt-misspell-word" data-scayt-word="between" data-wsc-lang="fr_FR">between</span> the two parts. Use a passive <span class="scayt-misspell-word" data-scayt-word="antenna" data-wsc-lang="fr_FR">antenna</span>. Use a <span class="scayt-misspell-word" data-scayt-word="shielded" data-wsc-lang="fr_FR">shielded</span> <span class="scayt-misspell-word" data-scayt-word="cable" data-wsc-lang="fr_FR">cable</span> <span class="scayt-misspell-word" data-scayt-word="that" data-wsc-lang="fr_FR">that</span> is <span class="scayt-misspell-word" data-scayt-word="stripped" data-wsc-lang="fr_FR">stripped</span> <span class="scayt-misspell-word" data-scayt-word="from" data-wsc-lang="fr_FR">from</span> <span class="scayt-misspell-word" data-scayt-word="both" data-wsc-lang="fr_FR">both</span> <span class="scayt-misspell-word" data-scayt-word="ends" data-wsc-lang="fr_FR">ends</span> (i. e. Lambda/4), <span class="scayt-misspell-word" data-scayt-word="where" data-wsc-lang="fr_FR">where</span> one <span class="scayt-misspell-word" data-scayt-word="side" data-wsc-lang="fr_FR">side</span> <span class="scayt-misspell-word" data-scayt-word="ends" data-wsc-lang="fr_FR">ends</span> in the pot, <span class="scayt-misspell-word" data-scayt-word="exactly" data-wsc-lang="fr_FR">exactly</span> 3.2mm. <span class="scayt-misspell-word" data-scayt-word="This" data-wsc-lang="fr_FR">This</span> is <span class="scayt-misspell-word" data-scayt-word="transmitted" data-wsc-lang="fr_FR">transmitted</span> <span class="scayt-misspell-word" data-scayt-word="passively" data-wsc-lang="fr_FR">passively</span> <span class="scayt-misspell-word" data-scayt-word="from" data-wsc-lang="fr_FR">from</span> the <span class="scayt-misspell-word" data-scayt-word="inside" data-wsc-lang="fr_FR">inside</span> to the <span class="scayt-misspell-word" data-scayt-word="outside" data-wsc-lang="fr_FR">outside</span> and vice versa. A good <span class="scayt-misspell-word" data-scayt-word="example" data-wsc-lang="fr_FR">example</span> can be <span class="scayt-misspell-word" data-scayt-word="found" data-wsc-lang="fr_FR">found</span> <span class="scayt-misspell-word" data-scayt-word="here" data-wsc-lang="fr_FR">here</span>: [http://hobbybrauer.de/forum/viewtopic.php?p=208782#p208782 http://hobbybrauer.de/forum/viewtopic.php?p=208782#<span class="scayt-misspell-word" data-scayt-word="p208782" data-wsc-lang="fr_FR">p208782</span>] <span class="scayt-misspell-word" data-scayt-word="Install" data-wsc-lang="fr_FR">Install</span> a wifi range <span class="scayt-misspell-word" data-scayt-word="extender" data-wsc-lang="fr_FR">extender</span> <span class="scayt-misspell-word" data-scayt-word="next" data-wsc-lang="fr_FR">next</span> to the barrel to <span class="scayt-misspell-word" data-scayt-word="increase" data-wsc-lang="fr_FR">increase</span> the signal <span class="scayt-misspell-word" data-scayt-word="level" data-wsc-lang="fr_FR">level</span>. </<span class="scayt-misspell-word" data-scayt-word="nowiki" data-wsc-lang="fr_FR">nowiki</span>> | ||
== Références == | == Références == |
Version du 19 juin 2018 à 12:24
Présentation
Le iSpindle est un projet open source de densimètre wifi.
Cela permet de suivre la densité en cours de fermentation sans ouvrir le fermenteur. Les données sont envoyées toutes les 30 minutes directement via wifi vers un site internet. Ce dernier permet d'afficher un graphique de l'évolution de la densité ainsi que de la température.
Le fonctionnement repose sur l'analyse de l'angle du densimètre dans le liquide. En fonction de l'angle (et de la température), on peut corréler une densité.
L'autonomie est d'environ 3 mois (log des données toutes les 30 minutes).
Matériel
Deux "versions" du iSpindle sont envisageables. Au final le fonctionnement est le même et le choix dépendra de la capacité de chacun à trouver les pièces et à arriver à souder le tout (connaissances en électronique).
Version Facile (mais plus chère)
Pour ceux qui ne se sentent pas de découper du PCB, commander les pièces un peu partout puis souder le tout (il ne faut pas avoir de gros doigts :p) on trouve ici un kit contenant tout le nécessaire ainsi qu'un PCB (circuit imprimé) spécifiquement conçu pour le iSpindle. On trouve aussi le traineau (support en plastique) mais la batterie est à commander séparément (trouvable sur le même site).
C'est la solution recommandée pour avoir un truc qui marche facilement et rapidement.
Version Avancée (mais plus économique)
Alors là il va falloir acheter le matériel (plusieurs choix possible, le moins onéreux étant probablement aliexpress).
Voici la liste des composants :
- Cylindre en plastique (type géocaching)
Il contiendra tout le montage.
- Traineau (support)
L'idéal est de télécharger le support et l'imprimer sur une imprimante 3D. Sinon, il est toujours possible de l'acheter sur le site du kit (voir ci-dessus).
- Batterie
Modèle 18650 type Panasonic NCR18650B. Si possible, prenez de la marque, vous éviterez des incendies...
- Wemos D1 mini
C'est le cerveau du iSpindle ainsi que son module de communication.
- Gyromètre/accéléromètre GY-521
Permet de mesurer l'angle d'inclinaison. (possible d'utiliser un MPU-6050 en modifiant légèrement le montage)
- Sonde de température DS18B20
- Morceau de PCV (circuit imprimé) de 3x4cm ou un PCB double face
Servira pour assembler le tout
- Résistances
- 4k7 ohms
- 220k ohms
- 330 ohms (ou diode BAT43)
- microswitches
Un petit switch on/off
- Module de charge lipo TP4056 (modèle 6 pins recommendé)
C'est ce qui permettra de recharger la batterie
Circuit et montage
Configuration
Calibration
Explication de craboune à propos du concept général de calibration :
Dans un premier temps il faut le poser à plat et le calibrer dans cette position. C'est son "zero". Ensuite il faut le calibrer pour qu'il puisse convertir son angle d'inclinaison (le tilt) en densité. Pour cela tu vas "fabriquer" plusieurs solutions à différentes densités auxquelles vont correspondre différents angles d'inclinaison. Les solutions "fabriquées" sont des solutions à différentes concentrations en sucres et donc de densité différentes. Tu vas donc obtenir une relation entre le tilt et la densité. Avec quelques points (disons une dizaine pour avoir une bonne précision) tu vas "prédire" une tendance qui sera valable pour pouvoir calculer la densité à partir d'un angle d'inclinaison inconnu.
Paramétrage Ubidots
Serveur TCP Python
Il est possible de récupérer les données directement via un serveur TCP écrit en python. On le trouvera ici.
FAQ
(à traduire)
- Ca ne fonctionne pas, je n'ai aucune donnée
- Le meilleur moyen de trouver la solution est de savoir ce que fais le iSpindle. Pour cela, il faut lire son log via le port série ou via l'IDE arduino.
- Connecter le iSpindle via son port micro USB, ouvrir le port COM et lire les données. (paramètres port COM : baud rate = 115200).
- Tuto youtube: https://youtu.be/6xDW5GbIbUw
- Se connecter au portail internet du iSpindle
- Allumer le iSpindle. Appuyer sur le bouton reset 3 ou 4 fois, ce qui a pour effet d'activer le mode "point d'accès wifi".
- Un nouveau réseau wifi sera visible, nommé "iSpindel". S'y connecter (via PC, tablette, smartphone).
- Le navigateur doit automatiquement rediriger vers la page http://192.168.4.1. Si ce n'est pas le cas, y aller (copier/coller le lien).
- Maintenant que l'on est sur le portail, aller dans "Configuration" et entrer le jeton wifi ainsi que le mot de passe d'accès à <u>votre</u> réseau wifi. Cliquer sur "Save". Le iSpindle va maintenant envoyer ses données sur Ubidots. Noter que le iSpindle n'est PLUS joignable, sauf à le repasser en mode "portail" encore une fois.
- Why can't I access the iSpindle in normal operation
- The critical part of the battery life time is that the iSpindle is active as short as possible and maximum time being indeep sleep! The Wemos in active operation requires more than 300x of energy, so this trick is indispensable to achieve the runtime.
- The Micro USB port is for program updates?
- Correct, see Firmware Update
- How can I calibrate the voltage display?
- From firmware 3.0 on you can adjust the conversion factor. By default, factor 191.8 is used. You can adjust by this formula:
displayed voltage / measured voltage * current factor (191.8) = new factor
- Can I operate it in a stainless steel container?
- Is it possible to get through the faradic cage? To achieve a sufficient WLAN signal strength you can do the following things:
Break open the faradic cage. This is possible by electrically separating the lid from the pot. Can be achieved by applying a silicone sealant between the two parts. Use a passive antenna. Use a shielded cable that is stripped from both ends (i. e. Lambda/4), where one side ends in the pot, exactly 3.2mm. This is transmitted passively from the inside to the outside and vice versa. A good example can be found here: http://hobbybrauer.de/forum/viewtopic.php?p=208782#p208782 Install a wifi range extender next to the barrel to increase the signal level. </nowiki>