Exemplo n.º 1
0
def sendCommand(f):
	print '--------- Datalogger Simulator -----------'
	while len(sensorReceiver) > 0:
		print 'Ingrese uno de los siguientes comandos:'
		
		for key,val in sorted(command.items()):
			print " "*5,key, ":", val
		
		commandInput = raw_input('>>')
		if command.has_key(commandInput):	
			print 'Ingrese un sensor destinatario'
			for key,val in sorted(sensorReceiver.items()):
				print " "*5,key, ":", val
			sensorInput = raw_input('>>')
			
			if sensorReceiver.has_key(sensorInput):
				if commandInput == '1':
					frequency = 0
				elif commandInput == '2':
					print 'Ingrese una valor de frecuencia'
					frequency = raw_input('>>')
				else:
					frequency = 0
					
				comando = Command(sensorReceiver[sensorInput],'client03' , 5, 100, ' ',command[commandInput], frequency)
				com.send(comando)
				f.write(comando.getReceiver().center(15)+ comando.getCommand().center(10) +str(comando.getValue()).center(10)
					+'-'.center(10)+'-'.center(10)+ time.strftime("%H:%M:%S").center(10)+'\n')
				if commandInput == '3':
					del sensorReceiver[sensorInput];
			else: 
				print 'el sensor no existe\n'
		else:
			print 'comando erroneo\n'
	exit(0)
Exemplo n.º 2
0
def sendData(sensor, condition, key):
	
	# Cada hilo que atiende a un sensor inicia un bucle mientras el sensor exista. 
	# Cuando el sensor desaparece del diccionario, el hilo termina su ejecucion
	while sensorDict.has_key(key):
		
		# Se adquiere el lock sobre la variable Condition para garantizar 
		# la exclusion mutua sobre la variable frecuencia de cada sensor
		condition.acquire()
		if (sensor.getSenseFlag() == True):
			condition.wait(sensor.getFrequency())		
			
			# Se prepara el dato y se lo envia
			dato = sensor.getData('client03', 5,100,' ')
			#datoAEnviar = str(dato.getData()) + ' ' + dato.getUnit()
			com.send(dato)
			
			# Si el comando recibido es un SENSE, espera por un nuevo comando que 
			# despierte el hilo
			if (sensor.getFrequency() == 0): 
				sensor.setSenseFlag(False)
				condition.wait()			
		condition.release()
	exit (0)
Exemplo n.º 3
0
def main():
	endMain = False
	os.system('clear')

	print '----------- MODULO DE COMUNICACION -----------\n'
	print '\t\t1 - Enviar mensaje/archivo'
	print '\t\t2 - Enviar instancia de mensaje'
	print '\t\t3 - Leer un mensaje'
	print '\t\t4 - Llamar a un número'
	print '\t\t5 - Atender la llamada'
	print '\t\t6 - Colgar la llamada'
	print '\t\t7 - Conectar GPRS'
	print '\t\t8 - Desconectar GPRS'
	print '\t\tq - Salir'
	print '\t\to - DEBUG: Abrir Comunicador'
	print '\t\tc - DEBUG: Cerrar Comunicador\n'

	communicator.open()

	while not endMain:
		try:
			#termios.tcflush(sys.stdin, termios.TCIOFLUSH) # Limpiamos el stdin
			optionSelected = raw_input()
			# Opcion 1 - Enviar mensaje
			if optionSelected is '1':
				# Preguntamos si se desea ver una lista con los clientes registrados
				selectClient = askClients()
				if selectClient is None:
					print 'Abortado.'
					continue
				# Indicamos el cliente al cual se va a enviar el mensaje
				receiver = raw_input('Cliente a enviar: ')
				# Indicamos el mensaje que se desea enviar
				messageToSend = raw_input('Mensaje a enviar: ')
				# Preguntamos si hay alguna preferencia en relación a los medios de comunicación
				selectMedia = askMedia()
				if selectMedia is True:
					# El medio preferido está dado por 'media'
					media = raw_input('Medio de comunicación preferido: ')
					communicator.send(messageToSend, receiver, media) # <----- IMPORTANTE
				elif selectMedia is False:
					# El medio se elige automáticamente
					communicator.send(messageToSend, receiver) # <----- IMPORTANTE
				else:
					print 'Abortado.'
					continue
			# Opcion 2 - Enviar instancia de mensaje
			elif optionSelected is '2':
				# Establecemos el campo 'sender'
				sender = raw_input('Nombre del emisor: ')
				# Preguntamos si se desea ver una lista con los clientes registrados
				selectClient = askClients()
				if selectClient is None:
					print 'Abortado.'
					continue
				# Establecemos el campo 'receiver'
				receiver = raw_input('Cliente a enviar: ')
				# Establecemos el campo 'infoText'
				infoText = raw_input('Mensaje a enviar: ')
				# Creamos la instancia de mensaje
				infoMessage = messageClass.InfoMessage(sender, receiver, infoText)
				# Preguntamos si hay alguna preferencia en relación a los medios de comunicación
				selectMedia = askMedia()
				if selectMedia is True:
					# El medio preferido está dado por 'media'
					media = raw_input('Medio de comunicación preferido: ')
					communicator.send(infoMessage, media = media) # <----- IMPORTANTE
				elif selectMedia is False:
					# El medio se elige automáticamente
					communicator.send(infoMessage) # <----- IMPORTANTE
				else:
					print 'Abortado.'
					continue
			# Opcion 3 - Leer un mensaje
			elif optionSelected is '3':
				messageReceived = communicator.receive()
				if messageReceived is not None:
					if isinstance(messageReceived, messageClass.Message):
						print 'Instancia de mensaje recibida: ' + str(messageReceived)
						print '\tPrioridad: ' + str(messageReceived.priority)
						print '\tEmisor: ' + messageReceived.sender
						if isinstance(messageReceived, messageClass.InfoMessage):
							print '\tMensaje de texto: ' + str(messageReceived.infoText)
					else:
						print 'Mensaje recibido: %s' % messageReceived
			# Opcion 4 - Llamar a un número
			elif optionSelected is '4':
				# Indicamos el número al cual efectuar la llamada de voz
				telephoneNumber = raw_input('Número a llamar: ')
				communicator.sendVoiceCall(telephoneNumber)
			# Opcion 5 - Atender la llamada
			elif optionSelected is '5':
				communicator.answerVoiceCall()
			# Opcion 6 - Colgar la llamada
			elif optionSelected is '6':
				communicator.hangUpVoiceCall()
			# Opcion 7 - Conectar GPRS
			elif optionSelected is '7':
				communicator.connectGprs()
			# Opcion 8 - Desconectar GPRS
			elif optionSelected is '8':
				communicator.disconnectGprs()
			elif optionSelected is 'q':
				endMain = True
			elif optionSelected is 'o':
				communicator.open()
			elif optionSelected is 'c':
				communicator.close()
			# Opcion inválida
			else:
				print 'Opción inválida!'
		except KeyboardInterrupt:
			endMain = True

	communicator.close()
	
	print '\n---------------- UNC - Fcefyn ----------------'
	print '---------- Ingeniería en Computación ---------'
Exemplo n.º 4
0
import multiprocessing
import time
import communicator
import csv
import os.path
import platform


communicator = communicator.Communicator("youcanchangethis")
communicator.setdefaultreceiver("127.0.0.1",1234)

message="Hello! ;)"

OS={
  
  "name" : platform.system(),
  "version" : platform.release()
}

Lang={
  "name" : "Python",
  "version" : platform.python_version()
}

sendingImage=buffer(open("./logo image/python logo.png", "rb").read())

communicator.send({"msg":message,"os":OS["name"],"osversion":OS["version"],"lang":Lang["name"],"langversion":Lang["version"],"senderimg":sendingImage  },"TestMessage")
  
print ("Message was sent")

raw_input()