1
0
Fork 0
mirror of https://github.com/kidoman/embd synced 2025-07-04 20:37:46 +02:00
This commit is contained in:
Max Matveev 2016-02-06 00:13:54 -08:00
parent af12e6fa5d
commit 7054cdbeea
2 changed files with 224 additions and 0 deletions

78
samples/ds18b20.go Normal file
View file

@ -0,0 +1,78 @@
// +build ignore
package main
import (
"fmt"
"strings"
"github.com/zlowred/embd"
"github.com/zlowred/embd/sensor/ds18b20"
_ "github.com/zlowred/embd/host/rpi"
)
func main() {
if err := embd.InitW1(); err != nil {
panic(err)
}
defer embd.CloseW1()
w1 := embd.NewW1Bus(0)
devs, err := w1.ListDevices()
if err != nil {
panic(err)
}
var name string = ""
for _, dev := range devs {
if strings.HasPrefix(dev, "28-") {
name = dev
break
}
}
if name == "" {
fmt.Println("No DS18B20 devices found")
}
fmt.Printf("Using DS18B20 device %s\n", name)
w1d, err := w1.Open(name)
if err != nil {
panic(err)
}
sensor := ds18b20.New(w1d)
err = sensor.SetResolution(ds18b20.Resolution_12bit)
if err != nil {
panic(err)
}
err = sensor.ReadTemperature()
if err != nil {
panic(err)
}
fmt.Printf("Measured temperature: %vC\n", sensor.Celsius())
fmt.Printf("Measured temperature: %vF\n", sensor.Fahrenheit())
err = sensor.SetResolution(ds18b20.Resolution_9bit)
if err != nil {
panic(err)
}
err = sensor.ReadTemperature()
if err != nil {
panic(err)
}
fmt.Printf("Measured temperature: %vC\n", sensor.Celsius())
fmt.Printf("Measured temperature: %vF\n", sensor.Fahrenheit())
}