从raspberry pi获取CPU温度到Watson IoT Platform快速入门服务

时间:2017-01-24 03:44:40

标签: node.js linux raspberry-pi watson-iot

我需要从覆盆子pi到Watson IoT Platform快速启动服务获得CPU温度。

我这样做是通过使用命令为vcgencmd measure_temp的节点红色的exec节点来实现的。我想将此温度值作为数字发送到 Watson IOT 节点,但我的exec节点将CPU温度返回为“temp=45.2C”。我尝试使用论坛上提供的解决方案

msg.payload={"temp":msg.payload.replace("temp=","").replace("'C\n","")};

但是当我提交解决方案时,评分者仍然将O / P视为字符串而不是数字,我该怎么做才能将msg.payload O/P转换为数字?

1 个答案:

答案 0 :(得分:4)

我敢打赌你在做Coursera课程。

也许你没有func check(_ id: int_fast64_t) -> Bool { var status = false Alamofire.request(urlCheckUpLicense, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: nil).responseJSON { (response: DataResponse<Any>) in switch(response.result) { case .success(_): if response.result.value != nil { print( "test...", response.result.value ?? "success") if let JSON = response.result.value { print( "type of Json = ", type(of: JSON)) if let dict = JSON as? NSDictionary { sta = Int(dict.value(forKey: "status_code") as! int_fast64_t) if sta == 200 { status = true } else { status = false } } } } break case .failure(_): print(response.result.error ?? "Error") break } } return status // it always return before Alamofire.request is finished. } 字符串?您执行的converted(parse)命令是删除不必要的replace(),实际上它仍然是string

因此,您可以考虑将stringparseInt()用于剩余的&#34; parseFloat()&#34;。

http://www.w3schools.com/jsref/jsref_parseint.asp