Add publishMeasurementAutoServer()

This commit is contained in:
Awin Huang
2024-05-15 09:41:26 +08:00
parent 803ff2e41a
commit dccecd6417
8 changed files with 57 additions and 7 deletions

View File

@@ -150,7 +150,8 @@ class KirbyDevice(
payload = Payload(measurement.toString())
Log.i("BleListener", "Char received: $payload")
val base64Payload = Base64.getEncoder().encodeToString(characteristic.value)
publishMeasurement(base64Payload)
// publishMeasurement(base64Payload)
publishMeasurementAutoServer(measurement)
loggerDb.writeLog(measurement)
}
@@ -194,6 +195,46 @@ class KirbyDevice(
queue.add(request)
}
private fun publishMeasurementAutoServer(measurement: DecoderIaq.Measurement) {
val accessKey = BuildConfig.API_KEY
val url = BuildConfig.API_BASE_URL
if(url.isEmpty()) {
return
}
val eui = "0000${bleDevice.address.replace(":", "")}"
val postData = JSONObject()
try {
// Log.i("POST", "Transmitting for $eui: $payload")
postData.put("accessKey", "${accessKey}_fromAndroid")
postData.put("eui", eui)
postData.put("deviceId", measurement.deviceId)
postData.put("msgType", measurement.msgType)
postData.put("co2", measurement.co2)
postData.put("voc", measurement.voc)
postData.put("humidity", measurement.humidity)
postData.put("temperature", measurement.temperature)
postData.put("pressure", measurement.pressure)
postData.put("occupancy", measurement.occupancy)
postData.put("pm25", measurement.pm25)
postData.put("pm10", measurement.pm10)
} catch (e: JSONException) {
e.printStackTrace()
}
val request = JsonObjectRequest(
Request.Method.POST, url, postData,
{ response ->
Log.i("sendDataResponse", "Response is: $response")
}
) { error -> error.printStackTrace() }
queue.add(request)
}
private val measurements = ArrayList<Payload>()
private val maxMeasurements = 20