Температура процессора Raspberry Pi в C#

Я прочитал много статей и сообщений на форуме по этой теме, но почти все довольно сложно и все из более чем 2+ лет назад.

поэтому мне было интересно, каков наилучший способ получить температуру процессора Raspberry Pi в C#?

У меня есть новейшая версия Windows 10 IoT Core.

обновление

Я не хочу снижать температуру процессора. Я использую шляпу Sense. Датчик температуры эта вещь находится рядом с процессором, поэтому чтение является неточным. Я нашел скрипт python, который делает чтение точным, но ему нужна температура процессора.

Примечание:

Я использую Windows 10 IoT Core! Я!--4-->НЕ файл: /sys/class/thermal/thermal_zone0/temp

обновление 2:

Если единственный способ-написать свой собственный драйвер, пожалуйста, укажите мне, как это сделать. Я ничего не знаю о написании драйверов или что-то в этом роде низкоуровневый...

3 ответов


насколько я знаю, нет IoT SDK или powershell клиент может получить доступ к периферийным устройствам низкого уровня BCM2836.Вам нужно написать свои собственные драйверы. Вы можете следовать образцам кода изhttps://github.com/ms-iot/bsp/tree/master/drivers, он написан под WDK framework, поэтому вам нужно будет ознакомиться с этим, чтобы начать работу.

другой вариант, измерьте температуру используя термальные датчики DS18B20. Этот термальный датчик соединяет raspberry pi через I2C. И вам нужно установить Rinsen.Пакет OneWire через nuget в вашем решении эта библиотека написана на C# и имеет встроенную поддержку датчиков DS18B20 и DS18S20.

Я не на 100 процентов уверен, что это правильный путь, но если бы кто-то мог исправить меня или указать лучшее решение, я был бы более чем счастлив учиться на нем.


вы можете добиться этого, используя MCP9808 чип.

есть статья Джереми Линдси, которая проведет вас через процесс, как заставить его работать с помощью C# в окне 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-sensor/

некоторые выдержки из статьи:

как работает MCP9808?

этот датчик использует протокол I2C, который поддерживается Windows 10 IoT Core на Pi 3. Поскольку уже существует обширная интеграция этого протокола в рамках, это значительно упрощает кодирование. MCP9808 можно инициализировать, используя ведомый адрес 0x18, а температуру окружающей среды можно считывать с двух байтов данных после записи 0x05 на устройство.

подключение MCP9808 к малина Pi

на датчике температуры MCP9808 есть 4 контакта, которые нам нужно использовать, чтобы получить базовое значение температуры. Я подключил свой к Pi, используя указанные ниже контакты.

* Напряжение Питания-Pin 2
* Заземление-Pin 6
* Серийные Часы-Штырь 5 * Последовательные Данные-Pin 3

Джереми также поделился кодом на GitHub: https://github.com/jeremylindsayni/Magellanic.Sensors.MCP9808

надеюсь, что это поможет!


Я думаю, вы можете попытаться рассчитать текущую температуру процессора по значение тока потребления и затем с помощью эта формула для расчета температуры.

Я не знаю, как текущие производители мобильных телефонов измеряют температуру устройства сегодня. Но это не сильно отличается от того, как Nokia использовала для измерения температуры на основе показаний IBATT (ток батареи) и VBATT (напряжение батареи) в тот день (когда я там работал).