|
@@ -25,6 +25,42 @@ type jsonPacket struct {
|
|
|
Temperature_F float64
|
|
|
}
|
|
|
|
|
|
+func checkTemperature(writer temperature.Writer) {
|
|
|
+ resp, err := http.Get(*host)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer resp.Body.Close()
|
|
|
+ contents, err := ioutil.ReadAll(resp.Body)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ buffer := []byte(contents)
|
|
|
+ if json.Valid(buffer) {
|
|
|
+ var jsonPacket jsonPacket
|
|
|
+
|
|
|
+ err := json.Unmarshal(buffer, &jsonPacket)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if strings.Contains(strings.ToLower(string(contents)), "_f") {
|
|
|
+ jsonPacket.Temperature_C = (jsonPacket.Temperature_F - 32) * 5 / 9
|
|
|
+ }
|
|
|
+
|
|
|
+ fmt.Printf("Celcius: %f. Fahrenheit: %f \n", jsonPacket.Temperature_C, jsonPacket.Temperature_F)
|
|
|
+ measurement := temperature.Measurement{Temperature: jsonPacket.Temperature_C, BatteryState: temperature.BATT_NOT_AVAILABLE, ID: 0}
|
|
|
+ err = writer.Write(measurement)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
func main() {
|
|
|
host = flag.String("host", "http://localhost:80", "Http address (http://localhost:80)")
|
|
|
db = flag.String("db", "temperature", "Influxdb database")
|
|
@@ -42,39 +78,7 @@ func main() {
|
|
|
return
|
|
|
}
|
|
|
for {
|
|
|
- resp, err := http.Get(*host)
|
|
|
- if err != nil {
|
|
|
- fmt.Println(err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- defer resp.Body.Close()
|
|
|
- contents, err := ioutil.ReadAll(resp.Body)
|
|
|
- if err != nil {
|
|
|
- fmt.Println(err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- buffer := []byte(contents)
|
|
|
- if json.Valid(buffer) {
|
|
|
- var jsonPacket jsonPacket
|
|
|
-
|
|
|
- err := json.Unmarshal(buffer, &jsonPacket)
|
|
|
- if err != nil {
|
|
|
- fmt.Println(err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- if strings.Contains(strings.ToLower(string(contents)), "_f") {
|
|
|
- jsonPacket.Temperature_C = (jsonPacket.Temperature_F - 32) * 5 / 9
|
|
|
- }
|
|
|
-
|
|
|
- fmt.Printf("Celcius: %f. Fahrenheit: %f \n", jsonPacket.Temperature_C, jsonPacket.Temperature_F)
|
|
|
- measurement := temperature.Measurement{Temperature: jsonPacket.Temperature_C, BatteryState: temperature.BATT_NOT_AVAILABLE, ID: 0}
|
|
|
- err = writer.Write(measurement)
|
|
|
- if err != nil {
|
|
|
- fmt.Println(err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
+ checkTemperature(writer)
|
|
|
time.Sleep(time.Duration(*seconds) * time.Second)
|
|
|
}
|
|
|
}
|