From owner-freebsd-questions@FreeBSD.ORG Wed Apr 8 08:50:53 2009 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 64513106564A for ; Wed, 8 Apr 2009 08:50:53 +0000 (UTC) (envelope-from frank@esperance-linux.co.uk) Received: from mailout.zetnet.co.uk (mailout.zetnet.co.uk [194.247.47.231]) by mx1.freebsd.org (Postfix) with ESMTP id E74A38FC19 for ; Wed, 8 Apr 2009 08:50:52 +0000 (UTC) (envelope-from frank@esperance-linux.co.uk) Received: from irwell.zetnet.co.uk ([194.247.47.48] helo=zetnet.co.uk) by mailout.zetnet.co.uk with esmtp (Exim 4.63) (envelope-from ) id 1LrTUe-0003va-4p; Wed, 08 Apr 2009 09:50:48 +0100 Received: from melon.esperance-linux.co.uk (54-144.adsl.zetnet.co.uk [194.247.54.144]) by zetnet.co.uk (8.14.1/8.14.1/Debian-9) with ESMTP id n388olAJ004186; Wed, 8 Apr 2009 09:50:47 +0100 Received: by melon.esperance-linux.co.uk (Postfix, from userid 1001) id 54077FCA699; Wed, 8 Apr 2009 09:50:42 +0100 (BST) Date: Wed, 8 Apr 2009 09:50:42 +0100 From: Frank Shute To: Valentin Bud Message-ID: <20090408085042.GA54417@melon.esperance-linux.co.uk> Mail-Followup-To: Valentin Bud , freebsd-questions References: <139b44430904070241j5227d178jd75f6a93057a150a@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <139b44430904070241j5227d178jd75f6a93057a150a@mail.gmail.com> User-Agent: Mutt/1.4.2.3i X-Face: *}~{PHnDTzvXPe'wl_-f%!@+r5; VLhb':*DsX%wEOPg\fDrXWQJf|2\,92"DdS%63t*BHDyQ|OWo@Gfjcd72eaN!4%NE{0]p)ihQ1MyFNtWL X-Operating-System: FreeBSD 6.4-RELEASE-p2 i386 X-Organisation: 'http://www.shute.org.uk/' X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.1.7 (zetnet.co.uk [194.247.46.1]); Wed, 08 Apr 2009 09:50:47 +0100 (BST) Cc: freebsd-questions Subject: Re: C programming question X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Frank Shute List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2009 08:50:53 -0000 On Tue, Apr 07, 2009 at 11:41:54AM +0200, Valentin Bud wrote: > > Hello community, > > I have built with a micro controller a system of power plugs that > can be controlled through the serial port. I have 2 plugs that i > can start/stop and check the status of them. This is accomplished > by sending different letters (eg. A/W) to start/stop one of the > plugs and another set of letter for the other plug and one letter > to check the status. > > Taking into account the fact that my C skills are almost 0 how > complicated would be to write a program so I can control that micro > controller through the serial port. Or is there some kind of > program that can read/write from/to the serial port from the > command line. I don't want an interactive program like minicom, > just a program that connects and send a command (a letter in my > case) to the serial port. > > Why not minicom (or any other program like it)? My goal is to be > able to start/stop the plugs using a web interface. I have tried > using minicom and background it but when i log out minicom closes. > If minicom is started i can send commands to ttyd0 with echo, but i > can't read anything from serial. > > Now back to my original question, how hard/complicated will it be > to write a C program to control the micro controller through the > serial port. > > Of course on FreeBSD :). > About 10 years ago I adapted a a C program that was used to control a board (which basically had a chip and a thermocouple on it) via the serial port. IIRC, the C was relatively simple but if you're a total beginner then it would be hard without cribbing code off the 'net. If you want to learn C then go for it but if you don't you'd be better off using one of the scripting languages: perl, python, ruby etc. and your development time will be much reduced. Also they all have facilities for easily converting your program to use the CGI so that you can webify the control and I'm sure they all have some module for using a serial port (comms/p5-Device-SerialPort in ports for perl). Have fun! Regards, -- Frank Contact info: http://www.shute.org.uk/misc/contact.html