Температура процессора 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.
некоторые выдержки из статьи:
как работает 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 (напряжение батареи) в тот день (когда я там работал).