以编程方式检测 Google Glass 中的过热
Detect overheating in Google Glass programmaticaly
和其他许多人一样,我面临 google 玻璃过热问题。我的问题是如何在应用程序中检测到它?
我正在查看日志,但没有任何迹象表明它需要屏幕上的消息。
Google 玻璃有(至少)两个温度探测器。
一个用于电池,另一个用于CPU板。
您可以将它们作为常规文件阅读。
电池
/sys/devices/platform/omap_i2c.1/i2c-1/1-0055/power_supply/bq27520-0/temp
CPU板
/sys/devices/platform/notle_pcb_sensor.0/temperature
但请记住,随着 Google Glass 的新版本发布,这些文件可能会更改位置。
代码(简化版)
private String readTemperature(String path) throws IOException {
return new BufferedReader(new InputStreamReader(new FileInputStream(new File(path)))).readLine();
}
解读
您将从这些文件中获得的值采用不同的单位。
CPU 电路板温度必须除以 1000 才能得到以 °C 为单位的温度。
电池温度必须除以 10 才能得到以 °C 为单位的温度。
Logcat
logcat 还会在一行日志中每隔一分钟左右为您提供一次温度。
你甚至可以解析它:
I/UserEventService(568): [GlassUserEventPerformanceStats ... battery_temperature_milli_centigrade: 34000 board_temperature_milli_centigrade: 44000 ]
值
根据我的经验,CPU 板的值可以从 25°C 到 70°C。
如果温度超过 70°C,您的应用或任何活动的应用可能会被系统终止,您会看到消息 "Glass must cool down to run smoothly"。
和其他许多人一样,我面临 google 玻璃过热问题。我的问题是如何在应用程序中检测到它?
我正在查看日志,但没有任何迹象表明它需要屏幕上的消息。
Google 玻璃有(至少)两个温度探测器。
一个用于电池,另一个用于CPU板。
您可以将它们作为常规文件阅读。
电池
/sys/devices/platform/omap_i2c.1/i2c-1/1-0055/power_supply/bq27520-0/temp
CPU板
/sys/devices/platform/notle_pcb_sensor.0/temperature
但请记住,随着 Google Glass 的新版本发布,这些文件可能会更改位置。
代码(简化版)
private String readTemperature(String path) throws IOException {
return new BufferedReader(new InputStreamReader(new FileInputStream(new File(path)))).readLine();
}
解读
您将从这些文件中获得的值采用不同的单位。
CPU 电路板温度必须除以 1000 才能得到以 °C 为单位的温度。
电池温度必须除以 10 才能得到以 °C 为单位的温度。
Logcat
logcat 还会在一行日志中每隔一分钟左右为您提供一次温度。
你甚至可以解析它:
I/UserEventService(568): [GlassUserEventPerformanceStats ... battery_temperature_milli_centigrade: 34000 board_temperature_milli_centigrade: 44000 ]
值
根据我的经验,CPU 板的值可以从 25°C 到 70°C。
如果温度超过 70°C,您的应用或任何活动的应用可能会被系统终止,您会看到消息 "Glass must cool down to run smoothly"。