def main(): sfm = find_sensor_by_type('sfm3000') sdp = find_sensor_by_type('sdp600') sht = find_sensor_by_type('sht3x') if not all((sfm, sdp, sht)): sys.stderr.writelines("couldn't find all sensors\n") return def print_sensor_values(sensor_name): def print_to_console(timestamp, values): print "{0}: {1}".format(sensor_name, values.values()[0]) return True return print_to_console try: sfm_reader = SensorReader((sfm,), 100, print_sensor_values('sfm')) sdp_reader = SensorReader((sdp,), 10, print_sensor_values('sdp')) sht_reader = SensorReader((sht,), 1, print_sensor_values('sht')) sfm_reader.start() sdp_reader.start() sht_reader.run() finally: sfm_reader.join() sdp_reader.join()
def main(): sfm = find_sensor_by_type('sfm3000') sdp = find_sensor_by_type('sdp600') sht = find_sensor_by_type('sht3x') if not all((sfm, sdp, sht)): sys.stderr.writelines("couldn't find all sensors\n") return def print_sensor_values(sensor_name): def print_to_console(timestamp, values): print "{0}: {1}".format(sensor_name, values.values()[0]) return True return print_to_console try: sfm_reader = SensorReader((sfm, ), 100, print_sensor_values('sfm')) sdp_reader = SensorReader((sdp, ), 10, print_sensor_values('sdp')) sht_reader = SensorReader((sht, ), 1, print_sensor_values('sht')) sfm_reader.start() sdp_reader.start() sht_reader.run() finally: sfm_reader.join() sdp_reader.join()
def readSensor(): shtObj = find_sensor_by_type('sht3x') if not shtObj: return -1 def reportSensorValues(sensorName): def sensorValue(timestamp, values): global value if sys.version_info >= (3, 0): value = list(values.values())[0] else: value = values.values()[0] sensorObj.stop() return sensorValue try: sensorObj = SensorReader((shtObj, ), 1, reportSensorValues('shtObj')) sensorObj.start() finally: sensorObj.join() return 0
def main(): print('detecting sensors') sdp = find_sensor_by_type('sdp600') if not sdp: sys.stderr.writelines("couldn't find any sensors\n") return print('connecting to mqtt') client = mqtt.Client() client.on_connect = on_connect client.connect("139.59.172.240", 1884) print('connected') def send_sensor_values(sensor, sensor_name): def send(timestamp, values): global lst, counter measurements = values.values()[0] if all(m is not None for m in measurements): val = measurements[0] lst.append(val) print(counter) if counter == 6: val = sum(lst) / len(lst) payload = { "id": str(uuid.uuid4()), "createdAt": time.time(), "ip": "piSerial#", "ok": "true", "sensor": "Sdp610", "val": val } print(payload) client.publish('Sdp610', json.dumps(payload)) lst = [] counter = 0 counter += 1 return send def signal_handler(signal, frame): print('terminating') client.disconnect() signal.signal(signal.SIGINT, signal_handler) try: if sdp: lst = [] counter = 0 sdp_reader = SensorReader((sdp, ), (1), send_sensor_values(sdp, 'sdp')) sdp_reader.start() client.loop_forever() finally: client.loop_stop() if sdp: sdp_reader.join()
def main(): print('detecting sensors') sfm = find_sensor_by_type('sfm3000') sdp = find_sensor_by_type('sdp600') sht = find_sensor_by_type('sht3x') if not any((sfm, sdp, sht)): sys.stderr.writelines("couldn't find any sensors\n") return print('connecting to mqtt') client = mqtt.Client() client.on_connect = on_connect client.connect("localhost") def send_sensor_values(sensor, sensor_name): topic = 'sensors/{0}/{1}/values'.format(socket.gethostname(), sensor_name) units = sensor.get_units() def send(timestamp, values): measurements = values.values()[0] if all(m is not None for m in measurements): payload = { "timestamp": timestamp, "values": measurements, "units": units, } client.publish(topic, json.dumps(payload)) return send def signal_handler(signal, frame): print('terminating') client.disconnect() signal.signal(signal.SIGINT, signal_handler) try: if sfm: sfm_reader = SensorReader((sfm,), 100, send_sensor_values(sfm, 'sfm')) sfm_reader.start() if sdp: sdp_reader = SensorReader((sdp,), 10, send_sensor_values(sdp, 'sdp')) sdp_reader.start() if sht: sht_reader = SensorReader((sht,), 1, send_sensor_values(sht, 'sht')) sht_reader.start() client.loop_forever() finally: client.loop_stop() if sfm: sfm_reader.join() if sdp: sdp_reader.join() if sht: sht_reader.join()