I'm not an expert in web2py, but this one approach I think should work for your application. If others have better ways of doing it, please share them:
def readfile(): ''' returns the file to be read ''' response.view = '/path/to/file_to_be_read.txt' return locals() def writefile(): ''' writes the values of the form in basic, unescaped CSV format ''' form = SQLFORM.factory( Field('name'), Field('choice', requires=IS_IN_SET(['1','2','3'], zero=None)), ) if form.validate(): fh = open('path/to/file_to_write_to.txt', 'w') fh.write(','.join(form.vars.values())) fh.close() response.flash = 'Your data has been submitted' return dict(form=form) It sounds like in your application, you are reading the serial port at fixed periodic intervals and writing the data to a file. If you only need to read or write to it when a user requests a page, this is what I was suggesting instead: def readdata(): ''' read data from serial port and return it in a view see the Python PySerial module documentation for details ''' import serial try: ser = serial.Serial('/dev/ttyS1', 19200, timeout=1) data = ser.readline() # read a '\n' terminated line ser.close() except: data = 'cannot read serial port' return dict(data=data) writing to the serial port would be just as easy: def writedata(): ''' writes form values in basic, unescaped CSV to the serial port ''' import serial form = SQLFORM.factory( Field('name'), Field('choice', requires=IS_IN_SET(['1','2','3'], zero=None)), ) if form.validate(): try: ser = serial.Serial('/dev/ttyS1', 19200, timeout=1) ser.write(','.join(form.vars.values())) ser.close() response.flash = 'Your data has been written' except: response.flash = 'Cannot write to serial port' return dict(form=form) HTH, -Jim ----- Kenneth Lundström <kenneth.t.lundst...@gmail.com> wrote:----- > Hello, > > only one max two clients at a time will access this page. I don't > even see why two clients would be accesing this page if not a > supervisor wants to check on the progress of an worker. > > Jim, not quite sure how to do what you suggest. The serial > communication is using an special protocol that the app reads and > creates an text file from. > > The app stores also everything in the database but I thought it > would be more efficient for this page to get the info from an text > file. There will be many other pages that will be using mobile > jquery with an normal menu that reads data from the database, but > this one special page will be just a blank page showing the content > of the file if I can't find out how to reload just the part of the > page that shows the text file. Was thinking using PHP to show that > page. > > > Kenneth > > > >Now many clients need to access this at one time? The issue is the > >workload on the pi. > > > >On Friday, 16 August 2013 17:40:29 UTC-5, Kenneth wrote: > > > > Hello everyone, > > > > I'm planing on running web2py on an Raspberry Pi. On the computer > > there will also be an app that listens on the serial port and > > writes the results into an text file. > > > > I'd like to create an extremly simple page where only the content > > of the file is shown and having the page to reload like once every > > second. This page will be shown from mobile ones or tablets over > > GPRS or 3G. > > > > Is it possible to create an page so every reload doesn't > > re-execute the controller and models just re-reads the text file > > and shows it. > > > > To controll that app I'd like to sends commands by writing them > > into an text file that the app reads. This shouldn't be too hard? > > > > > > Kenneth > > > >-- > > > >--- > >You received this message because you are subscribed to the Google > >Groups "web2py-users" group. > >To unsubscribe from this group and stop receiving emails from it, > >send an email to web2py+unsubscr...@googlegroups.com. > >For more options, visit https://groups.google.com/groups/opt_out. > > -- > > --- You received this message because you are subscribed to a topic > in the Google Groups "web2py-users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/web2py/_jYbslU46R4/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > web2py+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. -- --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.