Esempio n. 1
0
        public async Task DS18B20SicaklikOku()
        {
            try
            {
                string busId    = OneWireBus.EnumerateBusIds().First();
                string deviceId = OneWireDevice.EnumerateDeviceIds().First().devId;
                OneWireThermometerDevice ds18B20Dev = new OneWireThermometerDevice(busId, deviceId);
                Temperature sicaklik = await ds18B20Dev.ReadTemperatureAsync();

                Sicaklik = sicaklik.Celsius;
            }
            catch (Exception hata)
            {
                SonHata = hata;
            }
        }
        public async Task <decimal> ReadTemperature()
        {
            if (oneWireThermometerDevice == null)
            {
                Console.WriteLine("Cannot find any device -> -100");
                return(await Task.FromResult(-100m));
            }

            Stopwatch s    = Stopwatch.StartNew();
            var       temp = await oneWireThermometerDevice.ReadTemperatureAsync();

            var temperatureInCelsius = (decimal)temp.Celsius;

            s.Stop();
            Console.WriteLine($"Reading of temperature took {s.ElapsedMilliseconds} milliseconds");
            return(temperatureInCelsius);
        }
Esempio n. 3
0
        public static async Task Main(string[] args)
        {
            // Make sure you can access the bus device before requesting a device scan (or run using sudo)
            // $ sudo chmod a+rw /sys/bus/w1/devices/w1_bus_master1/w1_master_*
            if (args.Any(_ => _ == "temp"))
            {
                // Quick and simple way to find a thermometer and print the temperature
                foreach (var dev in OneWireThermometerDevice.EnumerateDevices())
                {
                    Console.WriteLine($"Temperature reported by '{dev.DeviceId}': " +
                                      (await dev.ReadTemperatureAsync()).DegreesCelsius.ToString("F2") + "\u00B0C");
                }
            }
            else
            {
                // More advanced way, with rescanning the bus and iterating devices per 1-wire bus
                foreach (var busId in OneWireBus.EnumerateBusIds())
                {
                    var bus = new OneWireBus(busId);
                    Console.WriteLine($"Found bus '{bus.BusId}', scanning for devices ...");
                    await bus.ScanForDeviceChangesAsync();

                    foreach (var devId in bus.EnumerateDeviceIds())
                    {
                        var dev = new OneWireDevice(busId, devId);
                        Console.WriteLine($"Found family '{dev.Family}' device '{dev.DeviceId}' on '{bus.BusId}'");
                        if (OneWireThermometerDevice.IsCompatible(busId, devId))
                        {
                            var devTemp = new OneWireThermometerDevice(busId, devId);
                            Console.WriteLine("Temperature reported by device: " +
                                              (await devTemp.ReadTemperatureAsync()).DegreesCelsius.ToString("F2") +
                                              "\u00B0C");
                        }
                    }
                }
            }
        }