Table des matières:

Stockez et tracez les données EC/pH/ORP avec la pile TICK et la plate-forme NoCAN : 8 étapes
Stockez et tracez les données EC/pH/ORP avec la pile TICK et la plate-forme NoCAN : 8 étapes

Vidéo: Stockez et tracez les données EC/pH/ORP avec la pile TICK et la plate-forme NoCAN : 8 étapes

Vidéo: Stockez et tracez les données EC/pH/ORP avec la pile TICK et la plate-forme NoCAN : 8 étapes
Vidéo: Instruments série Five : des mesures de pH haute qualité à faible coût 2024, Novembre
Anonim
Stockez et tracez les données EC/pH/ORP avec la pile TICK et la plate-forme NoCAN
Stockez et tracez les données EC/pH/ORP avec la pile TICK et la plate-forme NoCAN

Cela expliquera comment utiliser la plate-forme NoCAN d'Omzlo et les capteurs uFire pour mesurer l'EC, le pH et l'ORP. Comme le dit leur site Web, il est parfois plus facile de simplement faire passer un câble à vos nœuds de capteur. CAN a l'avantage de la communication et de l'alimentation dans un seul câble, donc le signal et la batterie ne sont pas des problèmes. Le firmware des nœuds peut être plus simple; pas de souci avec les modes veille ou la configuration WiFi, par exemple. La plate-forme NoCAN possède également d'excellentes fonctionnalités telles que la programmation des nœuds sur le bus CAN.

La plate-forme NoCAN utilise un Raspberry Pi, donc tout ce qui peut faire sera disponible. Nous allons en profiter en installant la pile TICK. Cela nous permettra d'utiliser InfluxDB pour stocker les mesures. C'est une base de données basée sur des séries temporelles spécialement conçue pour ce genre de chose. Il est également livré avec Chronograf pour faire des tableaux de bord et afficher toutes ces données que nous allons prendre. Les T et K signifient Telegraf et Kapacitor. Telegraf se situe entre les données que vous envoyez et la base de données Influx. Kapacitor est le moteur d'événements. Lorsque quelque chose se produit, il peut vous envoyer une notification via diverses méthodes. Et, juste parce que je l'aime mieux que Chronograf, je vais installer Grafana pour les tableaux de bord.

Étape 1: Préparation du Raspberry Pi

Rendez-vous sur la page de téléchargement Rasbian et téléchargez l'image avec le bureau et le logiciel recommandé, puis flashez-la sur une carte SD.

Une fois l'image sur votre carte SD, vous devriez avoir deux volumes, root et boot. Ouvrez un terminal au démarrage et tapez:

toucher ssh

Cela activera SSH.

Tapez ensuite:

nano wpa_supplicant.conf

Et copiez/collez ce qui suit après l'avoir modifié pour vos propres paramètres de comté et de WiFi:

pays=États-Unis

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="NETWORK-NAME" psk="NETWORK-PASSWORD" }

Les codes pays viennent d'ici.

Activer SPI:

echo "dtparam=spi=on" >> config.txt

Insérez la carte SD dans votre Raspberry Pi, attendez un peu et tapez:

ssh [email protected]

Vous devriez être à l'invite de connexion. Le mot de passe est framboise.

Étape 2: Configuration de NoCAN

Omzlo fournit un guide d'installation complet. Mais j'ai décidé de me faciliter la tâche et d'en apprendre un peu plus sur les scripts Bash. Alors démarrez votre Raspberry Pi et connectez-y un terminal SSH ou série.

J'ai appris que la création d'un bon script Bash peut consacrer autant de temps de développement que tout ce que vous essayez d'installer. Il existe 1000 façons de faire quelque chose, certaines plus simples à saisir ou à exécuter que d'autres. Finalement, je n'ai pas fait grand-chose. Si vous exécutez:

wget https://ufire.co/nocan.sh && chmod +x nocan.sh && sudo./nocan.sh

Dans le terminal de votre Raspberry Pi, il téléchargera et exécutera le script.

Puis il:

  1. Télécharge le démon Omzlo NoCAN et l'installe dans /usr/bin pour un accès facile, crée un dossier ~/.nocand et écrit un fichier de configuration très basique avec le mot de passe défini sur 'password'. Vous devriez probablement le changer en autre chose, c'est dans ~/.nocand/config.
  2. Télécharge le client Omzlo NoCAN et le copie dans /usr/bin et crée un fichier de configuration de base avec le même mot de passe. C'est dans ~/.nocanc.conf.
  3. Configure un service Systemd qui maintient le démon NoCAN en cours d'exécution.
  4. Écrit un fichier python dans ~/.nocand, nocan_ufire.py. Il parlera au micrologiciel du nœud NoCAN et prendra des mesures EC, pH et ORP, analysera les résultats et les ajoutera dans la base de données InfluxDB.
  5. Ajoute le référentiel d'InfluxData à apt et installe la pile TICK. Et comme je le préfère à Chronograf, il installe également Grafana.
  6. Crée une base de données Influx vide

Quelques pièges que vous pouvez rencontrer:

  • Votre locale n'est peut-être pas configurée, alors lancez dpkg-reconfigure locales
  • L'installation de Grafana peut se bloquer, alors réessayez.
  • Le démon d'afflux peut ne pas être démarré à temps pour que le script ajoute la base de données, tapez

    curl -i -XPOST https://localhost:8086/query --data-urlencode "q=CREATE DATABASE nocan"

  • Ce script ne fonctionne qu'en tant qu'utilisateur pi par défaut. Vous devrez remplacer pi par votre nom d'utilisateur le cas échéant si vous êtes sous un autre utilisateur.

La dernière chose est d'ajouter une tâche cron. Je n'ai pas trouvé de très bon moyen de scripter celui-ci, alors tapez 'crontab -e' pour éditer manuellement et ajoutez '* * * * * python /home/pi/.nocand/nocan_ufire.py'.

Une fois que tout est fait, vous pouvez vérifier que tout est configuré et fonctionne comme il se doit. Grafana vit à https://[Adresse de Raspberry Pi]:3000/. Vous devriez voir une page de connexion, admin/admin est la valeur par défaut.

Chronograf peut être trouvé à https://[Adresse de Raspberry Pi]:8888/

Étape 3: Assemblage du matériel UFire

Assemblage du matériel UFire
Assemblage du matériel UFire

Avant de pouvoir assembler le matériel, il y a une chose à régler. La carte uFire ISE peut être utilisée pour mesurer à la fois le pH et l'ORP. Le matériel est le même, mais le logiciel est différent. Comme le matériel est le même, cela signifie que l'adresse I2C est, par défaut, également la même. Et les capteurs communiquent via I2C, il faudra donc en changer un. Pour ce projet, nous allons choisir l'une des cartes ISE et l'utiliser pour mesurer l'ORP. En suivant les étapes ici, changez l'adresse en 0x3e.

Maintenant que l'adresse est modifiée, l'assemblage du matériel est facile. Cette configuration est basée sur des travaux antérieurs faisant essentiellement la même chose mais utilisant BLE plutôt que CAN pour transmettre des données. Vous pouvez lire à ce sujet sur Arduino Project Hub. Tous les capteurs utilisent le système de connexion Qwiic, il suffit donc de tout connecter ensemble dans une chaîne, il n'y a qu'une seule façon d'insérer les fils Qwiic à Qwiic. Vous aurez besoin d'un fil Qwiic vers mâle pour connecter l'un des capteurs au nœud CANZERO. Les fils sont cohérents et codés par couleur. Connectez le noir au GND du nœud, le rouge à la broche +3,3V ou +5V, le bleu à la broche SDA qui est D11 et le jaune à la broche SCL sur D12.

Pour ce projet, il s'attendra à ce que les informations de température proviennent du capteur EC, alors assurez-vous de fixer un capteur de température à la carte EC. Cependant, toutes les planches ont la capacité de mesurer la température. N'oubliez pas d'attacher les sondes EC, pH et ORP aux capteurs appropriés. Ils se fixent facilement avec des connecteurs BNC. Si vous avez un enclos, mettre tout cela à l'intérieur serait une bonne idée, d'autant plus que l'eau va être impliquée.

Étape 4: Le matériel NoCAN

Le matériel NoCAN
Le matériel NoCAN

L'assemblage du matériel NoCAN est également facile. Fixez le PiMaster au Raspberry Pi et trouvez une alimentation appropriée pour celui-ci.

Suivez les instructions d'Omzlo pour fabriquer des câbles pour votre projet.

Déployez votre nœud et trouvez une place pour le PiMaster.

Étape 5: programmer le nœud CANZERO

Programmer le nœud CANZERO
Programmer le nœud CANZERO

L'un des avantages de cette configuration est que vous pouvez accéder aux nœuds même après leur déploiement. Ils sont programmés via le câble CAN, vous pouvez donc les reprogrammer à tout moment.

Pour cela, vous aurez besoin de l'IDE Arduino installé, du PiMaster sur votre réseau et de votre nœud connecté au bus CAN. Vous aurez également besoin d'un programme appelé nocanc installé sur votre ordinateur de développement. Tout cela est décrit sur la page d'installation d'Omzlo.

Visitez GitHub et copiez le code dans une nouvelle esquisse Arduino IDE. Changez la carte en Omzlo CANZERO et sélectionnez le nœud dans le menu 'Port'. Ensuite, cliquez simplement sur télécharger comme d'habitude. Si tout s'est déroulé comme prévu, vous devriez avoir un nœud programmé prêt à prendre des mesures.

Étape 6: Comment tout cela s'articule-t-il ?

Comment tout cela est-il lié ?
Comment tout cela est-il lié ?

Maintenant que tous les logiciels et le matériel sont configurés, prenons un moment pour parler de la façon dont tout cela fonctionnera réellement. Et montrez mes compétences GIMP…

En résumé:

  1. Le nœud CANZERO est connecté au PiMaster et déployé quelque part
  2. Chaque minute, une tâche Cron est exécutée sur le PiMaster. Il exécutera un script python.
  3. Le script python enverra une commande au nœud lui disant de prendre une mesure ou une autre action.
  4. Le nœud exécutera ce qu'était la commande et renverra un résultat au format JSON.
  5. Le script python recevra ce résultat, l'analysera et mettra à jour un InfluxDB avec.

La dernière étape consiste à regarder les données s'accumuler dans de jolis graphiques.

Étape 7: Configurer Chronograf ou Grafana

Paramétrer Chronograf ou Grafana
Paramétrer Chronograf ou Grafana

La dernière chose à faire est de mettre en place des graphiques dans Chronograf ou Grafana.

Vous devrez configurer la source de données. Les valeurs par défaut pour InfluxDB sont correctes. L'adresse est 'https://localhost:8086' et il n'y a ni nom d'utilisateur ni mot de passe.

Les deux sont similaires dans la mesure où ils sont organisés en tableaux de bord contenant un certain nombre de graphiques. Les deux ont une zone Explorer qui vous permet de voir les mesures et de créer des graphiques de manière interactive. N'oubliez pas que le nom de la base de données est « nocan » et est organisé en plusieurs mesures avec une valeur.

Comme je l'ai mentionné, je préfère Grafana car il est plus configurable que Chronograf. Il est également adapté aux mobiles, là où Chronograf ne l'est pas. Les graphiques sont facilement intégrés et partagés

Étape 8: Quelques améliorations

  • Vous pouvez définir le nom d'hôte de votre Raspberry Pi pour y accéder plus facilement sur votre réseau. Vous pouvez le faire dans raspi-config. J'ai changé le mien en nocan, j'ai donc pu aller sur nocan.local pour y accéder (ne fonctionne pas sur Android).
  • Vous pouvez installer un programme comme ngrok pour accéder à votre Raspberry Pi en dehors de votre réseau.
  • Utilisez l'une des méthodes fournies par Kapacitor pour fournir des notifications.
  • Ajouter plus de capteurs, bien sûr.

Conseillé: