FreeBSD and controlling an alarm via relay
Ian Smith
smithi at nimnet.asn.au
Wed Jul 6 08:18:41 UTC 2011
On Tue, 5 Jul 2011, Achilleas Mantzios wrote:
> ÿÿÿÿÿÿÿÿ Tuesday 05 July 2011 16:10:59 ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ:
> > On Mon, 4 Jul 2011, Achilleas Mantzios wrote:
> >
> > [snip]
> >
> > > I was thinking of some relay board (instead of the old modem),
> > > possibly ethernet controlled
> >
> > This box has relays and GPIO available via ethernet. It's probably
> > overkill for your application, but it's well made and easy to use:
> >
> > http://www.extron.com/product/product.aspx?id=ipltcr48&s=0
> >
>
> That is too big for my application, thanx anyway.
> Most probably i'll go for something cheaper like this one
> http://www.ebay.co.uk/itm/USB-Eight-Channel-Relay-Board-RS232-Serial-Controlled-/110710346488?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item19c6d9d2f8
These look quite well designed and built to me, reasonably priced new,
but check out the/a source site [1] for various models, 1- and 4-relay
boards too, or if you prefer, RS-232 serial rather than USB interface
for the 8-relay boards. There's also a simple parallel port to 8 TTL
outputs board (hi Tim!) and various other stuff. I'm tempted myself.
[1] http://sigma-shop.com/category/4/relay-boards.html
[2] http://www.sigma-shop.com/page/12/manuals.html
> Could i use the ucom driver to talk to the USB device like a normal serial device, via /dev/cua*** ?
> The above link says one needs to talk to the relay with:
> 8 Data, 1 Stop, No Parity,Baud rate : 9600
> and the commands look like:
> FF 01 00 (HEX)
> or
> 255 1 0 (DEC)
>
> could i be able to specify those over ucom?
If so, great. If not and you have a serial port, the code will be the
same anyway, except the port used. I grabbed most of the manuals from
[2] and found the Linux software examples are all this one:
=======
Linux :
The USB-serial device is automatically detected and mapped to /dev/
ttyUSB0 (or USB1 in case there is already a similar device).
My test script: (Thanks Julian!)
--------------------------------------------------------
# cat relay.sh
while true
do
echo -e "\xFF\x00\x00" > /dev/ttyUSB0 ; sleep .1
echo -e "\xFF\x00\x01" > /dev/ttyUSB0 ; sleep .1
echo -e "\xFF\x00\x00" > /dev/ttyUSB0 ; sleep .1
[..]
echo -e "\xFF\x01\x01" > /dev/ttyUSB0 ; sleep .1
echo -e "\xFF\x02\x01" > /dev/ttyUSB0 ; sleep .1
[..]
echo -e "\xFF\x07\x01" > /dev/ttyUSB0 ; sleep .1
echo -e "\xFF\x08\x01" > /dev/ttyUSB0 ; sleep .1
echo -e "\xFF\x01\x00" > /dev/ttyUSB0 ; sleep .1
echo -e "\xFF\x02\x00" > /dev/ttyUSB0 ; sleep .1
[..]
echo -e "\xFF\x07\x00" > /dev/ttyUSB0 ; sleep .1
echo -e "\xFF\x08\x00" > /dev/ttyUSB0 ; sleep .1
=======
If using sh[1] you might need to use \0377 instead of \xFF
> do you know any application, perl library, utility or just a guide for standard C serial port programming?
Anything that can write bytes to a serial port - perl's overqualified :)
[..]
cheers, Ian
More information about the freebsd-multimedia
mailing list