나는 내 질문에 대한 해결책을 찾고있는 빈을 가지고 있지만 더 나은 것을 찾지 못했다. 내 문제에 대해 이야기 해 봅시다. Raspberry Pi에서 Smart Home Control Software를 사용하고 있으며 이번 주말에 pilight-receive를 사용하면 실외 온도 센서에서 데이터를 수집 할 수 있습니다. pilight-receive의 출력은 다음과 같습니다.
{
"message": {
"id": 4095,
"temperature": 409.5
},
"origin": "receiver",
"protocol": "alecto_wsd17",
"uuid": "0000-b8-27-eb-0f3db7",
"repeats": 3
}
{
"message": {
"id": 1490,
"temperature": 25.1,
"humidity": 40.0,
"battery": 1
},
"origin": "receiver",
"protocol": "alecto_ws1700",
"uuid": "0000-b8-27-eb-0f3db7",
"repeats": 3
}
{
"message": {
"id": 2039,
"temperature": 409.5
},
"origin": "receiver",
"protocol": "alecto_wsd17",
"uuid": "0000-b8-27-eb-0f3db7",
"repeats": 4
}
이제 당신에게 내 질문 : ID가 1490 인 곳에서 온도와 습도를 어떻게 추출 할 수 있습니까? 그리고 이것을 자주 확인하도록 어떻게 권장합니까? 10 분마다 실행되는 크론 작업에 의해, pilight-receive의 출력을 작성하고, 출력 데이터를 추출하여 Smart Home Control Api로 푸시합니다.
아이디어가있는 사람-많은 감사
awk
및 sed
json으로 출력을 제공는 여기에 표시 서식을 유지하는 그것은 필요가 없다 - 공백 중요하지 않습니다 JSON하십시오. 예를 들어 다음 awk
명령 awk '/temperature|humidity/ {print $2}'
은 close입니다.