一个简单的API,用于读取AlCPU CoreTemp数据,以便为iOS、macOS、watchOS或tvOS制作您自己的监控应用程序。
首先,安装 CoreTemp 和 CoreTempRemoteServer 插件,以便开始通过网络套接字接收数据。请从以下URL下载: CoreTemp 主程序: https://www.alcpu.com/CoreTemp/Core-Temp-setup.exe RemoteServer 插件: https://www.alcpu.com/CoreTemp/AddOns/CoreTempRemoteServer.zip
配置 RemoteServer 的端口号并启动它。
从以下URL将 Swift Package 添加到您的项目中: https://github.com/CodeNationDev/CoreTempMonitorSwift.git
public convenience init(ip: String, port: String , using: NWParameters)
所有数据信息都已结构化为以下对象
//
import Foundation
struct CpuInfo: Codable {
var uiLoad: [Int]?
var uiTjMax: [Int]?
var uiCoreCnt: Int?
var uiCPUCnt: Int?
var fTemp: [Int]?
var fVID: Float?
var fCPUSpeed: Float?
var fFSBSpeed: Float?
var fMultiplier: Int?
var CPUName: String?
var ucFahrenheit: Int?
var ucDeltaToTjMax: Int?
var ucTdpSupported: Int?
var ucPowerSupported: Int?
var uiStructVersion: Int?
var uiTdp: [Int]?
var fPower: [Float]?
var fMultipliers: [Int]?
}
struct MemoryInfo: Codable {
var TotalPhys: Int64?
var FreePhys: Int64?
var TotalPage: Int64?
var FreePage: Int64?
var TotalVirtual: Int64?
var FreeVirtual: Int64?
var FreeExtendedVirtual: Int?
var MemoryLoad: Int?
}
public struct CoreTempObject: Codable {
var CpuInfo: CpuInfo?
var MemoryInfo: MemoryInfo?
}
对于这些对象,最相关的信息是
- ucFahrenheit、ucDeltaToTjMax、ucTdpSupported 和 ucPowerSupported 表示布尔值。 0 = false, 1 = true。
- 如果 ucFahrenheit 为 true,则温度以华氏度报告。
- 如果 ucDeltaToTjMax 为 true,则报告的温度表示与 TjMax 的距离。
- 如果 ucTdpSupported 为 true,则 uiTdp 数组中的处理器 TDP 信息有效。
- 如果 ucPowerSupported 为 true,则 fPower 数组中的处理器功耗信息有效。
使用每一个来设计您的监视器。
对象实例运行套接字读取。 如果要停止读取,请直接调用 stop() 函数。
//
import UIKit
import CoreTempMonitorSwift
class ViewController: UIViewController {
let sManager = SocketManager(ip: "192.168.1.69", port: "5200", using: .tcp)
override func viewDidLoad() {
super.viewDidLoad()
sManager.delegate = self
}
@IBAction func stop_tapped(_ sender: Any) {
sManager.stop()
}
}
extension ViewController: CoreTempMonitorSwiftDelegate {
func didReadData(data: CoreTempObject) {
//do something
}
}
David Martin Saiz – @deividmarshall – davms81@gmail.com
在 MIT 许可证下分发。 有关更多信息,请参见 LICENSE
。
https://github.com/CodeNationDev/