[maemo-developers] Connecting RS232 devices to N800 hosting OS2008
From: James Kemp j.kemp at alliedtranstech.comDate: Thu Jan 31 06:23:46 EET 2008
- Previous message: N810 AGPS?
- Next message: Connecting RS232 devices to N800 hosting OS2008
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I'm using a N810, but the problem of connecting a RS232 device is probably the same. I'm getting close to getting a RS232 connection working using Bluetooth and Python2.5. The code below is getting me close. I can receive RS232 string over Bluetooth using this code. I just can't seem to figure out how to send string out. If I try and use PySerial package I get an error when trying to open the port. #! /usr/bin/env python2.5 import dbus import time import sys import thread #import serial PortOpen = 0 ser = "" # ============================================================================= def OpenPort ( COM_Port ): global ser, PortOpen try: print "Opening %s port" % COM_Port #ser = serial.Serial( COM_Port, 115200, timeout=0, parity= serial.PARITY_NONE, rtscts=0) ser = open( COM_Port, 'r+' ) PortOpen = 1 except: print "Error opening serial port." exit() # ============================================================================= def CommThread ( tid ): """ This function is designed to be run as a thread task. """ global gTID, PortOpen gTID = tid i = 0 while PortOpen: s = ser.readline( ).strip( '\r\n' ) print s print "CommThread Ending %d" % PortOpen bus = dbus.SystemBus() bmgr = dbus.Interface( bus.get_object('org.bluez', '/org/bluez'), ' org.bluez.Manager') bus_id = bmgr.ActivateService('serial') serial = dbus.Interface(bus.get_object( bus_id, '/org/bluez/serial'), ' org.bluez.serial.Manager') # Service connection, read the serial API to check the available patterns address = "00:01:95:06:CF:88" service = "spp" # Bind to the default local adapter device = serial.ConnectService( address, service ) print "Connected %s to %s" % (device, address) time.sleep(1) OpenPort( device ) thread.start_new( CommThread, (1234,) ) print "Press CTRL-C to disconnect" while(1): s = raw_input() print "Writting %s" % s ser.write(s) ser.flush() serial.DisconnectService(device) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.maemo.org/pipermail/maemo-developers/attachments/20080130/7aed55e4/attachment.htm
- Previous message: N810 AGPS?
- Next message: Connecting RS232 devices to N800 hosting OS2008
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]