BBB and 1-wire

I want to use my BBB to replace multiple thermostats. I intend to add a lot of additional functions later, but the BBB is cheaper than most “intelligent thermostats” in any event.

Brute force: the input will be Dallas 1-wire thermometers, and the output to the HVAC system will be a via relay board. Control and monitoring will be via a web interface. A single BBB system can act as any number of thermostats by adding multiple thermometers for input and multiple relays, one for each heating or cooling zone.

I need to learn the mechanics of interfacing the BBB to a string of Dallas one-wire devices. I know a lot about Dallas 1-wire. I need to learn about support for 1w-gpio on the BBB. Where should I start? does the BBB support 1w-gpio already, or must I rebuild the kernel? I am comfortable with adjusting the 1-wire parameters and “tuning” the 1-wire string to provide reliable communications. With 63 GPIO pins, the BBB can support multiple independent 1-wire strings as needed.

On the relay side, I bought a cheap board with 4 relays, each of which has a separate “TTL” control pin. However, the schematic shows that each control is actually an opto-isolator (which is a diode) in series with an LED (which is a diode.) The relay is activated by driving the “input” to ground. If I supply the board with +5VDC, it seems to me that a 3.3v BBB GPIO input will just work: the two diode drops in series mean that when the input pin is at 3.3v, no current will flow, and when the input pin is at 0v, current will flow. Is this correct, or will I fry my BBB?

I’m not a hardware guy, but I have heard that the BBB’s GPIO is alot less tolerant than your typical Arduino. Going over 3.3V would be very bad as well as having a pin sink more than 6-8mA. The spec sheet for the AM3359 has the specifics for each pin, but only the analog pins appear to be able to handle up to 25mA.

As for the 1-wire protocol, you’ll likely have to look around for the driver as I haven’t heard of any built-in devices that could handle that.

use DS2482-800+