ฉันมีช่องค้นหาคำตอบสำหรับคำถามของฉัน แต่ไม่พบหรือดีกว่าบอกว่าฉันไม่ได้รับสิ่งที่ฉันพบ ดังนั้นให้พูดคุยเกี่ยวกับสิ่งที่เป็นปัญหาของฉัน ฉันกำลังใช้ซอฟต์แวร์ควบคุมสมาร์ทโฮมกับ Raspberry Pi และเมื่อฉันพบว่าเมื่อสุดสัปดาห์นี้ด้วยการรับ pilight ฉันสามารถจับข้อมูลจากเซ็นเซอร์วัดอุณหภูมิภายนอกของฉันได้ ผลลัพธ์ของการได้รับ pilight ดูเหมือนว่า:
{
"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
}
ตอนนี้คำถามของฉันกับคุณ: วิธี heck ฉันสามารถแยกอุณหภูมิและความชื้นจากที่ id คือ 1490 และคุณจะแนะนำให้ฉันตรวจสอบนี้บ่อย? โดยงาน cron ที่รันทุก 10 นาทีสร้างเอาต์พุตของ pilight-accept, แยกข้อมูลของเอาต์พุตและส่งไปยัง Smart Home Control Api
ใครบางคนมีความคิด - ขอบคุณมาก
awk
และsed
ให้เอาต์พุต JSON ยังคงรูปแบบที่แสดงที่นี่ซึ่งไม่จำเป็น - ช่องว่างไม่สำคัญสำหรับ JSON ตัวอย่างเช่นawk
คำสั่งนี้: awk '/temperature|humidity/ {print $2}'
ปิด