View unanswered posts | View active topics It is currently Tue May 21, 2013 8:41 pm



Reply to topic  [ 61 posts ]  Go to page: Previous  1, 2, 3, 4, 5  Next
 DigiTemp - 1 Wire Temperature Plugin 
Author Message
User avatar

Joined: Nov 18, 2008
Posts: 1721
Location: Berkeley, CA
Post Re: DigiTemp - 1 Wire Temperature Plugin
1-Wire is looking very attractive for an application I am planning. However, I am a little unsure about hardware compatibility and have a few questions.

Based on this thread, I see that I can use either a DS9097U or LinkUSB controller. Since 1-Wire is a standard I would assume any sensor would work with either controller, but based on compatibility charts published on the various 1-Wire web sites I am not sure that is the case.

For controllers that are currently supported by the plugin, do all the sensors that work on the DS9097U also work on the LinkUSB, and visa-versa? Or, should I be asking,, is the DigiTemp software the limiting factor (as noted in an earlier post by @travisc)?

And, finally. other than possible sensor compatibility issues, Is there any significant benefit/advantage to either the DS9097U or LinkUSB controller?

EDIT: AFter looking over the various 1-Wire interfaces on the iButton web site, it seems that they all either use the same DS2480B chip as the DS9097U or offer DS9097U emulation. So, would it be safe to assume that any interface that claims DS9097U "compatibility" would work with the DigiTemp software, and the 1-Wire plugin?


Tue Feb 21, 2012 11:02 am
Profile
User avatar

Joined: Sep 07, 2010
Posts: 231
Location: Toronto, Canada
Post Re: DigiTemp - 1 Wire Temperature Plugin
Based on this thread, I see that I can use either a DS9097U or LinkUSB controller. Since 1-Wire is a standard I would assume any sensor would work with either controller, but based on compatibility charts published on the various 1-Wire web sites I am not sure that is the case.


The LinkUSB appears to be the guts of a DS9097U with a USB-Serial adapter built-in. In theory they should both support the same devices. DigiTemp is indeed the limiting factor if you are looking to use devices other than temperature/humidity sensors.

Advantages of the LinkUSB are:
- not having to use an external USB-Serial adapter.
- It can supply more power to 1-wire devices using the 5v from the USB bus. This would involve running an extra wire for power. The DS9097U also supports this feature but requires an external power adapter be connected. I have 12 sensors hooked up along at least 300 feet of wire and do not require this extra power.


Tue Feb 21, 2012 11:15 am
Profile WWW
User avatar

Joined: Apr 26, 2011
Posts: 50
Location: United States
Post Re: DigiTemp - 1 Wire Temperature Plugin
travisc wrote:They call it a 1-wire interface but it actually needs two, Ground and 1-Wire data, for it to work. The 1-wire refers to how many signal wires are required for communication, the common ground requirement is assumed. It's a little mis-leading if you're not an electronics guru.

I'll need more log info than that, that just looks like the last error in the log which doesn't help me. Turn on debugging, reload the plugin, then send me everything from when the plugin starts to when it errors.



Ok, I've turned on debugging and got more information. It says it seems to be an error reading a file (digitemp.conf). How do I correct this issue?

Code: Select all
Plugin "DigiTemp" disconnected
  Starting plugin "DigiTemp 0.8.0" (pid 10586)
  Plugin "DigiTemp" connected
  Plugin "DigiTemp 0.8.0" started
  DigiTemp Debug                  Read Sensor List Start
  DigiTemp Debug                  Error reading digitemp.conf file.
  DigiTemp Debug                  STATE: Test
  DigiTemp Debug                  STATE: Test
  DigiTemp Debug                  STATE: Test
  DigiTemp Debug                  STATE: Test
  DigiTemp Debug                  STATE: Test
  DigiTemp Debug                  methodScanBus started
  DigiTemp Debug                  STATE: Test
  DigiTemp                        Starting scan for 1-wire sensors.
  DigiTemp Debug                  STATE: Process Poll
  DigiTemp Debug                  STATE: Process Poll
  DigiTemp Debug                  DigiTemp Output:

  DigiTemp Debug                  Read Sensor List Start
  DigiTemp Debug                  OUTPUT:
  DigiTemp Debug                  Error reading digitemp.conf file.
  DigiTemp                        Scan complete, found 0 sensors.
  DigiTemp Error                  Error in plugin execution runConcurrentThread:

Traceback (most recent call last):
  File "plugin.py", line 68, in runConcurrentThread
  File "/Library/Application Support/Perceptive Automation/Indigo 5/Plugins/DigiTemp.indigoPlugin/Contents/Server Plugin/DigiTemp.py", line 382, in startComm
<type 'exceptions.UnboundLocalError'>: local variable 'nextScanTime' referenced before assignment

  DigiTemp Error                  plugin runConcurrentThread function returned or failed; will attempt again in 10 seconds
  DigiTemp Debug                  methodScanBus started
  DigiTemp Debug                  runConcurrentThread called
  DigiTemp Debug                  startComm called
  DigiTemp                        Starting scan for 1-wire sensors.
  DigiTemp Debug                  STATE: Process Poll
  DigiTemp Debug                  STATE: Process Poll
  DigiTemp Debug                  DigiTemp Output:

  DigiTemp Debug                  Read Sensor List Start
  DigiTemp Debug                  OUTPUT:
  DigiTemp Debug                  Error reading digitemp.conf file.
  DigiTemp                        Scan complete, found 0 sensors.
  DigiTemp Error                  Error in plugin execution runConcurrentThread:

Traceback (most recent call last):
  File "plugin.py", line 68, in runConcurrentThread
  File "/Library/Application Support/Perceptive Automation/Indigo 5/Plugins/DigiTemp.indigoPlugin/Contents/Server Plugin/DigiTemp.py", line 382, in startComm
<type 'exceptions.UnboundLocalError'>: local variable 'nextScanTime' referenced before assignment

  DigiTemp Error                  plugin runConcurrentThread function returned or failed; will attempt again in 10 seconds
  DigiTemp Debug                  runConcurrentThread called
  DigiTemp Debug                  startComm called
  DigiTemp Error                  Error in plugin execution runConcurrentThread:


Tue Feb 21, 2012 2:30 pm
Profile
User avatar

Joined: Apr 26, 2011
Posts: 50
Location: United States
Post Re: DigiTemp - 1 Wire Temperature Plugin
ELWOOD wrote:MrJeffreyGee

My setup has been working fine. I have the LinkUSB connected to 2 iButtonLink T-Sense Temperature Sensor using the RJ45 jacks.
Plus 5 Dallas ds18s20 in a TO-92 package. However I am using the third wire for 5 volt power. The ds18s20 can work with 2 wires (pin 1&2)
as "Parasite Mode" but I think this requires adding a capasitor at the LinkUSB between pin 2 and 4.
Since I am running the sensors on cat5 cable I have the extra wires to pas the 5 volt power to the sensor.

Hook up pins from the LinkUSB to the ds18s20 as the following:

LinkUSB pin 1 and 5 to ds18s20 pin 1 (ground)

LinkUSB pin 2 to ds18s20 pin 3 (+5v power)

LinkUSB pin 4 to ds18s20 pin 2 (1-wire data)


Hope this helps

Elwood



Thank you so much for helping. I tried wiring it up like you described, but still no luck. I also tried changing to a different USB port, but there's no difference. My first USB port was a powered hub and the second one I tried was on the back of the Mac.

Attachment:
File comment: DS18S20 LinkUSB Wiring
Photo Feb 21, 3 11 28 PM.jpeg
Photo Feb 21, 3 11 28 PM.jpeg [ 389.61 KiB | Viewed 897 times ]


Tue Feb 21, 2012 2:42 pm
Profile
User avatar

Joined: Sep 07, 2010
Posts: 231
Location: Toronto, Canada
Post Re: DigiTemp - 1 Wire Temperature Plugin
It doesn't look like digitemp is outputting anything at all. Try running it directly from the command line:

1. Disable the DigiTemp plugin.
2. Open up a Terminal window.

3. Copy/Paste this line into the terminal and then hit enter:
Code: Select all
cd "/Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/DigiTemp.indigoPlugin/Contents/Server Plugin/"


4. Lets start real simple. Type the following line into the terminal and hit enter:
Code: Select all
./digitemp

You should see this followed by a bunch of help text:
Error! Not enough arguements.

DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Compiled for DS9097U


5. If that worked lets try a 1-wire walk. Copy the following line into the terminal, replacing PORT with the serial port you selected in Indigo, then hit enter.
For example, in Indigo my DigiTemp serial port shows up as usbserial3. So I would enter ./digitemp -w -s /dev/cu.usbserial3
Code: Select all
./digitemp -w -s /dev/cu.PORT


If everything is working correctly, you would see something like this:
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Turning off all DS2409 Couplers
.........
Devices on the Main LAN
2888DE5D020000A3 : DS18B20 Temperature Sensor
28481B5E02000044 : DS18B20 Temperature Sensor
285CB45D02000017 : DS18B20 Temperature Sensor


Paste the output here so we can see what's going on.


Tue Feb 21, 2012 3:28 pm
Profile WWW
User avatar

Joined: Apr 26, 2011
Posts: 50
Location: United States
Post Re: DigiTemp - 1 Wire Temperature Plugin
travisc wrote:It doesn't look like digitemp is outputting anything at all. Try running it directly from the command line:

1. Disable the DigiTemp plugin.
2. Open up a Terminal window.

3. Copy/Paste this line into the terminal and then hit enter:
Code: Select all
cd "/Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/DigiTemp.indigoPlugin/Contents/Server Plugin/"


4. Lets start real simple. Type the following line into the terminal and hit enter:
Code: Select all
./digitemp

You should see this followed by a bunch of help text:
Error! Not enough arguements.

DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Compiled for DS9097U


5. If that worked lets try a 1-wire walk. Copy the following line into the terminal, replacing PORT with the serial port you selected in Indigo, then hit enter.
For example, in Indigo my DigiTemp serial port shows up as usbserial3. So I would enter ./digitemp -w -s /dev/cu.usbserial3
Code: Select all
./digitemp -w -s /dev/cu.PORT


If everything is working correctly, you would see something like this:
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Turning off all DS2409 Couplers
.........
Devices on the Main LAN
2888DE5D020000A3 : DS18B20 Temperature Sensor
28481B5E02000044 : DS18B20 Temperature Sensor
285CB45D02000017 : DS18B20 Temperature Sensor


Paste the output here so we can see what's going on.



Ok, I did what you said, but still no luck. :-( I also did a bunch of additional ports and included the results as well. The first 2 ports was the ones I saw in Indigo and the following other ports I saw listed as an option in the Arduino app. Is it possible that it's cause I installed the FTDI drivers and didn't reboot the computer or could it be cause I'm using Indigo version 5.0.3?


Code: Select all
jeffrey-gees-power-mac-g4:~ Jeffrey$     cd "/Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/DigiTemp.indigoPlugin/Contents/Server Plugin/"
jeffrey-gees-power-mac-g4:Server Plugin Jeffrey$ ./digitemp
Error! Not enough arguements.

DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Compiled for DS9097U


Usage: digitemp [-s -i -I -U -l -r -v -t -a -d -n -o -c]
                -i                            Initalize .digitemprc file
                -I                            Initalize .digitemprc file w/sorted serial #s
                -w                            Walk the full device tree
                -s /dev/ttyS0                 Set serial port
                -l /var/log/temperature       Send output to logfile
                -c digitemp.conf              Configuration File
                -r 1000                       Read delay in mS
                -v                            Verbose output
                -t 0                          Read Sensor #
                -q                            No Copyright notice
                -a                            Read all Sensors
                -d 5                          Delay between samples (in sec.)
                -n 50                         Number of times to repeat
                                              0=loop forever
                -A                            Treat DS2438 as A/D converter
                -O"counter format string"      See description below
                -o 2                          Output format for logfile
                -o"output format string"      See description below
                -H"Humidity format string"    See description below

Logfile formats:  1 = One line per sensor, time, C, F (default)
                  2 = One line per sample, elapsed time, temperature in C
                  3 = Same as #2, except temperature is in F
        #2 and #3 have the data seperated by tabs, suitable for import
        into a spreadsheet or other graphing software.

        The format string uses strftime tokens plus 5 special ones for
        digitemp - %s for sensor #, %C for centigrade, %F for fahrenheit,
        %R to output the hex serial number, and %N for seconds since Epoch.
        The case of the token is important! The default format string is:
        "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F" which gives you an
        output of: May 24 21:25:43 Sensor 0 C: 23.66 F: 74.59

        The counter format string has 2 special specifiers:
        %n is the counter # and %C is the count in decimal.
        The humidity format uses %h for the humidity in percent

jeffrey-gees-power-mac-g4:Server Plugin Jeffrey$ ./digitemp -w -s /dev/cu.usbserial-A8006XNN
dyld: lazy symbol binding failed: Symbol not found: _fopen$UNIX2003
  Referenced from: /Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/DigiTemp.indigoPlugin/Contents/Server Plugin/./digitemp
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _fopen$UNIX2003
  Referenced from: /Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/DigiTemp.indigoPlugin/Contents/Server Plugin/./digitemp
  Expected in: /usr/lib/libSystem.B.dylib

Trace/BPT trap
jeffrey-gees-power-mac-g4:Server Plugin Jeffrey$ ./digitemp -w -s /dev/cu.usbserial-A900fx6A
dyld: lazy symbol binding failed: Symbol not found: _fopen$UNIX2003
  Referenced from: /Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/DigiTemp.indigoPlugin/Contents/Server Plugin/./digitemp
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _fopen$UNIX2003
  Referenced from: /Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/DigiTemp.indigoPlugin/Contents/Server Plugin/./digitemp
  Expected in: /usr/lib/libSystem.B.dylib

Trace/BPT trap
jeffrey-gees-power-mac-g4:Server Plugin Jeffrey$ ./digitemp -w -s /dev/tty.modem
dyld: lazy symbol binding failed: Symbol not found: _fopen$UNIX2003
  Referenced from: /Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/DigiTemp.indigoPlugin/Contents/Server Plugin/./digitemp
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _fopen$UNIX2003
  Referenced from: /Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/DigiTemp.indigoPlugin/Contents/Server Plugin/./digitemp
  Expected in: /usr/lib/libSystem.B.dylib

Trace/BPT trap
jeffrey-gees-power-mac-g4:Server Plugin Jeffrey$ ./digitemp -w -s /dev/cu.modem
dyld: lazy symbol binding failed: Symbol not found: _fopen$UNIX2003
  Referenced from: /Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/DigiTemp.indigoPlugin/Contents/Server Plugin/./digitemp
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _fopen$UNIX2003
  Referenced from: /Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/DigiTemp.indigoPlugin/Contents/Server Plugin/./digitemp
  Expected in: /usr/lib/libSystem.B.dylib

Trace/BPT trap
jeffrey-gees-power-mac-g4:Server Plugin Jeffrey$ ./digitemp -w -s /dev/tty.usbserial-A900fx6A
dyld: lazy symbol binding failed: Symbol not found: _fopen$UNIX2003
  Referenced from: /Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/DigiTemp.indigoPlugin/Contents/Server Plugin/./digitemp
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _fopen$UNIX2003
  Referenced from: /Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/DigiTemp.indigoPlugin/Contents/Server Plugin/./digitemp
  Expected in: /usr/lib/libSystem.B.dylib

Trace/BPT trap
jeffrey-gees-power-mac-g4:Server Plugin Jeffrey$ ./digitemp -w -s /dev/tty.usbserial-A8006XNN
dyld: lazy symbol binding failed: Symbol not found: _fopen$UNIX2003
  Referenced from: /Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/DigiTemp.indigoPlugin/Contents/Server Plugin/./digitemp
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _fopen$UNIX2003
  Referenced from: /Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/DigiTemp.indigoPlugin/Contents/Server Plugin/./digitemp
  Expected in: /usr/lib/libSystem.B.dylib

Trace/BPT trap
jeffrey-gees-power-mac-g4:Server Plugin Jeffrey$ ./digitemp -w -s /dev/tty.usbmodem412711
dyld: lazy symbol binding failed: Symbol not found: _fopen$UNIX2003
  Referenced from: /Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/DigiTemp.indigoPlugin/Contents/Server Plugin/./digitemp
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _fopen$UNIX2003
  Referenced from: /Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/DigiTemp.indigoPlugin/Contents/Server Plugin/./digitemp
  Expected in: /usr/lib/libSystem.B.dylib

Trace/BPT trap
jeffrey-gees-power-mac-g4:Server Plugin Jeffrey$ ./digitemp -w -s /dev/cu.usbmodem412711
dyld: lazy symbol binding failed: Symbol not found: _fopen$UNIX2003
  Referenced from: /Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/DigiTemp.indigoPlugin/Contents/Server Plugin/./digitemp
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _fopen$UNIX2003
  Referenced from: /Library/Application Support/Perceptive Automation/Indigo 5/Plugins (Disabled)/DigiTemp.indigoPlugin/Contents/Server Plugin/./digitemp
  Expected in: /usr/lib/libSystem.B.dylib

Trace/BPT trap


Wed Feb 22, 2012 8:07 am
Profile
User avatar

Joined: Sep 07, 2010
Posts: 231
Location: Toronto, Canada
Post Re: DigiTemp - 1 Wire Temperature Plugin
Hmmm. I'm guessing it's because you're on a G4. I tried to compile DigiTemp as a universal binary but it looks like I didn't get it quite right. I don't have a PowerPC mac here so I couldn't test it.

I'll have to look at this later. I'm not even sure what I did wrong, everything seemed to compile without error.


Wed Feb 22, 2012 8:18 am
Profile WWW
User avatar

Joined: Apr 26, 2011
Posts: 50
Location: United States
Post Re: DigiTemp - 1 Wire Temperature Plugin
travisc wrote:Hmmm. I'm guessing it's because you're on a G4. I tried to compile DigiTemp as a universal binary but it looks like I didn't get it quite right. I don't have a PowerPC mac here so I couldn't test it.

I'll have to look at this later. I'm not even sure what I did wrong, everything seemed to compile without error.


Since I've got a PowerPC I'd gladly test it for you. Do you think maybe compiling a PowerPC only version would help and would force it to work?


Sat Feb 25, 2012 5:57 am
Profile
User avatar

Joined: Sep 07, 2010
Posts: 231
Location: Toronto, Canada
Post Re: DigiTemp - 1 Wire Temperature Plugin
That would definitely work for you until I have a chance to figure out how why it's not compiling into a universal binary. The digitemp binary inside the plugin would just have to be replaced with one compiled for PPC.


Sat Feb 25, 2012 7:38 am
Profile WWW
User avatar

Joined: Apr 26, 2011
Posts: 50
Location: United States
Post Re: DigiTemp - 1 Wire Temperature Plugin
travisc wrote:That would definitely work for you until I have a chance to figure out how why it's not compiling into a universal binary. The digitemp binary inside the plugin would just have to be replaced with one compiled for PPC.


Sounds like a great plan and it would help everyone else that's on a PowerPC as well too.


Sun Feb 26, 2012 5:58 pm
Profile

Joined: Mar 31, 2008
Posts: 738
Post Re: DigiTemp - 1 Wire Temperature Plugin
Any suggestions for a humidity sensor that will work? I have tried to find the AAG TAI-8540 but apparently AAG must be out of business- no response to emails.

Here's the link from the DigiTemp website:
http://www.aagelectronica.com/aag/index ... lang=en-us


Tue Feb 28, 2012 10:17 pm
Profile

Joined: Feb 01, 2012
Posts: 54
Post Re: DigiTemp - 1 Wire Temperature Plugin
Digitemp does reference Hobby-Boards, but I don't know if they support them - and the TAI sensor is within..

http://www.hobby-boards.com/catalog/pro ... ucts_id=54

Curious as well - just no 1-Wire stuff acquired yet.


Wed Feb 29, 2012 6:19 pm
Profile

Joined: Feb 01, 2012
Posts: 54
Post Re: DigiTemp - 1 Wire Temperature Plugin
Noob question, what's the diode's purpose here? This assuming powered not parasitic? Or signal issue?

http://www.digitemp.com/building.shtml


Wed Feb 29, 2012 6:33 pm
Profile

Joined: Feb 01, 2012
Posts: 54
Post Re: DigiTemp - 1 Wire Temperature Plugin
Came across this, which might work?

Temp/Humidity Sensor
http://www.ibuttonlink.com/ms-th.aspx

It's also based on the DS2438 for 1-wire and the Honeywell part HIH-4000 which is the same as the AAG TAI8520 mentioned in the thread as well as on Digitemp's webpage.

At 65$ a bit too much to just toss in an order to see, unless I know there's a good chance going to work. That being said, hoping to find a cheaper alternative so I can get a couple of these..

Cheers.


Wed Feb 29, 2012 9:46 pm
Profile
User avatar

Joined: Sep 07, 2010
Posts: 231
Location: Toronto, Canada
Post Re: DigiTemp - 1 Wire Temperature Plugin
Noob question, what's the diode's purpose here? This assuming powered not parasitic? Or signal issue?

It helps absorb voltage spikes released by wires when the inductance gets high, like on long wire runs.

See page 50:
http://www.1wire.org/Files/Articles/1-Wire-Design%20Guide%20v1.0.pdf


Thu Mar 01, 2012 10:09 pm
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 61 posts ]  Go to page: Previous  1, 2, 3, 4, 5  Next

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.   Template designed by STSoftware.