Skip to content
Lieven Hollevoet edited this page Sep 22, 2014 · 1 revision

http://www.ibutton.com/ibuttons/

What is an iButton? The iButton® is a computer chip enclosed in a 16mm stainless steel can. Because of this unique and durable stainless steel can, up-to-date information can travel with a person or object anywhere they go. The steel button can be mounted virtually anywhere because it is rugged enough to withstand harsh environments, indoors or outdoors. It is durable enough to attach to a key fob, ring, watch, or other personal items and used daily for applications such as access control to buildings and computers.

iButton Components The Can and Grommet All iButtons use their stainless steel "can" for their electronic communications interface. Each "can" has a data contact which is called the "lid" and a ground contact which is called the "base". Each of these contacts is connected to the silicon chip inside. The "lid" is the top of the "can" and the "base" forms the sides and the bottom of the "can" and includes a flange for easily attaching the button to just about anyting. The two contacts are separated by a polypropylene grommet.

iButtons are also available as surface mounted components and TO-92 packages.

The 1-Wire Interface By simply touching each of the two contacts you can communicate to any of the iButtons by using our 1-Wire® protocol. The 1-Wire interface has two communication speeds. Standard mode at 16kbps and overdrive mode at 142kbps.

The Address Each iButton has a unique and unalterable address that is laser etched onto its chip inside the can. The address can be used as a key or identifier for each iButton.

From these basics the iButton product line has been expanded into over 20 different products by adding different functionality to the basic button.

A iButton is a OneWire device in can form. Can also refer to the surface mount and TO-92 form devices that came later.

You will need to declare any serial ports used by iButtons in mh.private.ini. There are also a few options available to tweak how the OneWire network is scanned.

@ COM port the iButton serial adapter is on @ Use _n_serial_port if using more than one port iButton_serial_port= /dev/ttyS11 #com12 iButton_2_serial_port=

@ If having problems, try setting this to 1, to add more delay to timing loops. iButton_tweak=1 iButton_time_delay=.9 iButton_line_length=SHORT

iButtons are declared like this in your code...

    $ib_temp_outside = new iButton '1000000025CBA26A';

...where the first two digits are the iButton family code, the next 12 are the serial number, and the last two are the CRC. The serial number physically written on the above device would appear as 6A00000025CBA210.

Consult lib/site/Hardware/iButton/Device.pm in the most current MisterHouse distribution for a description of the available iButton families and the functions you can perform on them. A good mailing list for keeping track of iButton devices is weather@dalsemi.com at http://lists.dalsemi.com/mailman/listinfo/weather. Most of the discussion centers around their WeatherStation and other OneWire environment sensors.

Clone this wiki locally