LEGO Boost communicates with a Scratch extension through Scratch-link.
It was reported that bluepy-scratch-link fails to connect to LEGO Boost.
LEGO Boost advertises adtype 0x7 "Complete List of 128-bit Service Class
UUIDs". However, bluepy-scratch-link checks only adtype 0x3 "Complete
List of 16-bit Service Class UUIDs" which is valid for micro:bit.
To allow bluepy-scratch-link, check both adtypes 0x7 and 0x3. Introduce
constants to note those two adtype values.
Signed-off-by: Shin'ichiro Kawasaki <kawasaki@juno.dti.ne.jp>
As ngammarano reported in a GitHub issue, Chrome browser has bypass key
sequence to allow local server certificate. Add that description to
README.md merging jazzpecq's patch. Thank goes to the two :)
Signed-off-by: Shin'ichiro Kawasaki <kawasaki@juno.dti.ne.jp>
Clarify license of the bluepy-scratch-link script so that those who caring about licenses can take a look in the script code. I chose BSD 3-Clause "New" or "Revised" license, which is same as scratch-link to seek for the opportunity to get integrated into scratch-link, if possible.
It was reported that the bluepy-scratch-link does not run on Ubuntu 16.04
which has python version 3.5. The script stopped with an error about
f-format string, which was introduce with python 3.6.
Even removing f-format string from the script, bluepy-scratch-link still
requires python 3.6 because websockets module requires it. Clarify that
python version requirement to avoid confusion.
Signed-off-by: Shin'ichiro Kawasaki <kawasaki@juno.dti.ne.jp>
Described why this script was written. Wrote down installation and usage
guide. Confirmed the guide with elementary os 5.
Signed-off-by: Shin'ichiro Kawasaki <kawasaki@juno.dti.ne.jp>
Implemented Scratch-link[1] feature as a small python script. Confirmed
it is working with Scratch 3.0[2] using a micro:bit as the BLE device to
link. This allows Linux PCs to connect Scratch and micro:bit.
Utilized bluez[3] and bluepy[4] to handle Bluetooth Low Energy connection.
Utilized Websocket module for Secure Web Socket server.
[1] https://github.com/LLK/scratch-link
[2] https://scratch.mit.edu/
[3] http://www.bluez.org/
[4] https://github.com/IanHarvey/bluepy
This is a minimal implementation to support micro:bit. Some of
Scratch-link features are not implemented. For example, Bluetooth (not
BLE) devices are not supported. BLE device support is confirmed only with
micro:bit.
Signed-off-by: Shin'ichiro Kawasaki <kawasaki@juno.dti.ne.jp>