DigiTemp - 1 Wire Temperature Plugin
| Author |
Message |
|
berkinet
Joined: Nov 18, 2008 Posts: 1721 Location: Berkeley, CA
|
 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 |
|
 |
|
travisc
Joined: Sep 07, 2010 Posts: 231 Location: Toronto, Canada
|
 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 |
|
 |
|
MrJeffreyGee
Joined: Apr 26, 2011 Posts: 50 Location: United States
|
 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 |
|
 |
|
MrJeffreyGee
Joined: Apr 26, 2011 Posts: 50 Location: United States
|
 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 [ 389.61 KiB | Viewed 897 times ]
|
| Tue Feb 21, 2012 2:42 pm |
|
 |
|
travisc
Joined: Sep 07, 2010 Posts: 231 Location: Toronto, Canada
|
 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.comCompiled 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.comTurning 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 |
|
 |
|
MrJeffreyGee
Joined: Apr 26, 2011 Posts: 50 Location: United States
|
 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.comCompiled 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.comTurning 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 |
|
 |
|
travisc
Joined: Sep 07, 2010 Posts: 231 Location: Toronto, Canada
|
 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 |
|
 |
|
MrJeffreyGee
Joined: Apr 26, 2011 Posts: 50 Location: United States
|
 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 |
|
 |
|
travisc
Joined: Sep 07, 2010 Posts: 231 Location: Toronto, Canada
|
 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 |
|
 |
|
MrJeffreyGee
Joined: Apr 26, 2011 Posts: 50 Location: United States
|
 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 |
|
 |
|
hamw
Joined: Mar 31, 2008 Posts: 738
|
 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 |
|
 |
|
Fishysan
Joined: Feb 01, 2012 Posts: 54
|
 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=54Curious as well - just no 1-Wire stuff acquired yet.
|
| Wed Feb 29, 2012 6:19 pm |
|
 |
|
Fishysan
Joined: Feb 01, 2012 Posts: 54
|
 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 |
|
 |
|
Fishysan
Joined: Feb 01, 2012 Posts: 54
|
 Re: DigiTemp - 1 Wire Temperature Plugin
Came across this, which might work? Temp/Humidity Sensor http://www.ibuttonlink.com/ms-th.aspxIt'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 |
|
 |
|
travisc
Joined: Sep 07, 2010 Posts: 231 Location: Toronto, Canada
|
 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 |
|
|
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
|
|