def main(): #GPIO Init GPIO.setmode(GPIO.BCM) GPIO.cleanup() #GPIO test GPIO.setup(17, GPIO.OUT) GPIO.output(17, 0) #Sensor setup s = Sensor(pin=14) s.read()
def sensor_data(): sensor = Sensor.connect(device) data = Sensor.read(sensor) payload = { 'time_local': datetime.datetime.now().isoformat(), 'pm_2_5': Sensor.to_pm_2_5(data), 'pm_10': Sensor.to_pm_10(data) } return jsonify(payload)
class Slice(Thread): def __init__(self, local=False, interval=INTERVAL): Thread.__init__(self) self.done = None self.interval = interval self.local = local self.sensor = Sensor() def run(self): self.done = Event() while not self.done.wait(self.interval): info = self.sensor.read() if info: if self.local: print info else: self.send(info) else: print('The sensor could not be read') def send(self, info): # search for the server service service_matches = bt.find_service(uuid=UUID) if not service_matches: print('The server could not be found') first_match = service_matches[0] port = first_match['port'] name = first_match['name'] host = first_match['host'] print('Attempting to connect to \'%s\' on %s' % (name, host)) # Create the client socket sock = bt.BluetoothSocket(bt.RFCOMM) sock.connect((host, port)) print('The connection has been accepted by the server') sock.send(str(info)) print('The information has been sent') sock.close() print('The client socket has been closed') def stop(self): try: self.done.set() except AttributeError: print('The client cannot be stopped. It is not running') else: print('The client has been stopped')
def main(): client_id = "sensorPublisher" broker_ip = "127.0.0.1" topic = "/sensors/temp" qos = 2 sleep_time = 1 sensor = Sensor() publisher = Publisher(client_id) publisher.connect(broker_ip) publisher.loop_start() try: while True: msg = sensor.read() publisher.publish(topic, msg, qos, retain=True) sleep(sleep_time) except KeyboardInterrupt: publisher.disconnect() publisher.loop_stop()
high = 73 low = 70 state_hi = False no_of_objects = 0 t0 = time.time() f = open("data.txt", "w") f.close() counter = 0 while True: value = sensor.read(boost=True) history.append(value) filtered = np.mean(history) # with open("data.txt","a") as f: # f.write("{}\n".format(filtered)) # time.sleep(0.1) object_found = False if filtered > high and not state_hi: state_hi = True if filtered > high:
# Создаем описание колонок spr_sheet.create_Cols_Description() # Устанавливаем флаг коннекта к Spreadsheet API is_Connected_To_Spreadsheet = True # Записываем время коннекта к серверам last_Auth_Refresh_Time = datetime.now() first_Try_To_Connect = False # Loop while True: try: # Снимаем показания и записываем в файл temperature, humidity = sensor.read() logger.info(f'{datetime.now()} Температура = {temperature}' + '\u2103 ' + f'Влажность = {humidity} %') temp_logfile.write_Data(temperature, humidity) # Если включена отправка на почту / в таблицу if is_Connected(site_For_Check) == False \ and ( mail_Status is True or spreadsheet_Status is True ): # Ставим переменные в ложь для того, чтобы перелогиниться после того как появится интернет is_Connected_To_Mail, is_Connected_To_Spreadsheet = False, False logger.critical( 'Connection lost, cannot sell mail/upload data to spreadsheet, retry on next cycle'
from filterpy.kalman import KalmanFilter # general parameters sensor1_rate = 250 # Hz sensor2_rate = 60 # Hz sensor1_var = 0.1 # variance sensor2_var = 1 # variance # Create the true path time = np.linspace(0, 1, 1000) path = 10 * np.sin(0.1 * 2 * np.pi * time) # Create sensor measurements of the path sensor1 = Sensor(sensor1_var, sensor1_rate) sensor2 = Sensor(sensor2_var, sensor2_rate) sensor1_time, sensor1_z = sensor1.read(path, time) sensor2_time, sensor2_z = sensor2.read(path, time) # Create the filter kf = KalmanFilter(dim_x=2, dim_z=1) kf.F = array() dt = 1 / 125 r_var = 0.1**2 q_var = 10 sensor = tkf.mySensor(r_var) cvfilter = tkf.standard_cvfilter(r_var, q_var, dt) adaptive_Q_cvfilter = tkf.adaptive_Q_cvfilter(r_var, 1, dt, 5, 10) zarchan_adaptive_cvfilter = tkf.zarchan_adaptive_cvfilter( r_var, 1, dt, 1, 10000)