Exemple #1
0
app = Flask(__name__)
 
@app.route('/')
def index():
	return render_template('index.html',relays = Relay.relays)

@app.route('/api')
def api():
	mode = int(request.args.get('mode'))
	relayNumber = int(request.args.get('relay'))-1
	Relay.relays[relayNumber].mode=mode
	return ""

@app.route('/states.json')
def states():
    d = [relay.state for relay in Relay.relays]
    return jsonify(d)

@app.route('/favicon.ico')
def favicon():
	return send_from_directory(os.path.join(app.root_path, 'static'),
		'favicon.ico', mimetype='image/vnd.microsoft.icon')

if __name__ == '__main__':
	Relay.start()
	app.run(host='0.0.0.0')
	Relay.clean()



Exemple #2
0
    else:
        logger.debug(
            "gpio-subscriber: receive_command: unmatched %s not_in %s" % (args.name, str(message_json)))  # debug


# parse arguments
parser = argparse.ArgumentParser()
parser.add_argument("-e", "--endpoint", help="AWS IoT endpoint", required=True)
parser.add_argument("-r", "--ca_file", help="Certificate Authority file", default='rootCA.pem')
parser.add_argument("-c", "--client_cert_file", help="Client certificate file", default='certificate.pem')
parser.add_argument("-k", "--client_key_file", help="Client Key File", default='private.pem')
parser.add_argument("-p", "--port", help="MQTT port", type=int, default=8883)
parser.add_argument("-q", "--qos", help="MQTT QoS", type=int, default=1)
parser.add_argument("-t", "--topic", help="MQTT topic")
parser.add_argument("-i", "--pin", help="gpio pin (using BCM numbering)", type=int, required=True)
parser.add_argument("-s", "--name", help="topic name", required=True)
parser.add_argument("-g", "--log_level", help="log level", type=int, default=logging.INFO)
args = parser.parse_args()

# logging setup
logger = set_logger(level=args.log_level)

relay = Relay(args.pin)
relay.start()

mqtt = MqttClient(args.endpoint, args.log_level, args.port)
mqtt.set_tls(args.ca_file, args.client_cert_file, args.client_key_file)
mqtt.add_callback(args.topic, receive_command)
mqtt.add_subscription(args.topic, qos=args.qos)  # subscribe or not?
mqtt.run()