Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Surveillance de la température sur le Raspberry Pi

Présentation

Le Raspberry Pi est un petit ordinateur monocarte (SBC) développé ici au Royaume-Uni, par la Fondation Raspberry Pi. Il exécute différentes versions de Linux sur ARM et dispose d'un ensemble de broches d'E/S que vous pouvez utiliser pour attacher des composants externes tels que des capteurs, des boutons, etc. Le Raspberry Pi n'a malheureusement pas de convertisseur analogique-numérique intégré, donc nous ne pouvons pas utiliser un capteur de température analogique comme le TMP36 qui fonctionne très bien avec l'Arduino, l'alternative est d'utiliser un capteur de température numérique.

Pièces

Raspberry Pi
Capteur de température DS18B20
Résistance 4,8k Ohm
Plaque de prototypage
Pi Cobbler
Planche à pain demi-taille
Paquet de fils de connexion

Conception de base

Matériel

Dans la conception de base, tout ce dont nous avons besoin est le Raspberry Pi, le capteur de température DS18B20, la résistance de 4,8 k Ohm, le cordonnier Pi, la planche à pain demi-taille et les câbles de raccordement. Tout sera inséré dans la maquette pour faciliter les tests et la conception.

Schéma de câblage

Les capteurs sont assez uniques en ce sens qu'ils peuvent être câblés en parallèle, et autant de capteurs que vous le souhaitez peuvent être ajoutés au système. Les capteurs communiquent à l'aide d'une interface série à un seul fil et si vous utilisez Rasbian sur le Raspberry Pi, il identifiera les capteurs en tant que périphériques série connectés. Cependant, le capteur doit être câblé à la broche 4 du GPIO, car c'est la seule broche qui permet (actuellement) la communication à l'aide du protocole série à un fil.

Vous pouvez utiliser ce schéma du guide d'Adafruit sur la configuration du capteur de température DS18B20 sur le Raspberry Pi pour une compréhension plus facile lors de la connexion de tout ensemble.

DS18B20

Vous pouvez acheter le DS18B20 sous trois formes, un composant de type transistor classique est disponible, une version étanche avec un long câble attaché et une version haute température.

Les trois DS18B20 incluent l'interface série spéciale à 1 fil ainsi que la logique de commande et le capteur de température lui-même. Il envoie les mesures numériques au Raspberry Pi et, selon votre distribution, la dernière version de Raspbian inclut un moyen de lire ces messages sans travail supplémentaire. Si vous avez tout câblé ensemble, vous pouvez le tester sur la ligne de commande en utilisant les commandes ci-dessous.

123456sudo modprobe w1–gpiosudo modprobe w1–thermcd /sys/bus/w1/deviceslscd 28–xxxx (changez ceci pour qu'il corresponde au vôtre)cat w1_slave

Tapez les commandes que vous voyez ci-dessus dans une fenêtre de terminal. Accédez au répertoire "/sys/bus/s1/devices". Dans les commandes ci-dessus, la commande "cd" est définie sur le répertoire commençant par "28-". Il peut avoir un nom différent sur votre système car il est basé sur la série du DS18B20 numéro, donc cd sur le nom du répertoire qui s'y trouve.

La réponse aura soit OUI ou NON à la fin de la première ligne. Si c'est oui, alors la température sera à la fin de la deuxième ligne, en 1/000 degrés C.

Logiciel

Une fois le circuit assemblé, nous devons maintenant écrire le programme pour lire les données de température du capteur. Dans la conception de base, le programme lira les données toutes les secondes et affichera la lecture sur stdout dans le terminal.

Le langage logiciel que nous allons utiliser pour lire les données du capteur de température DS18B20 est Python. Ajoutez-le à un fichier et enregistrez-le sous « temp_logger_basic.py »

1234567891011121314151617181920212223242526272829303132import osimport globimport timeos.system('modprobe w1-gpio')os.system('modprobe w1-therm')base_dir ='/sys/bus/w1/devices/'device_folder =glob. +'base28_dir )[0]device_file =device_folder + '/w1_slave'def read_temp_raw() :    f =open(device_file, 'r')    lines =f.readlines()    f.close()    return linesdef read_temp() :    lines =read_temp_raw() while lines[0].strip()[–3:] !='YES':        time.sleep(0.2)        lines =read_temp_raw()    equals_pos =lines[1].find('t=')    if equals_pos !=– 1:        temp_string =lines[1][equals_pos+2:]        temp_c =float(temp_string) / 1000.0        temp_f =temp_c * 9.0 / 5.0 + 32.0         return temp_c, temp_fwhile True :    read      print(

En haut du programme, nous incluons des modules que nous utiliserons dans le script, puis il émet les commandes « modprobe » nécessaires pour démarrer l'interface. Les trois lignes suivantes, recherchez le fichier à partir duquel les données peuvent être lues.

Il y a deux fonctions qui gèrent la lecture de la température, 'read_temp_raw' récupère les deux lignes de message de l'interface. La fonction 'read_temp' renvoie deux valeurs, la température en Celsius et la température en Fahrenheit chaque seconde.

Voici une sortie du script.

123456789sculley@berry:/usr/local/temperature/$ sudo python ./temp_logger_basic.py(18.875, 65.975)(18.875, 65.975)(18.875, 65.975)(18.875, 65.975)(18.875, 65.975)(18.875, 65.975)( 18,875, 65,975) (18,875, 65,975)

Le script doit être exécuté en tant que root, vous devez également utiliser python pour appeler le script car nous n'avons pas ajouté le shebang Python en haut du script.

Voilà, vous devriez avoir câblé avec succès la conception de base et écrit le script de base pour lire les données de température du capteur de température DS18B20. Nous pouvons maintenant passer à la conception plus avancée.

Conception avancée

Dans la conception avancée, je vais vous montrer ma conception de mon enregistreur de température dont j'ai soudé les composants sur un blindage PCB qui se branche sur le Raspberry Pi et est stocké dans une petite boîte noire pour tout cacher, le code s'exécute toutes les heures et stocke le données dans une base de données MySQL, je l'utilise pour afficher les données dans un graphique Google, ce qui facilite leur visualisation.

Matériel

Pour la conception avancée, nous avons besoin des mêmes pièces que la base, à l'exception du Pi Cobbler (Raspberry Pi, capteur de température DS18B20, résistance de 4,8 k Ohm, planche à pain demi-taille et câbles de raccordement) mais nous avons également besoin d'un PCB, j'ai acheté le Raspberry Pi bouclier de prototypage d'Adafruit qui est idéal pour faire des conceptions semi-permanentes.

Pour plus de détails :Surveillance de la température sur le Raspberry Pi


Processus de fabrication

  1. Enregistreur de température Raspberry Pi
  2. Profil de température Raspberry Pi avec LabVIEW
  3. Moniteur réseau de température et d'humidité Raspberry Pi
  4. Lire la température avec DS18B20 | Raspberry Pi 2
  5. Mesure de la température avec RASPBERRY PI
  6. Capteur de température Python et Raspberry Pi
  7. Température et humidité faciles sur Raspberry Pi
  8. Contrôle de la température avec Raspberry Pi
  9. DIY :surveillance et régulation de la température pour HomeBrew