Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@elizabethn119
Created October 7, 2019 19:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save elizabethn119/c1ab0313c57d1cd5e2f3e3fed32cd7d3 to your computer and use it in GitHub Desktop.
Save elizabethn119/c1ab0313c57d1cd5e2f3e3fed32cd7d3 to your computer and use it in GitHub Desktop.
import os
import glob
import time
from ISStreamer.Streamer import Streamer
streamer = Streamer(bucket_name="Temperature Stream", bucket_key="piot_temp_stream031815", access_key="PUT_YOUR_ACCESS_KEY_HERE")
os.system('modprobe w1-gpio')
os.system('modprobe w1-therm')
base_dir = '/sys/bus/w1/devices/'
device_folder = glob.glob(base_dir + '28*')[0]
device_file = device_folder + '/w1_slave'
def read_temp_raw():
f = open(device_file, 'r')
lines = f.readlines()
f.close()
return lines
def read_temp():
lines = read_temp_raw()
while lines[0].strip()[-3:] != 'YES':
time.sleep(0.2)
lines = read_temp_raw()
equals_pos = lines[1].find('t=')
if equals_pos != -1:
temp_string = lines[1][equals_pos+2:]
temp_c = float(temp_string) / 1000.0
return temp_c
while True:
temp_c = read_temp()
temp_f = temp_c * 9.0 / 5.0 + 32.0
streamer.log("temperature (C)", temp_c)
streamer.log("temperature (F)", temp_f)
time.sleep(.5)
@danielrmorris
Copy link

Hi Elizabeth,
I am using your code above to monitor temperatures and the program works perfectly! I am so new at working with python and raspberry pi and your article was informative and easy to follow.

When I run the temperature.py program, my initial state data bucket (I named it "Temperature Stream") displays two graphs Celsius and Fahrenheit.

I would like to monitor multiple sensors. I am starting with two. I am using the DSB18B20 solution and I have added one additional sensor that shows up in the /sys/bus/w1/devices/ folder. (now two sub folders appear with names starting with "28"-".

how can I modify the temperature.py code to see both sensors or if that is not the way to do it, do I do something in my initialstate data bucket? I know it is probably a no-no, but I have displayed the temperature.py code with my initialstate access_key below.


import os
import glob
import time
from ISStreamer.Streamer import Streamer

streamer = Streamer(bucket_name="Temperature Stream", bucket_key="piot_temp_stream031815", access_key=ist_ORc4ZZ_nl0M5bolOx-fdO80GNoKNSRuC)

os.system('modprobe w1-gpio')
os.system('modprobe w1-therm')

base_dir = '/sys/bus/w1/devices/'
device_folder = glob.glob(base_dir + '28*')[0]
device_file = device_folder + '/w1_slave'

def read_temp_raw():
f = open(device_file, 'r')
lines = f.readlines()
f.close()
return lines

def read_temp():
lines = read_temp_raw()
while lines[0].strip()[-3:] != 'YES':
time.sleep(0.2)
lines = read_temp_raw()
equals_pos = lines[1].find('t=')
if equals_pos != -1:
temp_string = lines[1][equals_pos+2:]
temp_c = float(temp_string) / 1000.0
return temp_c

while True:
temp_c = read_temp()
temp_f = temp_c * 9.0 / 5.0 + 32.0
streamer.log("temperature (C)", temp_c)
streamer.log("temperature (F)", temp_f)
time.sleep(.5)


I appreciate any help.

Daniel Morris

@elizabethn119
Copy link
Author

elizabethn119 commented Aug 18, 2020 via email

@danielrmorris
Copy link

danielrmorris commented Aug 18, 2020 via email

@elizabethn119
Copy link
Author

elizabethn119 commented Aug 18, 2020 via email

@lampe208
Copy link

Hi, im totally lost in the code. I have the exact same request. I have one sensor , works great. I want to add another sensor. I tried to follow that code and add your things,..but I get lost in it. Can you give me a different pasted code I can just cut and paste and then enter my serial numbers manually.. ? Thanks tom.

@elizabethn119
Copy link
Author

elizabethn119 commented Jan 24, 2022 via email

@lampe208
Copy link

lampe208 commented Jan 25, 2022 via email

@elizabethn119
Copy link
Author

elizabethn119 commented Jan 25, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment