FreeBSD and controlling an alarm via relay

Achilleas Mantzios achill at matrix.gatewaynet.com
Wed Jul 6 07:07:45 UTC 2011


Hey, its a small world!
i am the other guy (achix) from the zoneminder camp :)
this all has to do with a continuation of the zoneminder work,
zoneminder driving a relay, driving a xmitter and finally triggering an alarm
to the central alarm control panel.

i have done this in the past with a rather "legacy" way (utilizing a zyXel modem), but wanted to 
do something more fancy.

Στις Tuesday 05 July 2011 22:56:28 ο/η Boris Samorodov έγραψε:
> On Tue, 5 Jul 2011 17:30:03 +0300 Achilleas Mantzios wrote:
> 
> > 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
> 
> > Could i use the ucom driver to talk to the USB device like a normal
> > serial device, via /dev/cua*** ?
> 
> I use USB-to-7-RS232-ports devices via /dev/cuaU00-/dev/cuaU06.
> Works like a charm. But you should find out what chip is used
> for USB-to-RS232 bridge and (kld)load a driver.
> 

Is there any big probability for the chip to not be on of those that FreeBSD supports (uark, uftdi, etc..) ?
most sellers hardly give such info out.

> > The above link says one needs to talk to the relay with:
> > 8 Data, 1 Stop, No Parity,Baud rate : 9600
> 
> I've never changed those parameters.
> 
> > and the commands look like:
> > FF 01 00 (HEX) 
> > or 
> > 255 1 0 (DEC)
> 
> > could i be able to specify those over ucom? 
> > do you know any application, perl library, utility or just a guide for
> > standard C serial port programming?
> 
> > i have used mgetty/vgetty in the past to control some modems.
> > I do not know if there any fancier methods to access the serial port,
> > but this is how i used to do it, back in 7.*
> > /usr/local/bin/vm shell -l cuad1 -S onhook_offhook.pl
> > where onhook_offhook.pl reads like:
> > #!/usr/bin/perl
> > #
> > use Modem::Vgetty;
> 
> > my $v = new Modem::Vgetty;
> 
> > $v->device('DIALUP_LINE');
> > $v->send("ATH1");
> > sleep(5);
> > $v->send("ATH0");
> 
> > if i could speak directly with e.g. "255 1 0" like
> > $v->send("255 1 0");
> > that would be awesome...
> > i guess i will have to try it out.
> 
> I use python for scripting and it is as simple as write(data) and
> read(data).
> 

Cool, thanx,
see you over the zoneminder forum.

-- 
Achilleas Mantzios


More information about the freebsd-multimedia mailing list