Created
October 7, 2019 19:50
-
-
Save elizabethn119/c1ab0313c57d1cd5e2f3e3fed32cd7d3 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |
Hi Daniel,
I don't have two ds18b20 sensors to test this Python script against, but you will need to do something like the script attached (untested, could be cleaned up). This script hardcodes the two ds18b20 serial numbers and adds a parameter to the two functions to choose which sensor to read. The streamer.log statements send data from the different sensors to different data streams. Let me know if this helps at least push you in the right direction.
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')
# Serial numbers are hard-coded
base_dir = '/sys/bus/w1/devices/'
device_folder1 = glob.glob(base_dir + '28-0120191bb3f3')[0]
device_file1 = device_folder1 + '/w1_slave'
device_folder2 = glob.glob(base_dir + '28-0120191cfc09')[0]
device_file2 = device_folder2 + '/w1_slave'
def read_temp_raw(device_num):
if device_num == 1:
f = open(device_file1, 'r')
else
f = open(device_file2, 'r')
lines = f.read
f.close()
return lines
def read_temp(device_num):
lines = read_temp_raw(device_num)
while lines[0].strip()[-3:] != 'YES':
time.sleep(0.2)
lines = read_temp_raw(device_num)
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:
# Read sensor 1
temp_c = read_temp(1)
temp_f = temp_c * 9.0 / 5.0 + 32.0
streamer.log("temperature1 (C)", temp_c)
streamer.log("temperature1 (F)", temp_f)
# Read sensor 2
temp_c = read_temp(2)
temp_f = temp_c * 9.0 / 5.0 + 32.0
streamer.log("temperature2 (C)", temp_c)
streamer.log("temperature2 (F)", temp_f)
# Flush the streamer to update immediately
streamer.flush()
time.sleep(.5)
Thanks,
Elizabeth Adams
Product Evangelist
[email protected]
… On Aug 15, 2020, at 9:14 AM, danielrmorris ***@***.***> wrote:
@danielrmorris commented on this gist.
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
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Hi Elizabeth,
I cannot tell you how much I really appreciate this. You’ve gone above and
beyond.
I will work on this later this week. I am such a new programmer,
(56-year-old “recovering attorney“ self tight). I’m not sure if you would
like to see any successful code down the line. If you would, I will send it
to you and see what you think.
Again, you’ve gone above and beyond and I cannot express my gratitude
enough.
Daniel
On Tue, Aug 18, 2020 at 11:43 AM Elizabeth Adams <[email protected]>
wrote:
***@***.**** commented on this gist.
------------------------------
Hi Daniel,
I don't have two ds18b20 sensors to test this Python script against, but
you will need to do something like the script attached (untested, could be
cleaned up). This script hardcodes the two ds18b20 serial numbers and adds
a parameter to the two functions to choose which sensor to read. The
streamer.log statements send data from the different sensors to different
data streams. Let me know if this helps at least push you in the right
direction.
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')
# Serial numbers are hard-coded
base_dir = '/sys/bus/w1/devices/'
device_folder1 = glob.glob(base_dir + '28-0120191bb3f3')[0]
device_file1 = device_folder1 + '/w1_slave'
device_folder2 = glob.glob(base_dir + '28-0120191cfc09')[0]
device_file2 = device_folder2 + '/w1_slave'
def read_temp_raw(device_num):
if device_num == 1:
f = open(device_file1, 'r')
else
f = open(device_file2, 'r')
lines = f.read
f.close()
return lines
def read_temp(device_num):
lines = read_temp_raw(device_num)
while lines[0].strip()[-3:] != 'YES':
time.sleep(0.2)
lines = read_temp_raw(device_num)
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:
# Read sensor 1
temp_c = read_temp(1)
temp_f = temp_c * 9.0 / 5.0 + 32.0
streamer.log("temperature1 (C)", temp_c)
streamer.log("temperature1 (F)", temp_f)
# Read sensor 2
temp_c = read_temp(2)
temp_f = temp_c * 9.0 / 5.0 + 32.0
streamer.log("temperature2 (C)", temp_c)
streamer.log("temperature2 (F)", temp_f)
# Flush the streamer to update immediately
streamer.flush()
time.sleep(.5)
Thanks,
Elizabeth Adams
Product Evangelist
***@***.***
> On Aug 15, 2020, at 9:14 AM, danielrmorris ***@***.***>
wrote:
>
> @danielrmorris commented on this gist.
> 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
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub, or unsubscribe.
>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<https://gist.github.com/c1ab0313c57d1cd5e2f3e3fed32cd7d3#gistcomment-3421955>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AM6G65XKBYW2ZDE5JN7EZXDSBKOTVANCNFSM4QAJNFFA>
.
--
Daniel R. Morris, Esq. Innovation, Technology and Business Solutions, LLC
1100 Exploration Way Suite 302H Hampton, VA 23666 113 Port Royal
Williamsburg, VA 23188 757-793-1333
Hi Daniel,
It’s never too late to start! Let me know once you have this working, I’d love to see any temperature dashboards you create. Feel free to reach out with any questions. As someone who only got really into Python about two years ago, I understand.
Thanks,
Elizabeth Adams
Product Evangelist
[email protected]
… On Aug 18, 2020, at 11:39 AM, Daniel Morris ***@***.***> wrote:
@danielrmorris commented on this gist.
Hi Elizabeth,
I cannot tell you how much I really appreciate this. You’ve gone above and
beyond.
I will work on this later this week. I am such a new programmer,
(56-year-old “recovering attorney“ self tight). I’m not sure if you would
like to see any successful code down the line. If you would, I will send it
to you and see what you think.
Again, you’ve gone above and beyond and I cannot express my gratitude
enough.
Daniel
On Tue, Aug 18, 2020 at 11:43 AM Elizabeth Adams ***@***.***>
wrote:
> ***@***.**** commented on this gist.
> ------------------------------
>
>
>
> Hi Daniel,
>
>
>
>
>
>
>
> I don't have two ds18b20 sensors to test this Python script against, but
> you will need to do something like the script attached (untested, could be
> cleaned up). This script hardcodes the two ds18b20 serial numbers and adds
> a parameter to the two functions to choose which sensor to read. The
> streamer.log statements send data from the different sensors to different
> data streams. Let me know if this helps at least push you in the right
> direction.
>
>
>
>
>
>
>
>
>
>
>
> 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')
>
>
>
>
>
>
>
> # Serial numbers are hard-coded
>
>
>
> base_dir = '/sys/bus/w1/devices/'
>
>
>
> device_folder1 = glob.glob(base_dir + '28-0120191bb3f3')[0]
>
>
>
> device_file1 = device_folder1 + '/w1_slave'
>
>
>
> device_folder2 = glob.glob(base_dir + '28-0120191cfc09')[0]
>
>
>
> device_file2 = device_folder2 + '/w1_slave'
>
>
>
>
>
>
>
> def read_temp_raw(device_num):
>
>
>
> if device_num == 1:
>
>
>
> f = open(device_file1, 'r')
>
>
>
> else
>
>
>
> f = open(device_file2, 'r')
>
>
>
> lines = f.read
>
>
>
> f.close()
>
>
>
> return lines
>
>
>
>
>
>
>
> def read_temp(device_num):
>
>
>
> lines = read_temp_raw(device_num)
>
>
>
> while lines[0].strip()[-3:] != 'YES':
>
>
>
> time.sleep(0.2)
>
>
>
> lines = read_temp_raw(device_num)
>
>
>
> 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:
>
>
>
> # Read sensor 1
>
>
>
> temp_c = read_temp(1)
>
>
>
> temp_f = temp_c * 9.0 / 5.0 + 32.0
>
>
>
> streamer.log("temperature1 (C)", temp_c)
>
>
>
> streamer.log("temperature1 (F)", temp_f)
>
>
>
>
>
>
>
> # Read sensor 2
>
>
>
> temp_c = read_temp(2)
>
>
>
> temp_f = temp_c * 9.0 / 5.0 + 32.0
>
>
>
> streamer.log("temperature2 (C)", temp_c)
>
>
>
> streamer.log("temperature2 (F)", temp_f)
>
>
>
>
>
>
>
> # Flush the streamer to update immediately
>
>
>
> streamer.flush()
>
>
>
> time.sleep(.5)
>
>
>
>
>
>
>
>
>
>
>
> Thanks,
>
>
>
> Elizabeth Adams
>
>
>
> Product Evangelist
>
>
>
> ***@***.***
>
>
>
>
>
>
>
> > On Aug 15, 2020, at 9:14 AM, danielrmorris ***@***.***>
> wrote:
>
>
>
> >
>
>
>
> > @danielrmorris commented on this gist.
>
>
>
> > 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
>
>
>
> >
>
>
>
> > —
>
>
>
> > You are receiving this because you authored the thread.
>
>
>
> > Reply to this email directly, view it on GitHub, or unsubscribe.
>
>
>
> >
>
>
>
>
>
>
>
>
>
>
>
>
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://gist.github.com/c1ab0313c57d1cd5e2f3e3fed32cd7d3#gistcomment-3421955>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AM6G65XKBYW2ZDE5JN7EZXDSBKOTVANCNFSM4QAJNFFA>
> .
>
>
>
> --
Daniel R. Morris, Esq. Innovation, Technology and Business Solutions, LLC
1100 Exploration Way Suite 302H Hampton, VA 23666 113 Port Royal
Williamsburg, VA 23188 757-793-1333
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <https://gist.github.com/c1ab0313c57d1cd5e2f3e3fed32cd7d3#gistcomment-3422004>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AKILQXAUX4UBCN5KIEHQGH3SBKVDVANCNFSM4QAJNFFA>.
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.
Hi,
I don’t have any example code for multiple sensors. It would require some tinkering to make it work with multiple sensors and we just haven’t done that yet.
Thanks,
Elizabeth Adams
Product Evangelist, Initial State
***@***.***
… On Jan 24, 2022, at 7:09 AM, lampe208 ***@***.***> wrote:
@lampe208 commented on this gist.
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.
—
Reply to this email directly, view it on GitHub <https://gist.github.com/c1ab0313c57d1cd5e2f3e3fed32cd7d3#gistcomment-4039713>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AKILQXFTL34JSU2K7HV75TLUXVMQLANCNFSM4QAJNFFA>.
Triage notifications on the go with GitHub Mobile for iOS <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android <https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you authored the thread.
so the code that you wrote in that email doesn’t work then?
On Mon, Jan 24, 2022 at 12:08 Elizabeth Adams ***@***.***>
wrote:
***@***.**** commented on this gist.
------------------------------
Hi,
I don’t have any example code for multiple sensors. It would require some
tinkering to make it work with multiple sensors and we just haven’t done
that yet.
Thanks,
Elizabeth Adams
Product Evangelist, Initial State
***@***.***
> On Jan 24, 2022, at 7:09 AM, lampe208 ***@***.***> wrote:
>
> @lampe208 commented on this gist.
> 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.
>
> —
> Reply to this email directly, view it on GitHub <
https://gist.github.com/c1ab0313c57d1cd5e2f3e3fed32cd7d3#gistcomment-4039713>,
or unsubscribe <
https://github.com/notifications/unsubscribe-auth/AKILQXFTL34JSU2K7HV75TLUXVMQLANCNFSM4QAJNFFA
>.
> Triage notifications on the go with GitHub Mobile for iOS <
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android <
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
> You are receiving this because you authored the thread.
>
—
Reply to this email directly, view it on GitHub
<https://gist.github.com/c1ab0313c57d1cd5e2f3e3fed32cd7d3#gistcomment-4040102>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AWFCVMQS2V7LNCRYQK7GSRDUXWITXANCNFSM4QAJNFFA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
Sent from Gmail Mobile
Hi,
I may have misunderstood. Are you saying the code as is does not work?
Thanks,
Elizabeth Adams
Product Evangelist, Initial State
***@***.***
… On Jan 24, 2022, at 7:27 PM, lampe208 ***@***.***> wrote:
@lampe208 commented on this gist.
so the code that you wrote in that email doesn’t work then?
On Mon, Jan 24, 2022 at 12:08 Elizabeth Adams ***@***.***>
wrote:
> ***@***.**** commented on this gist.
> ------------------------------
> Hi,
>
> I don’t have any example code for multiple sensors. It would require some
> tinkering to make it work with multiple sensors and we just haven’t done
> that yet.
>
> Thanks,
> Elizabeth Adams
> Product Evangelist, Initial State
> ***@***.***
>
>
>
> > On Jan 24, 2022, at 7:09 AM, lampe208 ***@***.***> wrote:
> >
> > @lampe208 commented on this gist.
> > 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.
> >
> > —
> > Reply to this email directly, view it on GitHub <
> https://gist.github.com/c1ab0313c57d1cd5e2f3e3fed32cd7d3#gistcomment-4039713>,
> or unsubscribe <
> https://github.com/notifications/unsubscribe-auth/AKILQXFTL34JSU2K7HV75TLUXVMQLANCNFSM4QAJNFFA
> >.
> > Triage notifications on the go with GitHub Mobile for iOS <
> https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
> or Android <
> https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
>
> > You are receiving this because you authored the thread.
> >
>
> —
> Reply to this email directly, view it on GitHub
> <https://gist.github.com/c1ab0313c57d1cd5e2f3e3fed32cd7d3#gistcomment-4040102>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AWFCVMQS2V7LNCRYQK7GSRDUXWITXANCNFSM4QAJNFFA>
> .
> Triage notifications on the go with GitHub Mobile for iOS
> <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
> or Android
> <https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
>
> You are receiving this because you were mentioned.Message ID:
> ***@***.***>
>
--
Sent from Gmail Mobile
—
Reply to this email directly, view it on GitHub <https://gist.github.com/c1ab0313c57d1cd5e2f3e3fed32cd7d3#gistcomment-4040585>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AKILQXDFEO5DGMXUQRM23T3UXYC7PANCNFSM4QAJNFFA>.
Triage notifications on the go with GitHub Mobile for iOS <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android <https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you authored the thread.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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