コード例 #1
0
ファイル: gpio-subscriber.py プロジェクト: stevewoolley/IoT
def receive_command(client, userdata, message):
    message_json = MqttClient.parse_payload(message.payload)
    if has_key_chain(message_json, 'state', 'desired', args.name):
        logger.info('gpio-subscriber: receive_command: relay_pulse %s %s' % (
            args.name, str(message_json['state']['desired'][args.name])))
        relay.pulse()
    else:
        logger.debug(
            "gpio-subscriber: receive_command: unmatched %s not_in %s" % (args.name, str(message_json)))  # debug
コード例 #2
0
ファイル: buzzer-monitor.py プロジェクト: stevewoolley/IoT
def receive_command(client, userdata, message):
    if SUBSCRIPTIONS.has_key(message.topic):
        logger.debug("buzzer: received: %s %s" % (message.topic, message.payload))
        message_json = MqttClient.parse_payload(message.payload)
        for k, v in SUBSCRIPTIONS[message.topic].iteritems():
            if has_key_array(message_json, k.split('/')):
                if v == None or v == dict_value(message_json, k.split('/')):
                    logger.info('buzzer-monitor: beep %s' % str(v))
                    buzzer.beep(beep_duration=args.beep_duration, quiet_duration=args.quiet_duration,
                                count=args.beep_count)
コード例 #3
0
ファイル: video-monitor.py プロジェクト: stevewoolley/IoT
def receive_command(client, userdata, message):
    message_json = MqttClient.parse_payload(message.payload)
    if has_key_chain(message_json, 'state', 'desired', VIDEO_MONITOR):
        my_state = message_json['state']['desired'][VIDEO_MONITOR]
        logger.info('video-monitor: received: %s %s' % (VIDEO_MONITOR, my_state))
        _set_monitoring(my_state)
        MqttClient.publish(args, args.topic,
                           {'state': {
                               'reported': {VIDEO_MONITOR: my_state}}})
    if has_key_chain(message_json, 'state', 'desired', SNAPSHOT):
        my_state = message_json['state']['desired'][SNAPSHOT]
        logger.info('video-monitor: received: %s %s' % (SNAPSHOT, my_state))
        move_to_s3(video.snapshot(), args.bucket, FOLDER, args.hostname + '.png')
        MqttClient.publish(args, args.topic,
                           {'state': {'reported': {SNAPSHOT: my_state}}})
コード例 #4
0
ファイル: chomp.py プロジェクト: stevewoolley/IoT
def receive_command(client, obj, message):
    message_json = MqttClient.parse_payload(message.payload)
    print("chomp: %s %s %s" % (mqtt.endpoint, message.topic, str(message_json)))