def kill(self):
        '''
		function call to kill the current running
		'''
        if self.event != None:
            self.event.cancel()
        accelerometer.disable()
Exemple #2
0
def get_accelerometer_activity():
    accelerometer.enable()
    i = 0
    asum = 0.0
    lastx = lasty = lastz = 0
    sleep(0.2)
    val = accelerometer.acceleration[:3]
    if (not val == (None, None, None)):
        lastx = val[0]
        lasty = val[1]
        lastz = val[2]
        Logger.info("x: " + str(val[0]) + "  y: " + str(val[1]) + "  z: " + str(val[2]))

    while i < 5:
        val = accelerometer.acceleration[:3]
        if (not val == (None, None, None)):
            asum += abs(val[0] - lastx) + abs(val[1] - lasty) + abs(val[2] - lastz)
            Logger.info("y-ac: " + str(datetime.now()) + "; asum: " + str(round(asum, 2)) + "; x: " + str(round(val[0], 2)) + "  y: " + str(round(val[1], 2)) + "  z: " + str(round(val[2], 2)))
            lastx = val[0]
            lasty = val[1]
            lastz = val[2]
            i += 1
        else:
            Logger.info("no accelerometer-values at " + str(datetime.now()) + "; " + str(asum))

        sleep(0.1)
    Logger.info("asum: " + str(asum))
    accelerometer.disable()
    return asum, val
    def iniciar(self):
        try:
            if self.pressed_start != True:  #pulsamos start
                self.label1.text = 'Conectando ....'

                if self.conectar():  #conectado
                    self.label1.text = 'Conectado'
                    self.pressed_start = True
                    self.boton.text = 'Parar'
                    self.medida_y_envio(
                    )  #realizar la lectura y el envio de datos en loop

                else:
                    self.label1.text = 'Error conexion'
                    self.pressed_start = False  #lo mantenemos como false

            else:  #pulsamos finalizar
                accelerometer.disable()
                Clock.unschedule(self.obtener_accelero)
                self.label1.text = 'Desconectado'
                self.label2.text = 'Sin datos'
                self.boton.text = 'Iniciar'
                self.pressed_start = False  #reiniciamos el start/stop
                self.contador = 0
                self.desconectar()

        except NotImplementedError:
            import traceback
            traceback.print_exc()
Exemple #4
0
    def sensor_init(self):
        """accelerometer est une variable globale, non reconnue par le thread"""
        print("Lancement de l'accéléromètre...")
        if self.sensor_enabled == 0:
            if ANDROID:
                # #while self.sensor_enabled == 1:
                    # #sleep(2)
                try:
                    accelerometer.enable()
                    sleep(1)
                    self.sensor_enabled = 1
                    # #self.status_msg = "Stop Accelerometer"
                    print("Android sensor enable")
                except:
                    accelerometer.disable()
                    self.sensor_enabled = 0
                    print("Android sensor doesn't work!")
                    # #self.status_msg = "Android sensor doesn't work!"
            else: # Linux
                self.status_msg = "Stop Virtual Accelerometer"
                self.sensor_enabled = 2
                self.virtual_acceler = VirtualAccelerometer()
                print("Virtual sensor enabled")

        # Display
        if self.sensor_enabled == 1: sens = "Android"
        elif self.sensor_enabled == 2: sens = "Virtual"
        else : sens = "No sensor"
        self.client.send_message(b'/sensor', [sens.encode('utf-8')])
Exemple #5
0
 def close(self,instance=None):
     try:
         self.internet.close_connet()
         chat.screen_manager.current = "loing"
         Clock.unschedule(self.get_acceleration)#關閉加速度讀取
         accelerometer.disable()
     except:
         pass
    def menu_callback(self, button):
        if self.quick_and_short( button.last_touch ) and not self.in_success_screen:
            # Disable the devices.
            accelerometer.disable()

            self.go_to_menu()
            if self.engine_running:
                self.reset()
 def disable_all(self):
     GlobalShared.direction = 0
     GlobalShared.speed = 0
     GlobalShared.forward_back = 1
     GlobalShared.left_arrow = 1
     GlobalShared.right_arrow = 1
     accelerometer.disable()
     Clock.schedule_once(self.disable_clock, 2)
Exemple #8
0
	def  onSetAccelerometer(self,state):
		if self.vibrate:
			vibrator.vibrate(0.05)
		if state == "down":
			p = AcclPopup(bindroot=self)
			p.open()
		else:
			accelerometer.disable()
			Clock.unschedule(self.accl)
			self.padctrl.PadMode()
Exemple #9
0
    def do_toggle(self):
        if not self.sensorEnabled:
            accelerometer.enable()
            Clock.schedule_interval(self.get_acceleration, refresh_rate)

            self.sensorEnabled = True
        else:
            accelerometer.disable()
            Clock.unschedule(self.get_acceleration)

            self.sensorEnabled = False
            self.ids.toggle_acc_button.text = "Accelerometer"
    def is_implemented(self):
        try:
            accelerometer.enable()
            print(accelerometer.acceleration[:3])

            accelerometer.disable()
            return True
        except:
            # import traceback
            # traceback.print_exc()
            print('Accelerometer is not implemented for your platform')
            return False
Exemple #11
0
def startGPS():
    """start up the GPS"""
    global batteryAtStart, gpsRunning, lastGPSMeasuredAt, prevAccel
    if gpsService:
        try:
            gpsService.configure(on_location=on_location)
            gpsService.start(gpsMinTime, gpsMinDistance)
            accelerometer.disable()
            prevAccel = None
            logging.info("gps started")
            sendMsg('gps started')
            lastGPSMeasuredAt = datetime.datetime.now()
            gpsRunning = True
        except Exception as e:
            sendMsg('failed to start GPS: ' + e.message)
            logging.exception("failed to start gps")
Exemple #12
0
    def do_toggle(self):
        try:
            if not self.sensorEnabled:
                accelerometer.enable()
                Clock.schedule_interval(self.get_acceleration, 5/1000)
                self.sensorEnabled = True
            else:
                accelerometer.disable()
                self.reset_plots()
                Clock.unschedule(self.get_acceleration)

                self.sensorEnabled = False
                
        except NotImplementedError:
                popup = ErrorPopup()
                popup.open()
Exemple #13
0
    def pressed1(self):
        try:
            if not self.sensorEnabled:
                accelerometer.enable()
                Clock.schedule_interval(self.get_acceleration, 1 / 20.)

                self.sensorEnabled = True
                self.ids.button1.text = "Stop"
            else:
                accelerometer.disable()
                Clock.unschedule(self.get_acceleration)

                self.sensorEnabled = False
                self.ids.button1.text = "Start"
        except NotImplementedError:
            import traceback; traceback.print_exc()
            self.ids.status.text = "Accelerometer is not supported for your platform"
Exemple #14
0
    def do_toggle(self):
        try:
            if not self.sensorEnabled:
                accelerometer.enable()
                Clock.schedule_interval(self.get_acceleration, 1 / 20.)

                self.sensorEnabled = True
                self.ids.toggle_button.text = "Stop Accelerometer"
            else:
                accelerometer.disable()
                Clock.unschedule(self.get_acceleration)

                self.sensorEnabled = False
                self.ids.toggle_button.text = "Start Accelerometer"
        except NotImplementedError:
            import traceback; traceback.print_exc()
            self.ids.accel_status.text = "Accelerometer is not implemented for your platform"
Exemple #15
0
    def do_toggle(self):
        try:
            if not self.sensorEnabled:
                accelerometer.enable()
                Clock.schedule_interval(self.get_acceleration, 1 / 20.)

                self.sensorEnabled = True
                self.ids.toggle_button.text = "Stop Accelerometer"
            else:
                accelerometer.disable()
                self.reset_plots()
                Clock.unschedule(self.get_acceleration)

                self.sensorEnabled = False
                self.ids.toggle_button.text = "Start Accelerometer"
        except NotImplementedError:
            popup = ErrorPopup()
            popup.open()
Exemple #16
0
    def do_toggle(self):
        try:
            if not self.sensorEnabled:
                accelerometer.enable()
                Clock.schedule_interval(self.get_acceleration, 1 / 20.)

                self.sensorEnabled = True
                self.ids.toggle_button.text = "Stop Accelerometer"
            else:
                accelerometer.disable()
                self.reset_plots()
                Clock.unschedule(self.get_acceleration)

                self.sensorEnabled = False
                self.ids.toggle_button.text = "Start Accelerometer"
        except NotImplementedError:
                popup = ErrorPopup()
                popup.open()
Exemple #17
0
 def do_toggle(self):
     if self.sensor_status:
         try:
             accelerometer.enable()
             #increase the value of denominator to get more accurate /real time values
             Clock.schedule_interval(self.get_acceleration, 1.0 / 3)
             self.sensor_status = False
             self.ids.togglebutton.text = 'Stop'
             self.ids.value.text = 'Sending data to host'
         except:
             self.ids.value.text = 'Try Again Later'
     else:
         self.sensor_status = True
         self.ids.togglebutton.text = 'Start'
         self.ids.value.text = 'start again'
         accelerometer.disable()
         Clock.unschedule(self.get_acceleration)
         self.fh.close()
Exemple #18
0
    def do_toggle(self):
        try:
            if not self.sensorEnabled:
                accelerometer.enable()
                Clock.schedule_interval(self.get_acceleration, 1 / 20.)

                self.sensorEnabled = True
                self.ids.toggle_button.text = "Stop Accelerometer"
            else:
                accelerometer.disable()
                Clock.unschedule(self.get_acceleration)

                self.sensorEnabled = False
                self.ids.toggle_button.text = "Start Accelerometer"
        except NotImplementedError:
            import traceback
            traceback.print_exc()
            status = "Accelerometer is not implemented for your platform"
            self.ids.accel_status.text = status
    def tofile(self):
        try:
            if self.pressed_start != True:  #pulsamos start
                self.label1.text = 'Guardando datos en archivo'
                self.archivo = open('Datos.txt', 'w')
                self.archivo.write('dT=' + str(dT) + '\n')
                self.pressed_start = True
                self.medida_y_envio(True)
            else:  #pulsamos finalizar
                accelerometer.disable()
                Clock.unschedule(self.write_accelero)
                self.label1.text = 'Desconectado'
                self.label2.text = 'Datos guardados en \n' + os.getcwd()
                self.archivo.close()
                self.pressed_start = False  #reiniciamos el start/stop
                self.contador = 0

        except NotImplementedError:
            import traceback
            traceback.print_exc()
    def startrecording(self):
        popup = Popup(content=Label(
            text='Make sure to center your phone on the net before continuing'
        ),
                      size_hint=(0.4, 0.4))
        popup.open()
        if self.ids.recordbutton.text == "Start Recording Positions":
            #collecting accelerometer data
            accelerometer.enable()
            Clock.schedule_interval(self.get_acceleration, 1 / 20.)

            self.ids.recordbutton.text = "Stop Recording Position Data"
            self.ids.recordinglabel.text = "Recording Data Now!"
            screens[2].animate()
        else:
            accelerometer.disable()
            Clock.unschedule(self.get_acceleration)

            self.ids.recordbutton.text = "Finished Game!"
            self.ids.recordinglabel.text = "Finished Game! Waiting for other's data to send!"
            self.ids.recordbutton.disabled = True
def mk_hardware_accelerometer_off():
    """
    Turn off accelerometer
    """
    accelerometer.disable()
    Clock.unschedule(mk_get_acceleration)
Exemple #22
0
 def on_stop(self, msg):
     print("stop =", msg)
     accelerometer.disable()
     # Fin de boucle avec msg = 0
     self.loop = int(msg)
Exemple #23
0
	def publish_terminal(self, terminal, _data_queue):
		terminal.insert_text("\n")
  
		if (platform == 'android') or (platform == 'ios'):
			try:
				vibrator.vibrate(1)
			except:
				pass

			#Accelerometer
			if self._data_object.get("sensor") == "Accelerometer":
				try:
					accelerometer.enable()
				except Exception as _exp:
					terminal.insert_text("Exception: " + str(_exp) + "\n")
					return
				previous_payload_hash = None	
				while True:
					if _data_queue.empty() is False:
						qdata = _data_queue.get()
						if qdata == "exit":
							try:
								accelerometer.disable()
							except:
								pass
							break
					if None in accelerometer.acceleration:
						pass
					else:
						payload_hash = hashlib.md5(str(accelerometer.acceleration).encode('utf-8')).hexdigest()
						if (previous_payload_hash is not None):
							if (previous_payload_hash == payload_hash):
								pass
							else:
								previous_payload_hash = payload_hash
								payload = "(x, y, z): " + str(accelerometer.acceleration)
								terminal.insert_text(payload + "\n")
								if (self._data_object.get("protocol") != "terminal"):
									try:
										terminal.insert_text("xmit status: " + self.xmit_payload(payload) + "\n")
									except Exception as _exp:
										terminal.insert_text("Exception: " + str(_exp) + "\n")
										return
								time.sleep(0.1)
						else:
							payload = "(x, y, z): " + str(accelerometer.acceleration)
							terminal.insert_text(payload + "\n")
							if (self._data_object.get("protocol") != "terminal"):
								try:
									terminal.insert_text("xmit status: " + self.xmit_payload(payload) + "\n")
								except Exception as _exp:
									terminal.insert_text("Exception: " + str(_exp) + "\n")
									return
							time.sleep(0.1)
			#Compass
			elif self._data_object.get("sensor") == "Compass":
				try:
					compass.enable()
				except Exception as _exp:
					terminal.insert_text("Exception: " + str(_exp) + "\n")
					return
				previous_payload_hash = None	
				while True:
					if _data_queue.empty() is False:
						qdata = _data_queue.get()
						if qdata == "exit":
							try:
								compass.disable()
							except:
								pass
							break
					if None in compass.field:
						pass
					else:
						payload_hash = hashlib.md5(str(compass.field).encode('utf-8')).hexdigest()
						if (previous_payload_hash is not None):
							if (previous_payload_hash == payload_hash):
								pass
							else:
								previous_payload_hash = payload_hash
								payload = "(x, y, z): " + str(compass.field)
								terminal.insert_text(payload + "\n")
								if (self._data_object.get("protocol") != "terminal"):
									try:
										terminal.insert_text("xmit status: " + self.xmit_payload(payload) + "\n")
									except Exception as _exp:
										terminal.insert_text("Exception: " + str(_exp) + "\n")
										return
								time.sleep(0.1)
						else:
							payload = "(x, y, z): " + str(compass.field)
							terminal.insert_text(payload + "\n")
							if (self._data_object.get("protocol") != "terminal"):
								try:
									terminal.insert_text("xmit status: " + self.xmit_payload(payload) + "\n")
								except Exception as _exp:
									terminal.insert_text("Exception: " + str(_exp) + "\n")
									return
							time.sleep(0.1)
			#GPS
			elif self._data_object.get("sensor") == "GPS":
				try:
					gps.configure(on_location=self.on_location, on_status=self.on_status)
					gps.start(1000, 0)
				except Exception as _exp:
					terminal.insert_text("Exception: " + str(_exp) + "\n")
					return
				previous_payload_hash = None	
				while True:
					if _data_queue.empty() is False:
						qdata = _data_queue.get()
						if qdata == "exit":
							try:
								gps.stop()
							except:
								pass
							break
					if self.gps_location is None:
						pass
					else:
						payload_hash = hashlib.md5(str(self.gps_location).encode('utf-8')).hexdigest()
						if (previous_payload_hash is not None):
							if (previous_payload_hash == payload_hash):
								pass
							else:
								previous_payload_hash = payload_hash
								payload = str(self.gps_location)
								terminal.insert_text(payload + "\n")
								if (self._data_object.get("protocol") != "terminal"):
									try:
										terminal.insert_text("xmit status: " + self.xmit_payload(payload) + "\n")
									except Exception as _exp:
										terminal.insert_text("Exception: " + str(_exp) + "\n")
										return
								time.sleep(3)
						else:
							payload = str(self.gps_location)
							terminal.insert_text(payload + "\n")
							if (self._data_object.get("protocol") != "terminal"):
								try:
									terminal.insert_text("xmit status: " + self.xmit_payload(payload) + "\n")
								except Exception as _exp:
									terminal.insert_text("Exception: " + str(_exp) + "\n")
									return
							time.sleep(0.5)
			#Barometer
			elif self._data_object.get("sensor") == "Barometer":
				try:
					barometer.enable()
				except Exception as _exp:
					terminal.insert_text("Exception: " + str(_exp) + "\n")
					return
				previous_payload_hash = None	
				while True:
					if _data_queue.empty() is False:
						qdata = _data_queue.get()
						if qdata == "exit":
							try:
								barometer.disable()
							except:
								pass
							break
					if barometer.pressure is None:
						pass
					else:
						payload_hash = hashlib.md5(str(barometer.pressure).encode('utf-8')).hexdigest()
						if (previous_payload_hash is not None):
							if (previous_payload_hash == payload_hash):
								pass
							else:
								previous_payload_hash = payload_hash
								payload = "hPa: " + str(barometer.pressure)
								terminal.insert_text(payload + "\n")
								if (self._data_object.get("protocol") != "terminal"):
									try:
										terminal.insert_text("xmit status: " + self.xmit_payload(payload) + "\n")
									except Exception as _exp:
										terminal.insert_text("Exception: " + str(_exp) + "\n")
										return
								time.sleep(0.1)
						else:
							payload = "hPa: " + str(barometer.pressure)
							terminal.insert_text(payload + "\n")
							if (self._data_object.get("protocol") != "terminal"):
								try:
									terminal.insert_text("xmit status: " + self.xmit_payload(payload) + "\n")
								except Exception as _exp:
									terminal.insert_text("Exception: " + str(_exp) + "\n")
									return
			#Gravity
			elif self._data_object.get("sensor") == "Gravity":
				try:
					gravity.enable()
				except Exception as _exp:
					terminal.insert_text("Exception: " + str(_exp) + "\n")
					return
				previous_payload_hash = None	
				while True:
					if _data_queue.empty() is False:
						qdata = _data_queue.get()
						if qdata == "exit":
							try:
								gravity.disable()
							except:
								pass
							break
					if None in gravity.gravity:
						pass
					else:
						payload_hash = hashlib.md5(str(gravity.gravity).encode('utf-8')).hexdigest()
						if (previous_payload_hash is not None):
							if (previous_payload_hash == payload_hash):
								pass
							else:
								previous_payload_hash = payload_hash
								payload = "(x, y, z): " + str(gravity.gravity)
								terminal.insert_text(payload + "\n")
								if (self._data_object.get("protocol") != "terminal"):
									try:
										terminal.insert_text("xmit status: " + self.xmit_payload(payload) + "\n")
									except Exception as _exp:
										terminal.insert_text("Exception: " + str(_exp) + "\n")
										return
								time.sleep(0.1)
						else:
							payload = "(x, y, z): " + str(gravity.gravity)
							terminal.insert_text(payload + "\n")
							if (self._data_object.get("protocol") != "terminal"):
								try:
									terminal.insert_text("xmit status: " + self.xmit_payload(payload) + "\n")
								except Exception as _exp:
									terminal.insert_text("Exception: " + str(_exp) + "\n")
									return
			#Gyroscope
			elif self._data_object.get("sensor") == "Gyroscope":
				try:
					gyroscope.enable()
				except Exception as _exp:
					terminal.insert_text("Exception: " + str(_exp) + "\n")
					return
				previous_payload_hash = None	
				while True:
					if _data_queue.empty() is False:
						qdata = _data_queue.get()
						if qdata == "exit":
							try:
								gyroscope.disable()
							except:
								pass
							break
					if None in gyroscope.rotation:
						pass
					else:
						payload_hash = hashlib.md5(str(gyroscope.rotation).encode('utf-8')).hexdigest()
						if (previous_payload_hash is not None):
							if (previous_payload_hash == payload_hash):
								pass
							else:
								previous_payload_hash = payload_hash
								payload = "(x, y, z): " + str(gyroscope.rotation)
								terminal.insert_text(payload + "\n")
								if (self._data_object.get("protocol") != "terminal"):
									try:
										terminal.insert_text("xmit status: " + self.xmit_payload(payload) + "\n")
									except Exception as _exp:
										terminal.insert_text("Exception: " + str(_exp) + "\n")
										return
								time.sleep(0.1)
						else:
								payload = "(x, y, z): " + str(gyroscope.rotation)
								terminal.insert_text(payload + "\n")
								if (self._data_object.get("protocol") != "terminal"):
									try:
										terminal.insert_text("xmit status: " + self.xmit_payload(payload) + "\n")
									except Exception as _exp:
										terminal.insert_text("Exception: " + str(_exp) + "\n")
										return
			else:
				pass
		else:
			while True:
				if _data_queue.empty() is False:
					qdata = _data_queue.get()
					if qdata == "exit":
						break
				payload = "time: " + str(time.strftime("%c", time.gmtime()))
				terminal.insert_text(payload + "\n")
				if (self._data_object.get("protocol") != "terminal"):
					try:
						terminal.insert_text("xmit status: " + self.xmit_payload(payload) + "\n")
					except Exception as _exp:
						terminal.insert_text("Exception: " + str(_exp) + "\n")
						return
				time.sleep(2)
 def stop_client(self, instance):
     self.event.cancel()
     accelerometer.disable()
Exemple #25
0
 def on_pause(self):
     Clock.unschedule(self.get_acceleration)
     if self.has_accelerometer:
         accelerometer.disable()
Exemple #26
0
 def stop_clock(self):
     Clock.unschedule(self.update_tele_coordinates, all=True)
     accelerometer.disable()
     self.accOn = 0
 def stop(self):
     if self.working:
         accelerometer.disable()