开发环境
-
API10
-
硬件:OpenHarmony开发者手机
-
OpenHarmony 4.O.10.309
应用安装步骤
1.下载仓库
https://gitee.com/from-north-to-north/OpenHarmony_p7885/tree/master/CPU_device_information(API10)
2.点击该仓库init.bat脚本
实现功能
完成了开发者手机以下信息的获取
- CPU核心数
- SOC型号
- GPU温度
- 主板温度
- 系统运行时间
- RAM总内存
- RAM可用内存
- RAM空闲内存
- 缓存使用内存
- Swaps交换分区
- 系统启动以来创建的进程数
- 上下文切换的总数
- SOC温度
- CPU利用率
- CPU大核7温度和利用率
- CPU中核6温度和利用率
- CPU中核5温度和利用率
- CPU中核4温度和利用率
- CPU小核3温度和利用率
- CPU小核2温度和利用率
- CPU小核1温度和利用率
- CPU小核0温度和利用率
- 设备电量
- 电池电压
- 电池型号
- 电池充电状态
- 系统版本
- RTC时间和日期
- 内核版本信息
- 电池信息
功能实现逻辑
▍通过Native C++ 开发方式读取开发板端文件获取手机各项信息。
# 获取SOC型号
proc/device-tree/cpuinfo_hardware
# 获取rtc时间
/sys/class/rtc/rtc0/time
# 获取内核信息
/proc/version
# 获取RTC系统日期
/sys/class/rtc/rtc0/date
# 交换分区大小
/proc/swaps
# 获取主板热区
/sys/class/thermal/thermal_zone27/temp
# 获取GPU热区
/sys/class/thermal/thermal_zone17/temp
# 获取lit0-thmzone 小核心 0 热区
/sys/class/thermal/thermal_zone13/temp
# 获取lit1-thmzone 小核心 1 热区
/sys/class/thermal/thermal_zone14/temp
# 获取lit2-thmzone 小核心 2 热区
/sys/class/thermal/thermal_zone15/temp
# 获取lit3-thmzone 小核心 3 热区
/sys/class/thermal/thermal_zone16/temp
# 获取mid4-thmzone 中核心 4 热区
/sys/class/thermal/thermal_zone9/temp
# 获取mid5-thmzone 中核心 5 热区
/sys/class/thermal/thermal_zone10/temp
# 获取mid6-thmzone 中核心 6 热区
/sys/class/thermal/thermal_zone11/temp
# 获取big7-thmzone 大核心 7 热区
/sys/class/thermal/thermal_zone7/temp
# 获取soc-thmzone系统芯片热区
/sys/class/thermal/thermal_zone5/temp
# /proc/uptime 是一个特殊的文件,它提供了当前系统的运行时间信息。文件中包含了两个数值,分别表示系统的总运行时间和空闲时间。
/proc/uptime
# 获取内存信息
/proc/meminfo
# 获取cpu info
/proc/cpuinfo
# 计算cpu利用率,进程计数器,正在运行的进程计数器,阻塞的进程计数器,系统发生的上下文切换次数
/proc/stat
▍Native C++开发的api
export const getCpuCount: () => Number; //获取cpu核心数
export const getMemTotal: () => String; //获取RAM总内存大小
export const getFreeMem: () => String; //获取空闲内存大小
export const getCachedMem: () => String; //获取缓存使用内存大小
export const getAvailableMem: () => String; //获取可用内存大小
export const getCpuInfo: () => any; //获取CPU信息
export const getMemoryInfo: () => any; //获取RAM信息
export const getUptime: () => String; //读取/proc/uptime,/proc/uptime 是一个特殊的文件,它提供了当前系统的运行时间信息。文件中包含了两个数值,分别表示系统的总运行时间和空闲时间。
export const getSOCtemp: () => String; //获取soc-thmzone系统芯片热区 /sys/class/thermal/thermal_zone5/temp
export const getCPU_CORE_big7_thmzonetemp: () => String; //获取big7-thmzone 大核心 7 热区
export const getCPU_CORE_mid6_thmzonetemp: () => String; //获取mid6-thmzone 中核心 6 热区
export const getCPU_CORE_mid5_thmzonetemp: () => String; //获取mid6-thmzone 中核心 5 热区
export const getCPU_CORE_mid4_thmzonetemp: () => String; //获取mid6-thmzone 中核心 4 热区
export const getCPU_CORE_lit3_thmzonetemp: () => String; //获取lit3-thmzone 小核心 3 热区
export const getCPU_CORE_lit2_thmzonetemp: () => String; //获取lit2-thmzone 小核心 2 热区
export const getCPU_CORE_lit1_thmzonetemp: () => String; //获取lit1-thmzone 小核心 1 热区
export const getCPU_CORE_lit0_thmzonetemp: () => String; //获取lit0-thmzone 小核心 0 热区
export const getGPU_temp: () => String; //获取GPU 热区
export const getBoard_temp: () => String; //获取主板 热区
export const getSwaps: () => String; //获取交换分区大小
export const getRTC_Date_temp: () => String; //获取rtc日期
export const getKernel_version: () => String; //获取内核信息
export const getRTC_Time_temp: () => String; //获取rtc时间
export const getCpu_stat_cpu: () => String; //获取cpu以及各个核利用率
export const getprocesses: () => String; //获取正在运行的进程数
export const getctxt: () => String; //获取正在运行的进程数
export const getcpuinfo_hardware: () => String; //获取SOC型号
功能实现逻辑剖析
▍底部导航栏、顶部状态栏设置
参考:https://gitee.com/openharmony/docs/blob/master/zh-cn/third-party-cases/immersion-mode.md#%E5%8F%82%E8%80%83
Index.ets
import window from '@ohos.window';
import common from '@ohos.app.ability.common';
//沉浸式界面开发:https://gitee.com/openharmony/docs/blob/master/zh-cn/third-party-cases/immersion-mode.md