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."
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")
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."
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')
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)
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]
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
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
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()
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."))
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()
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."
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
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
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)
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]
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()
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)
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()
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()