Onewire for the pi?

well then… trying to do more than just blinking LEDs … but as soon as i include the onewire-lib i can neither verify nor flash to the pi - error-messages are way over my noob’s head :confused:

am i right in assuming that libraries would have to be adapted for the pi?

is there any list what should work - what doesn’t?

Paging @jvanier

4 Likes

I confirmed that my Pi3 was seeing the DS18B20 with some Python code that was posted on AdaFruit.
see https://learn.adafruit.com/adafruits-raspberry-pi-lesson-11-ds18b20-temperature-sensing/overview. The tutorial presumes that you plug the DS18B20 into gpio 4 (AKA D0).

This successfully shows the temperature.

There are several libraries for OneWire and DS1820B. Only one compiles completely. It is found here
https://github.com/MORA99/particle-ds18x20

Any thoughts? I tried to use the supplied sample code, and switched from parasitic power
DS18X20_start_meas( DS18X20_POWER_PARASITE, NULL );

to

DS18X20_start_meas( DS18X20_POWER_EXTERN, NULL );

I took this approach a little further using
Process Control

Process::run as follows from the Process::out example

// Get the temperature
Process proc = Process::run(“cat /sys/bus/w1/devices/28-0000076009fc/w1_slave”);proc.wait();
// The output is temp=43.5’C, so read past the = and parse the number
proc.out().find(“t=”);
float cpuTemp = proc.out().parseFloat();

Particle.publish(“temperature”, String(cpuTemp/1000.0));

It worked nicely. Your address will vary, but it will be 28- …