3
0

myCar.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #!/usr/bin/python3
  2. from flask import Flask
  3. from flask import url_for
  4. from flask import render_template
  5. from flask import request
  6. app = Flask(__name__)
  7. @app.route('/')
  8. def myCar_root():
  9. return 'myCar project Page'
  10. @app.route('/bluetooth/controller')
  11. def myCar_bluetooth_controller():
  12. # this method will return available bluetooth devices as a list for the web template output
  13. import bluew
  14. #return len(bluew.controllers())
  15. return render_template('bluetooth/controller.html', bt_ctrl=bluew.controllers())
  16. @app.route('/bluetooth/devices')
  17. def myCar_bluetooth_devices():
  18. # this method will return available bluetooth devices as a list for the web template output
  19. import bluew
  20. #return len(bluew.controllers())
  21. bt_ctrl_powered = False
  22. for dev in bluew.controllers():
  23. if dev.Powered == True:
  24. bt_ctrl_powered = True
  25. if bt_ctrl_powered == False:
  26. return render_template('bluetooth/controller.html', bt_ctrl=bluew.controllers(), bt_error="All Bluetooth Adapters are powered off")
  27. else:
  28. return render_template('bluetooth/devices.html', bt_dev=bluew.devices())
  29. @app.route('/bluetooth/connect', methods=['POST'])
  30. def myCar_bluetooth_connect():
  31. # this method will connect to a bt device in the following order:
  32. # - pair
  33. # - trust
  34. # - connect
  35. #try:
  36. # request
  37. #except NameError:
  38. # request = None
  39. try:
  40. if request is not None:
  41. import bluew
  42. #try:
  43. bt_dst_mac = request.form['bt_dst_mac']
  44. # pair
  45. bluew.pair(bt_dst_mac)
  46. # trust
  47. bluew.trust(bt_dst_mac)
  48. # connect
  49. bluew.connect(bt_dst_mac)
  50. retstr = 'connected to '.join(bt_dst_mac)
  51. else:
  52. ret = 'Mac Address not provided'
  53. except NameError:
  54. ret = render_template('bluetooth/devices.html', bt_dev=bluew.devices(),bt_error="No MAC provided to connect to")
  55. except bluew.errors.DeviceNotAvailable:
  56. ret = render_template('bluetooth/devices.html', bt_dev=bluew.devices(),bt_error='Bluetooth device ' + bt_dst_mac +' is not available')
  57. return ret