{"success":true,"message":"ok","data":{"service":"sensor-hub-v4","description":"ESP32 传感器数据接收站","ingest_url":"/project/p4/api/ingest.php","stream_url":"/project/p4/api/stream.php","server_time":"2026-09-13 13:20:20","server_ts":1789276820,"total":11500,"devices":[{"device":"esp32-01","count":11089,"last_time":"2026-09-09 18:36:06","last_ts":1788950166,"latest":{"id":11500,"device":"esp32-01","payload":{"device":"esp32-01","temp":0,"humi":0,"mq2":192,"water_temp":-127,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-58},"time":"2026-09-09 18:36:06","ts":1788950166},"status":{"device":"esp32-01","type":"status","uptime_ms":2420,"rssi":-37,"mods":{"esp32":1,"sht30":0,"mq2":1,"ds18b20":0,"gps":1,"wifi":1},"gps_chars":1,"gps_fix":0,"gps_sats":0,"gps_hdop":99,"boot":{"sht30":"missing","ds18b20":"missing","mq2":"ok","gps":"detected"}},"status_ts":1788950138,"hour_avg":null}],"readings":[{"id":11500,"device":"esp32-01","payload":{"device":"esp32-01","temp":0,"humi":0,"mq2":192,"water_temp":-127,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-58},"time":"2026-09-09 18:36:06","ts":1788950166},{"id":11499,"device":"esp32-01","payload":{"device":"esp32-01","temp":0,"humi":0,"mq2":201,"water_temp":-127,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-38},"time":"2026-09-09 18:35:56","ts":1788950156},{"id":11498,"device":"esp32-01","payload":{"device":"esp32-01","temp":0,"humi":0,"mq2":178,"water_temp":-127,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-37},"time":"2026-09-09 18:35:46","ts":1788950146},{"id":11495,"device":"esp32-01","payload":{"device":"esp32-01","temp":26.16,"humi":70.01,"mq2":0,"water_temp":25.69,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-38},"time":"2026-09-09 12:17:20","ts":1788927440},{"id":11493,"device":"esp32-01","payload":{"device":"esp32-01","temp":26.13,"humi":70.11,"mq2":0,"water_temp":25.69,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-36},"time":"2026-09-09 12:17:09","ts":1788927429},{"id":11492,"device":"esp32-01","payload":{"device":"esp32-01","temp":26.11,"humi":70.18,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-37},"time":"2026-09-09 12:16:59","ts":1788927419},{"id":11491,"device":"esp32-01","payload":{"device":"esp32-01","temp":26.13,"humi":70.11,"mq2":0,"water_temp":25.69,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-35},"time":"2026-09-09 12:16:48","ts":1788927408},{"id":11490,"device":"esp32-01","payload":{"device":"esp32-01","temp":26.11,"humi":70.29,"mq2":0,"water_temp":25.69,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-35},"time":"2026-09-09 12:16:37","ts":1788927397},{"id":11489,"device":"esp32-01","payload":{"device":"esp32-01","temp":26.05,"humi":70.42,"mq2":0,"water_temp":25.69,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-35},"time":"2026-09-09 12:16:26","ts":1788927386},{"id":11488,"device":"esp32-01","payload":{"device":"esp32-01","temp":26.08,"humi":70.33,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-44},"time":"2026-09-09 12:16:15","ts":1788927375},{"id":11486,"device":"esp32-01","payload":{"device":"esp32-01","temp":26.04,"humi":70.45,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-36},"time":"2026-09-09 12:16:04","ts":1788927364},{"id":11485,"device":"esp32-01","payload":{"device":"esp32-01","temp":26,"humi":70.24,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-36},"time":"2026-09-09 12:15:55","ts":1788927355},{"id":11484,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.98,"humi":70.4,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-37},"time":"2026-09-09 12:15:43","ts":1788927343},{"id":11483,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.96,"humi":70.64,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-42},"time":"2026-09-09 12:15:33","ts":1788927333},{"id":11482,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.97,"humi":70.18,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-44},"time":"2026-09-09 12:15:22","ts":1788927322},{"id":11480,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.98,"humi":70.02,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-35},"time":"2026-09-09 12:15:11","ts":1788927311},{"id":11479,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.98,"humi":69.82,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-37},"time":"2026-09-09 12:15:00","ts":1788927300},{"id":11478,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.94,"humi":69.76,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-37},"time":"2026-09-09 12:14:49","ts":1788927289},{"id":11477,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.91,"humi":69.88,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-37},"time":"2026-09-09 12:14:39","ts":1788927279},{"id":11476,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.93,"humi":69.76,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-37},"time":"2026-09-09 12:14:28","ts":1788927268},{"id":11475,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.9,"humi":69.68,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-37},"time":"2026-09-09 12:14:17","ts":1788927257},{"id":11473,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.84,"humi":69.79,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-36},"time":"2026-09-09 12:14:06","ts":1788927246},{"id":11472,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.84,"humi":69.73,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-36},"time":"2026-09-09 12:13:55","ts":1788927235},{"id":11471,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.83,"humi":69.5,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-37},"time":"2026-09-09 12:13:45","ts":1788927225},{"id":11470,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.81,"humi":69.3,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-37},"time":"2026-09-09 12:13:34","ts":1788927214},{"id":11469,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.86,"humi":69.02,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-37},"time":"2026-09-09 12:13:23","ts":1788927203},{"id":11468,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.81,"humi":69.08,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-37},"time":"2026-09-09 12:13:12","ts":1788927192},{"id":11466,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.83,"humi":68.84,"mq2":0,"water_temp":25.56,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-36},"time":"2026-09-09 12:13:00","ts":1788927180},{"id":11465,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.79,"humi":68.77,"mq2":0,"water_temp":25.56,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-37},"time":"2026-09-09 12:12:49","ts":1788927169},{"id":11464,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.75,"humi":68.73,"mq2":0,"water_temp":25.56,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-38},"time":"2026-09-09 12:12:38","ts":1788927158},{"id":11463,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.76,"humi":68.28,"mq2":0,"water_temp":25.56,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-38},"time":"2026-09-09 12:12:27","ts":1788927147},{"id":11462,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.73,"humi":68.18,"mq2":0,"water_temp":25.56,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-37},"time":"2026-09-09 12:12:16","ts":1788927136},{"id":11460,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.76,"humi":67.76,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-36},"time":"2026-09-09 12:12:06","ts":1788927126},{"id":11459,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.7,"humi":67.68,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-37},"time":"2026-09-09 12:11:55","ts":1788927115},{"id":11458,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.7,"humi":67.61,"mq2":0,"water_temp":25.56,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-33},"time":"2026-09-09 12:11:44","ts":1788927104},{"id":11457,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.69,"humi":67.17,"mq2":0,"water_temp":25.56,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-35},"time":"2026-09-09 12:11:33","ts":1788927093},{"id":11456,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.65,"humi":67.09,"mq2":0,"water_temp":25.56,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-35},"time":"2026-09-09 12:11:24","ts":1788927084},{"id":11455,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.66,"humi":66.76,"mq2":0,"water_temp":25.56,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-32},"time":"2026-09-09 12:11:13","ts":1788927073},{"id":11453,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.62,"humi":66.3,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-34},"time":"2026-09-09 12:11:02","ts":1788927062},{"id":11452,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.56,"humi":65.83,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-32},"time":"2026-09-09 12:10:51","ts":1788927051},{"id":11451,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.59,"humi":65.24,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-30},"time":"2026-09-09 12:10:40","ts":1788927040},{"id":11450,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.57,"humi":65.03,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-35},"time":"2026-09-09 12:10:29","ts":1788927029},{"id":11449,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.57,"humi":64.88,"mq2":0,"water_temp":25.62,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-35},"time":"2026-09-09 12:10:18","ts":1788927018},{"id":11447,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.57,"humi":63.43,"mq2":0,"water_temp":25.69,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-34},"time":"2026-09-09 12:10:07","ts":1788927007},{"id":11446,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.53,"humi":63.43,"mq2":0,"water_temp":25.69,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-35},"time":"2026-09-09 12:09:56","ts":1788926996},{"id":11445,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.53,"humi":62.76,"mq2":0,"water_temp":25.69,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-34},"time":"2026-09-09 12:09:46","ts":1788926986},{"id":11444,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.6,"humi":61.84,"mq2":0,"water_temp":25.75,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-35},"time":"2026-09-09 12:09:35","ts":1788926975},{"id":11443,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.6,"humi":61.27,"mq2":0,"water_temp":25.75,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-34},"time":"2026-09-09 12:09:24","ts":1788926964},{"id":11442,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.6,"humi":60.11,"mq2":0,"water_temp":25.81,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-34},"time":"2026-09-09 12:09:13","ts":1788926953},{"id":11440,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.6,"humi":59.63,"mq2":0,"water_temp":25.81,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-34},"time":"2026-09-09 12:09:02","ts":1788926942},{"id":11439,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.56,"humi":59.5,"mq2":0,"water_temp":25.88,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-34},"time":"2026-09-09 12:08:52","ts":1788926932},{"id":11438,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.72,"humi":59.93,"mq2":0,"water_temp":25.94,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-34},"time":"2026-09-09 12:08:41","ts":1788926921},{"id":11437,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.69,"humi":59.81,"mq2":0,"water_temp":26,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-34},"time":"2026-09-09 12:08:30","ts":1788926910},{"id":11436,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.73,"humi":61.11,"mq2":0,"water_temp":26.06,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-33},"time":"2026-09-09 12:08:19","ts":1788926899},{"id":11435,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.76,"humi":61.12,"mq2":0,"water_temp":26.06,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-33},"time":"2026-09-09 12:08:08","ts":1788926888},{"id":11433,"device":"esp32-01","payload":{"device":"esp32-01","temp":25.84,"humi":60.67,"mq2":0,"water_temp":26.12,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-35},"time":"2026-09-09 12:07:58","ts":1788926878},{"id":11432,"device":"esp32-01","payload":{"device":"esp32-01","temp":26.05,"humi":62.12,"mq2":0,"water_temp":26.19,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-36},"time":"2026-09-09 12:07:47","ts":1788926867},{"id":11431,"device":"esp32-01","payload":{"device":"esp32-01","temp":26.1,"humi":61.81,"mq2":0,"water_temp":26.19,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-36},"time":"2026-09-09 12:07:36","ts":1788926856},{"id":11430,"device":"esp32-01","payload":{"device":"esp32-01","temp":26.24,"humi":61.97,"mq2":0,"water_temp":26.25,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-36},"time":"2026-09-09 12:07:25","ts":1788926845},{"id":11429,"device":"esp32-01","payload":{"device":"esp32-01","temp":26.38,"humi":63.02,"mq2":0,"water_temp":26.31,"lat":0,"lng":0,"gps_sats":0,"gps_hdop":99,"rssi":-33},"time":"2026-09-09 12:07:14","ts":1788926834}]}}