|
|
@@ -3,6 +3,7 @@
|
|
|
from flask import Flask
|
|
|
from flask import url_for
|
|
|
from flask import render_template
|
|
|
+from flask import request
|
|
|
app = Flask(__name__)
|
|
|
|
|
|
|
|
|
@@ -22,5 +23,51 @@ def myCar_bluetooth_devices():
|
|
|
# this method will return available bluetooth devices as a list for the web template output
|
|
|
import bluew
|
|
|
#return len(bluew.controllers())
|
|
|
- return render_template('bluetooth/devices.html', bt_dev=bluew.devices())
|
|
|
+ bt_ctrl_powered = False
|
|
|
|
|
|
+ for dev in bluew.controllers():
|
|
|
+ if dev.Powered == True:
|
|
|
+ bt_ctrl_powered = True
|
|
|
+
|
|
|
+ if bt_ctrl_powered == False:
|
|
|
+ return render_template('bluetooth/controller.html', bt_ctrl=bluew.controllers(), bt_error="All Bluetooth Adapters are powered off")
|
|
|
+ else:
|
|
|
+ return render_template('bluetooth/devices.html', bt_dev=bluew.devices())
|
|
|
+
|
|
|
+@app.route('/bluetooth/connect', methods=['POST'])
|
|
|
+def myCar_bluetooth_connect():
|
|
|
+ # this method will connect to a bt device in the following order:
|
|
|
+ # - pair
|
|
|
+ # - trust
|
|
|
+ # - connect
|
|
|
+ #try:
|
|
|
+ # request
|
|
|
+ #except NameError:
|
|
|
+ # request = None
|
|
|
+
|
|
|
+ try:
|
|
|
+ if request is not None:
|
|
|
+
|
|
|
+ import bluew
|
|
|
+
|
|
|
+ #try:
|
|
|
+ bt_dst_mac = request.form['bt_dst_mac']
|
|
|
+ # pair
|
|
|
+ bluew.pair(bt_dst_mac)
|
|
|
+
|
|
|
+ # trust
|
|
|
+ bluew.trust(bt_dst_mac)
|
|
|
+
|
|
|
+ # connect
|
|
|
+ bluew.connect(bt_dst_mac)
|
|
|
+
|
|
|
+ retstr = 'connected to '.join(bt_dst_mac)
|
|
|
+
|
|
|
+ else:
|
|
|
+ ret = 'Mac Address not provided'
|
|
|
+ except NameError:
|
|
|
+ ret = render_template('bluetooth/devices.html', bt_dev=bluew.devices(),bt_error="No MAC provided to connect to")
|
|
|
+ except bluew.errors.DeviceNotAvailable:
|
|
|
+ ret = render_template('bluetooth/devices.html', bt_dev=bluew.devices(),bt_error='Bluetooth device ' + bt_dst_mac +' is not available')
|
|
|
+
|
|
|
+ return ret
|