web-dev-qa-db-fra.com

Température du processeur de Raspberry Pi en C #

J'ai lu beaucoup d'articles et de forums sur ce sujet, mais presque tout est assez compliqué et tout cela remonte à plus de 2 ans.

Je me demandais donc quel était le meilleur moyen d’obtenir la température du processeur du Raspberry Pi en C #

J'ai la dernière version de Windows 10 IoT Core.

Mettre à jour

Je ne veux pas réduire la température du processeur. J'utilise le Sense HAT. Le capteur de température de cet objet est situé près de la CPU, de sorte que la lecture est inexacte. J'ai trouvé un script python qui rend la lecture précise, mais il a besoin de la température du processeur.

REMARQUE:

J'utilise Windows 10 IoT Core! Je NE PAS avoir ce fichier: /sys/class/thermal/thermal_zone0/temp

Mise à jour 2:

Si le seul moyen est d'écrire votre propre pilote, merci de me guider. Je ne sais rien sur l'écriture de pilotes ou quoi que ce soit d'aussi bas niveau ...

14
Luuk Wuijster

Pour autant que je sache, il n’existe pas de SDK IoT ni de client powershell pouvant accéder aux périphériques BCM2836 de bas niveau. Vous devez écrire vos propres pilotes. Vous pouvez suivre les exemples de code de https://github.com/ms-iot/bsp/tree/master/drivers , il est écrit sous le framework WDK. Vous devez donc vous familiariser avec cela pour pouvoir Commencer.

Une autre option consiste à mesurer la température à l'aide de capteurs thermiques DS18B20. Ce capteur thermique connecte le Raspberry Pi via I2C. Et vous devez installer le package Rinsen.OneWire via nuget dans votre solution. Cette bibliothèque est écrite en C # et prend en charge les capteurs DS18B20 et DS18S20.

Je ne suis pas sûr à 100% que ce soit la bonne façon de procéder, mais si quelqu'un pouvait me corriger ou indiquer une meilleure solution, je serais ravi d'en apprendre plus.

2
Michael Xu - MSFT

Vous pouvez y parvenir avec MCP9808 chip. 

Jeremy Lindsay a publié un article qui explique comment le faire fonctionner à l'aide de C # sur Windows 10 IoT Core. 

https://jeremylindsayni.wordpress.com/2016/06/09/how-to-measure-temperature-using-c-raspberry-pi-windows-10-iot-core-and-the-adafruit-mcp9808- capteur/

Quelques extraits de l'article: 

Comment fonctionne le MCP9808?

Ce capteur utilise le protocole I2C, qui est pris en charge par Windows 10 IoT Core sur le Pi 3. Etant donné que l’intégration déjà étendue de ce protocole dans la structure, cela facilite considérablement le codage. Le MCP9808 peut être initialisé à l'aide de l'adresse esclave 0x18 et la température ambiante peut être relue à partir de deux octets de données après l'écriture de 0x05 sur le périphérique.

Connexion du MCP9808 au Raspberry Pi

Le capteur de température MCP9808 comporte 4 broches que nous devons utiliser pour obtenir une lecture de température de base. J'ai connecté le mien au Pi en utilisant les broches spécifiées ci-dessous.

• Tension d’alimentation - Broche 2
• Terre - Broche 6
• Horloge série - Broche 5 • Données série - Broche 3

Jeremy a également partagé le code sur GitHub: https://github.com/jeremylindsayni/Magellanic.Sensors.MCP9808

J'espère que cette aide!

1
dj79

Je pense que vous pourriez essayer de calculer la température actuelle du processeur en en lisant la consommation actuelle puis en utilisant cette formule pour calculer la température.

Je ne sais pas comment les fabricants de téléphones cellulaires actuels mesurent la température de l'appareil aujourd'hui. Mais ce n’est pas très différent de la façon dont Nokia mesurait la température en fonction des lectures IBATT (courant de la batterie) et VBATT (tension de la batterie) dans la journée (lorsque j’y travaillais).

0
hfontanez