parser.add_argument("-o", "--topic2", help="Additional MQTT topic") parser.add_argument("-t", "--topic", help="MQTT topic", required=True) # specific parser.add_argument("-s", "--topic_key", help="MQTT topic key", required=True) parser.add_argument("-w", "--wait", help="time between readings", type=float, default=0.5) parser.add_argument("-i", "--pin", help="gpio pin (BCM)", type=int, required=True) parser.add_argument("-y", "--high_value", help="high value", default=Sensor.HIGH) parser.add_argument("-z", "--low_value", help="low value", default=Sensor.LOW) parser.add_argument("-g", "--log_level", help="logging level", type=int, default=logging.INFO) args = parser.parse_args() # logging setup logger = set_logger(level=args.log_level) sensor = Sensor(args.pin) sensor.start() last_state = None status = None while True: current_state = sensor.reading() if current_state != last_state: last_state = current_state # reset state value if current_state == Sensor.LOW: status = args.low_value else: status = args.high_value logger.debug("sensor-monitor: changed %s %s" % (args.topic_key, str(status))) # publish MqttClient.publish(args, args.topic, {'state': {'reported': {args.topic_key: status}}}) if args.topic2 is not None:
from sys import argv from sensor import Sensor if len(argv) < 3 : print "Brakujacy parametr podczas uruchomienia!" print "%s [port sensora] [adres i port monitora]" % (argv[0]) exit() if __name__ == "__main__": s = Sensor(argv[1], argv[2]) s.start()
import yaml from multiprocessing import Process, Queue import time print "라즈베리파이 센서&카메라 테스트를 시작합니다." # 끝에 &를 붙여주면, 백그라운드에서 진행됩니다~ # os.system("python sensor/all_upload.py &") # os.system("python camera/timelapse.py") # Server Url URL = 'http://deepmind.dothome.co.kr/controller.php' # config.yml에서 설정한것들을 가져옴 config = yaml.safe_load(open('camera/config.yml')) video_dir = os.path.join(sys.path[0], 'camera/video') config['video_dir'] = video_dir sensor = Sensor(URL) timelapse = Timelapse(config) sensor.start() timelapse.start() # queue = Queue() # processes = { # 'sensor': Process(target=sensor.start), # 'timelapse': Process(target=timelapse.start) # } # processes['timelapse'].start() # processes['sensor'].start()
self.setpoint_rp = rp self.setpoint_yaw = yaw def reset(self, yaw=0): self.recently_reset = True self.yaw_pid.reset() self.rp_pid.reset() self.start_time = time.time() self.prev_time = self.start_time self.curr_time = self.start_time if __name__ == "__main__": from sensor import Sensor sensor = Sensor(configFile="../config/RTIMULib") sensor.start() # start pulling data from IMU in a parallel thread stabilizer = Stabilizer() fusion_pose = None loop_frequency = 10 # Hz while sensor.imu_data is None: # wait for IMU data to start coming in time.sleep(0.5) while True: loop_start_time = time.time() data = sensor.imu_data fusion_pose = data["fusionPose"] print fusion_pose stabilizer.step(*fusion_pose) remaining_time = (1. / loop_frequency) - (time.time() - loop_start_time) if remaining_time > 0: