示例#1
0
 def connect(self):
     self.sock = btsocket.socket(btsocket.AF_BT, btsocket.SOCK_STREAM)
     btsocket.set_default_access_point(
         btsocket.access_point(btsocket.select_access_point()))
     addr, services = btsocket.bt_discover()
     print "Discovered: %s, %s" % (addr, services)
     if len(services) > 0:
         import appuifw
         choices = services.keys()
         choices.sort()
         choice = appuifw.popup_menu(
             [unicode(services[x]) + ": " + x for x in choices],
             u'Choose port:')
         port = services[choices[choice]]
     else:
         port = 1
     address = (addr, port)
     print "Connecting to " + str(address) + "...",
     self.sock.connect(address)
     #except socket.error, err:
     #    if err[0]==54: # "connection refused"
     #        if _s60_UI:
     #            appuifw.note(u'Connection refused.','error')
     #        else:
     #            print "Connection refused."
     #        return None
     #    raise
     print "OK."
示例#2
0
def pripoj():
  global s
  s = btsocket.socket(btsocket.AF_INET, btsocket.SOCK_STREAM)
  #ip = query(u"Vloz ip adresu", "text")
  ip = "192.168.1.109"
  s.connect((ip,1213))
  note(u"pripojene","info")
示例#3
0
    def connect(self):
        self.sock=btsocket.socket(btsocket.AF_BT,btsocket.SOCK_STREAM)
	btsocket.set_default_access_point(btsocket.access_point(btsocket.select_access_point()))
        addr,services=btsocket.bt_discover()
        print "Discovered: %s, %s"%(addr,services)
        if len(services)>0:
            import appuifw
            choices=services.keys()
            choices.sort()
            choice=appuifw.popup_menu([unicode(services[x])+": "+x
                                       for x in choices],u'Choose port:')
            port=services[choices[choice]]
        else:
            port=1
        address=(addr,port)
        print "Connecting to "+str(address)+"...",
        self.sock.connect(address)
        #except socket.error, err:
        #    if err[0]==54: # "connection refused"
        #        if _s60_UI:
        #            appuifw.note(u'Connection refused.','error')
        #        else:
        #            print "Connection refused."
        #        return None
        #    raise
        print "OK." 
示例#4
0
	def startService(self):
		"""Initiates the bluetooth sockets and listen for a connection"""
		
		self.serverSocket = bt.socket(bt.AF_BT,bt.SOCK_STREAM)
		
		#Gets a free channel for communication
		self.channel = bt.bt_rfcomm_get_available_server_channel(self.serverSocket)
		
		#Binds the socket to that channel and listen for connection
		self.serverSocket.bind(("",self.channel))
		bt.bt_advertise_service( self.serviceName,
                              self.serverSocket,
		                      True,
		                      bt.RFCOMM )
		
		bt.set_security(self.serverSocket, bt.AUTHOR | bt.AUTH )
		self.serverSocket.listen(1)
		
		#Forking into the background
		appswitch.switch_to_fg(u'PythonScriptShell')
		ui.note(u"SmsConsole: Waiting for connections","info")
		appswitch.switch_to_bg(u'PythonScriptShell')
		
		self.clientConn,self.clientAddr = self.serverSocket.accept()
		
		appswitch.switch_to_fg(u'PythonScriptShell')
		ui.note(u"Client %s Connected" % (self.clientAddr), "info")
		appswitch.switch_to_bg(u'PythonScriptShell')
示例#5
0
    def getBTTransport(self):
        if sys.platform == 'symbian_s60': 
            import btsocket
            sock=btsocket.socket(btsocket.AF_BT,btsocket.SOCK_STREAM)
            addr,services=btsocket.bt_discover()
            if len(services)>0:
                port = services[u'opencoin']
            else:
                port=services[services.keys()[0]]
            address=(addr,port)
            sock.connect(address)
        else:
            import bluetooth as bt
            #evil hack
            appuifw.note(u'Searching for devices','info')
            results = [r for r in bt.find_service() if r['name']==None]
            targets = []
            for result in results:
                targets.append(u'%s' % (bt.lookup_name(result['host'])))
            selected = appuifw.popup_menu(targets,u'Connect to...?')
            
            host = results[selected]['host']
            #port = results[selected]['port']
            port = 3
            print 'host: %s, port: %s' % (host,port)
            sock=bt.BluetoothSocket( bt.RFCOMM )
            sock.connect((host, port))

            



        return transports.BTTransport(sock)
示例#6
0
文件: a.py 项目: Symbian9/rssagk
def wget(url,ap_id=None):
    '''Downloads a web resource with the HTTP protocol
    and returns the result
    
    ap_id is the access point to use.
    If it is None, the user will be prompted'''
    
    if not url.startswith('http://'):
        return None
    
    #Remove protocol part
    url=url[7:]
    
    #split GET and domain
    t=url.split('/',1)
    
    m=t[0].split(':',1)
    if len(m)==1:
        host=m[0]
        port=80
    else:
        host=m[0]
        try:
            port=int(m[1])
        except:
            port=80
    
    if len(t)>1:
        get='/' + t[1]
    else:
        get='/'
        
    hname=host
    if port!=80:
        hname+=":%d" % port
    
    #Download the file
    sock = btsocket.socket(btsocket.AF_INET,btsocket.SOCK_STREAM)

    sock.connect((host,port))
    sock.send("GET %s HTTP/1.1\r\nConnection: close\r\nHost: %s\r\nUser-Agent: RSS-agk\r\n\r\n" % (get,hname))
    
    data=''
    while True:
        r=sock.read(4000)
        if len(r)==0:
            break
        data+=r
    
    sock.close()

    #TODO Server didn't return ok
    if data[9:12]!='200':
        appuifw.note(u'Server returned %s instead of 200' % data[9:12], "info")
        return None
    
    return data.split('\r\n\r\n',1)[1]
示例#7
0
def chat_client():
    conn = btsocket.socket(btsocket.AF_BT, btsocket.SOCK_STREAM)
    address, services = btsocket.bt_discover()
    if 'btchat' in services:
        channel = services[u'btchat']
        conn.connect((address, channel))
        print "Connected to server!"
        talk(None, conn)
    else:
        appuifw.note(u"Target is not running a btchat server", "error")
def start_serving(host, port): 
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
    s.bind((host,port)) 
    s.listen(1) 
    while 1: 
        try: 
            conn, addr = s.accept() 
            Shell(conn, addr).run() 
        except KeyboardInterrupt: 
            s.close() 
            raise SystemExit 
示例#9
0
def chat_server():
    server = btsocket.socket(btsocket.AF_BT, btsocket.SOCK_STREAM)
    channel = btsocket.bt_rfcomm_get_available_server_channel(server)
    server.bind(("", channel))
    server.listen(1)
    btsocket.bt_advertise_service(u"btchat", server, True, btsocket.RFCOMM)
    btsocket.set_security(server, btsocket.AUTH | btsocket.AUTHOR)
    print "Waiting for clients..."
    conn, client_addr = server.accept()
    print "Client connected!"
    talk(conn, None)
def start_serving(host, port):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.bind((host, port))
    s.listen(1)
    while 1:
        try:
            conn, addr = s.accept()
            Shell(conn, addr).run()
        except KeyboardInterrupt:
            s.close()
            raise SystemExit
示例#11
0
    def startService(self):
        self.service = True
        self.statusUpdate()

        self.sock = socket.socket(socket.AF_BT, socket.SOCK_STREAM)
        self.sock.bind(('', PORT))
        self.sock.listen(1)

        socket.set_security(self.sock,  socket.AUTH | socket.AUTHOR)
        socket.bt_advertise_service(u"pys60_remote", self.sock, True, socket.RFCOMM)

        self.listen()
示例#12
0
 def connect(self):
     """Connects to the server.
     """
     try:
         if not self.is_connected():
             server_addr = self.app.get_settings()[:2]
             self.socket = socket.socket(socket.AF_BT, socket.SOCK_STREAM)
             self.socket.setblocking(False)
             self.socket.connect(server_addr)
     except:
         self.close()
         raise BluetoothError(_(u"Cannot connect."))
示例#13
0
    def startService(self):
        self.service = True
        self.statusUpdate()

        self.sock = socket.socket(socket.AF_BT, socket.SOCK_STREAM)
        self.sock.bind(('', PORT))
        self.sock.listen(1)

        socket.set_security(self.sock, socket.AUTH | socket.AUTHOR)
        socket.bt_advertise_service(u"pys60_remote", self.sock, True,
                                    socket.RFCOMM)

        self.listen()
示例#14
0
    def startService(self):
        self.service = True
        self.statusUpdate()

        self.sock = socket.socket(socket.AF_BT, socket.SOCK_STREAM)
        self.sock.bind(("", self.port))
        self.sock.listen(1)

        socket.set_security(self.sock, socket.AUTH | socket.AUTHOR)
        socket.bt_advertise_service("pys60_remote", self.sock, True,
                                    socket.RFCOMM)
        note("Listenning on port %d" % self.port)

        self.listen()
示例#15
0
 def test_bt_server(self):
     server_socket = btsocket.socket(btsocket.AF_BT, btsocket.SOCK_STREAM)
     port = btsocket.bt_rfcomm_get_available_server_channel(server_socket)
     server_socket.bind(("", port))
     server_socket.listen(1)
     btsocket.bt_advertise_service(u"port1", server_socket, True,
                                   btsocket.RFCOMM)
     btsocket.bt_advertise_service(u"port1", server_socket, False,
                                   btsocket.RFCOMM)
     btsocket.bt_advertise_service(u"port2", server_socket, True,
                                   btsocket.OBEX)
     btsocket.bt_advertise_service(u"port2", server_socket, False,
                                   btsocket.OBEX)
     btsocket.set_security(server_socket, (btsocket.AUTH |
                           btsocket.ENCRYPT | btsocket.AUTHOR))
     server_socket.close()
def connect(): #this function sets up the BT socket connection
    global btsocket, target

    try:
         #socket params passed to the OS
        btsocket=socket.socket(socket.AF_BT,socket.SOCK_STREAM)

        if target == '': #if no target defined, begin OS discovery routine
            address,services = socket.bt_discover()
            target = (address, services.values()[0])

        btsocket.connect(target) #initiate connection and notify user
        appuifw.note(u"Connected to " + str(address), "info")

    except: #fail cleanly
        appuifw.note(u"Error connecting to device")
        btsocket.close()
def bt_povezi():
    global sock
    sock = btsocket.socket(btsocket.AF_BT, btsocket.SOCK_STREAM)
    target = ""
    address, services = btsocket.bt_discover()
    if len(services) > 1:
        import appuifw

        choices = services.keys()
        choices.sort()
        choice = appuifw.popup_menu([unicode(services[x]) + ": " + x for x in choices], u"Choose port:")
        target = (address, services[choices[choice]])
    else:
        target = (address, services.values()[0])
    print "Povezujem..." + str(target)
    sock.connect(target)
    print "OK."
示例#18
0
 def bt_connect(self):
   try:
     target = ''
     (address, services) = btsocket.bt_discover()
     choices = services.keys()
     choices.sort()
     choice = appuifw.popup_menu([unicode(services[x]) + ": " + x for x in choices], u'Choose port:')
     target = (address, services[choices[choice]])
 
     self.sock = btsocket.socket(btsocket.AF_BT, btsocket.SOCK_STREAM)
     self.sock.connect(target)
     return True
   except:
     if self.sock:
       del self.sock
     appuifw.note(u'Failed to connect', 'error')
     return False
示例#19
0
def test(target):
    import btsocket as socket
    import e32
    # Bluetooth connection
    sock = socket.socket(socket.AF_BT, socket.SOCK_STREAM)

    print "Connecting to " + str(target) + "...",
    sock.connect((target, 1))
    print "OK."
    r = Robot(sock)
    r.forward()
    e32.ao_sleep(2)
    r.backward()
    e32.ao_sleep(2)
    r.left()
    e32.ao_sleep(2)
    r.right()
    e32.ao_sleep(2)
    r.stop()
    return r
示例#20
0
    def receiveCoinsBT(self,transport):
        if sys.platform == 'symbian_s60':
            import btsocket
            server_socket = btsocket.socket(btsocket.AF_BT, btsocket.SOCK_STREAM)
            #port = btsocket.bt_rfcomm_get_available_server_channel(server_socket)
            #server_socket.bind(("", port))
            server_socket.bind(("", 3))
            server_socket.listen(1)
            btsocket.bt_advertise_service( u"opencoin", server_socket, True, btsocket.RFCOMM)
            btsocket.set_security(server_socket, btsocket.AUTH)
            self.feedback(u'Receive coins: ready to receive...')
            (sock,peer_addr) = server_socket.accept()

        else:
            import bluetooth as bt
            server_sock=bt.BluetoothSocket(bt.RFCOMM)
            #server_sock.bind(("",bt.PORT_ANY))
            server_sock.bind(("",3))
            server_sock.listen(1)
            port = server_sock.getsockname()[1]

            uuid = "9e72d9d8-e06d-41cb-bbd4-89cd052cccb8"
            bt.advertise_service( server_sock, u"opencoin",
                   service_id = uuid,
                   service_classes = [ uuid, bt.SERIAL_PORT_CLASS ],
                   profiles = [ bt.SERIAL_PORT_PROFILE ] )
 
            #bt.advertise_service( server_sock, u"opencoin",)
                               
            self.feedback(u'Receive coins: ready to receive...')
            sock, client_info = server_sock.accept()

        bt = transports.BTTransport(sock)
        self.wallet.getApproval = self.getApproval 
        bt.send(self.wallet.listenSum(bt.receive()))
        self.feedback(u'Receive coins: receiving...')
        bt.send(self.wallet.listenSpend(transport,bt.receive()))
        import e32
        e32.ao_sleep(1)    
示例#21
0
文件: dict.py 项目: Symbian9/rssagk
def wget(url,ap_id=None):

    #Download the file
    sock = btsocket.socket(btsocket.AF_INET,btsocket.SOCK_STREAM)

    sock.connect((host,port))
    sock.send("GET %s HTTP/1.1\r\nConnection: close\r\nHost: %s\r\nUser-Agent: RSS-agk\r\n\r\n" % (get,hname))
    
    data=''
    while True:
        r=sock.read(4000)
        if len(r)==0:
            break
        data+=r
    
    sock.close()

    #TODO Server didn't return ok
    if data[9:12]!='200':
        appuifw.note(u'Server returned %s instead of 200' % data[9:12], "info")
        return None
    
    return data.split('\r\n\r\n',1)[1]
示例#22
0
文件: btconsole.py 项目: pymo/pymo
def connect(address=None):
    """Form an RFCOMM socket connection to the given address. If
    address is not given or None, query the user where to connect. The
    user is given an option to save the discovered host address and
    port to a configuration file so that connection can be done
    without discovery in the future.

    Return value: opened Bluetooth socket or None if the user cancels
    the connection.
    """
    
    # Bluetooth connection
    sock=socket.socket(socket.AF_BT,socket.SOCK_STREAM)

    if not address:
        CONFIG_DIR='c:/system/apps/python'
        CONFIG_FILE=os.path.join(CONFIG_DIR,'btconsole_conf.txt')
        try:
            f=open(CONFIG_FILE,'rt')
            try:
                config=eval(f.read())
            finally:
                f.close()
        except:
            config={}
    
        address=config.get('default_target','')
    
        if address:
            if _s60_UI:
                choice=appuifw.popup_menu([u'Default host',
                                           u'Other...'],u'Connect to:')
                if choice==1:
                    address=None
                if choice==None:
                    return None # popup menu was cancelled.
            else:
                sel=raw_input("Connect to default host? y/n[y]:")
                if sel and 'y' != sel and 'Y' != sel:
                    address=None

        if not address:
            print "Discovering..."
            try:
                addr,services=socket.bt_discover()
            except socket.error, err:
                if err[0]==2: # "no such file or directory"
                    if _s60_UI:
                        appuifw.note(u'No serial ports found.','error')
                    else:
                        print "No serial ports found."
                elif err[0]==4: # "interrupted system call"
                    print "Cancelled by user."
                elif err[0]==13: # "permission denied"
                    print "Discovery failed: permission denied."
                else:
                    raise
                return None
            print "Discovered: %s, %s"%(addr,services)
            if len(services)>1:
                choices=services.keys()
                choices.sort()
                if _s60_UI:
                    choice=appuifw.popup_menu([unicode(services[x])+": "+x
                                           for x in choices],u'Choose port:')
                    port=services[choices[choice]]
                else:
                    index=0
                    for item in choices:
                        print "%d -> %s" %(index,item)
                        index+=1
                    choice=raw_input("Choose port: ")
                    try:
                        port=services[choices[int(choice)]]
                    except:
                        print "Invalid input."
                        return None
            else:
                port=services[services.keys()[0]]
            address=(addr,port)
            if _s60_UI:
                choice=appuifw.query(u'Set as default?','query')
            else:
                choice=False
                sel=raw_input("Set as default? y/n[y]:")
                if not sel or 'y' == sel or 'Y' == sel:
                    choice=True

            if choice:
                config['default_target']=address
                # make sure the configuration file exists.
                if not os.path.isdir(CONFIG_DIR):
                    os.makedirs(CONFIG_DIR)
                f=open(CONFIG_FILE,'wt')
                f.write(repr(config))
                f.close()
示例#23
0
 def __init__(self):
     self.pcMac = '00:1F:E2:F2:9F:5E'
     self.client_socket=socket.socket(socket.AF_BT,socket.SOCK_STREAM)
                channels.append(channel)
        index = appuifw.popup_menu(names, u"Choose service")
        return channels[index]

def read_and_echo(fd):
        buf = r = ""
        while r != "\n" and r != "\r":
                r = fd.read(1)
                if ECHO: fd.write(r)
                buf += r
        if ECHO: fd.write("\n")
        return buf

address, services = btsocket.bt_discover()
channel = choose_service(services)
conn = btsocket.socket(btsocket.AF_BT, btsocket.SOCK_STREAM)
conn.connect((address, channel))
to_peer = conn.makefile("rw", 0)

while True:
        msg = appuifw.query(u"Send a message", "text")
        if msg:
                print >> to_peer, msg + "\r"
                print "Sending: " + msg
                print "Waiting for reply..."
                reply = read_and_echo(to_peer).strip()
                appuifw.note(unicode(reply), "info")
                if reply.find("bye!") != -1:
                        break
        else:
                break
	def connect(self):
		global sock
		arduino_addr='00:19:a4:02:44:2a'   #add your arduino BT adress here
		sock=socket.socket(socket.AF_BT, socket.SOCK_STREAM)
		target=(arduino_addr,1) # serial connection to arduino BT
		sock.connect(target)
 def connect(self):
     global sock
     arduino_addr = '00:19:a4:02:44:2a'  #add your arduino BT adress here
     sock = socket.socket(socket.AF_BT, socket.SOCK_STREAM)
     target = (arduino_addr, 1)  # serial connection to arduino BT
     sock.connect(target)
示例#27
0
def connect(address=None):
    """Form an RFCOMM socket connection to the given address. If
    address is not given or None, query the user where to connect. The
    user is given an option to save the discovered host address and
    port to a configuration file so that connection can be done
    without discovery in the future.

    Return value: opened Bluetooth socket or None if the user cancels
    the connection.
    """

    # Bluetooth connection
    sock = socket.socket(socket.AF_BT, socket.SOCK_STREAM)

    if not address:
        CONFIG_DIR = 'c:/system/apps/python'
        CONFIG_FILE = os.path.join(CONFIG_DIR, 'btconsole_conf.txt')
        try:
            f = open(CONFIG_FILE, 'rt')
            try:
                config = eval(f.read())
            finally:
                f.close()
        except:
            config = {}

        address = config.get('default_target', '')

        if address:
            if _s60_UI:
                choice = appuifw.popup_menu([u'Default host', u'Other...'],
                                            u'Connect to:')
                if choice == 1:
                    address = None
                if choice == None:
                    return None  # popup menu was cancelled.
            else:
                sel = raw_input("Connect to default host? y/n[y]:")
                if sel and 'y' != sel and 'Y' != sel:
                    address = None

        if not address:
            print "Discovering..."
            try:
                addr, services = socket.bt_discover()
            except socket.error, err:
                if err[0] == 2:  # "no such file or directory"
                    if _s60_UI:
                        appuifw.note(u'No serial ports found.', 'error')
                    else:
                        print "No serial ports found."
                elif err[0] == 4:  # "interrupted system call"
                    print "Cancelled by user."
                elif err[0] == 13:  # "permission denied"
                    print "Discovery failed: permission denied."
                else:
                    raise
                return None
            print "Discovered: %s, %s" % (addr, services)
            if len(services) > 1:
                choices = services.keys()
                choices.sort()
                if _s60_UI:
                    choice = appuifw.popup_menu(
                        [unicode(services[x]) + ": " + x for x in choices],
                        u'Choose port:')
                    port = services[choices[choice]]
                else:
                    index = 0
                    for item in choices:
                        print "%d -> %s" % (index, item)
                        index += 1
                    choice = raw_input("Choose port: ")
                    try:
                        port = services[choices[int(choice)]]
                    except:
                        print "Invalid input."
                        return None
            else:
                port = services[services.keys()[0]]
            address = (addr, port)
            if _s60_UI:
                choice = appuifw.query(u'Set as default?', 'query')
            else:
                choice = False
                sel = raw_input("Set as default? y/n[y]:")
                if not sel or 'y' == sel or 'Y' == sel:
                    choice = True

            if choice:
                config['default_target'] = address
                # make sure the configuration file exists.
                if not os.path.isdir(CONFIG_DIR):
                    os.makedirs(CONFIG_DIR)
                f = open(CONFIG_FILE, 'wt')
                f.write(repr(config))
                f.close()
示例#28
0
            if sms["MessageType"] == "SMS":
                res.append(sms)
        return res

    def __getMessage(self, msg_id):
        if not self.__selectedFolder == "INBOX":
            print "Folder %s not supported" % folder["path"]
            return []
        sms_iter = messaging_handle.call("GetList", {"Type": u"Inbox", "Filter": {"MessageId": msg_id}})
        res = [sms for sms in sms_iter]
        if len(res) == 0:
            return None
        return res[0]


s = btsocket.socket(btsocket.AF_BT, btsocket.SOCK_STREAM)
port = btsocket.bt_rfcomm_get_available_server_channel(s)
s.bind(("", port))
print port
btsocket.set_security(s, btsocket.AUTH)
s.listen(1)

# HOST = ''                 # Symbolic name meaning all available interfaces
# PORT = 14310
# s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# s.bind((HOST, PORT))
# s.listen(1)

running = True
while running:
    conn, addr = s.accept()