Температура процессора Raspberry Pi в C # - PullRequest
0 голосов
/ 29 августа 2018

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

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

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

Обновление

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

Примечание:

Я использую Windows 10 IoT Core! У меня НЕ есть этот файл: /sys/class/thermal/thermal_zone0/temp

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

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

Ответы [ 3 ]

0 голосов
/ 01 сентября 2018

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

Есть статья Джереми Линдсея, в которой рассказывается, как заставить его работать, используя C # в 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-sensor/

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

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

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

Подключение MCP9808 к Raspberry Pi

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

• Напряжение питания - контакт 2
• Заземление - контакт 6
• Серийные часы - контакт 5 • Серийные данные - контакт 3

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

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

0 голосов
/ 07 сентября 2018

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

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

0 голосов
/ 30 августа 2018

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

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

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

...