Overview#
One of the main reasons why WebTigerPython was created, was that it is possible to program a lot of robots from the web. We support the following robots as of right now:
micro:bit
calliope mini
Currently all these robots are programmed by flashing micropython code to the Device. However to make our tool extendable, we created a device interface. Which makes it simple to add new robots. While there has to be a minimal functionality to register/unregister devices. And a cleanup function, all other functions are not needed. If one of these functions are missing, the are greyed out in the user Interface when the device is selected.
export interface DeviceInterface {
// these functions should be accessible for all devices
registerDevice: () => void;
disconnectDevice: () => void;
cleanUp(): void;
// these are not accessible for all devices
flash?: (code: string) => void;
runCode?: (code: string) => void;
stopCode?: () => void;
exportCode?: (code: string) => void;
}
Following robots are planned to be supported in the future
oxocard (IoT, Bachelor thesis that has to be deployed)
root (Web Bluetooth)
Connection possibilities#
Web USB#
WebUSB gives the User the ability to access devices which are connected with USB. The micro:bit and the calliope can be programmed this way. However there is a compatibilty issue. Not all Browsers support WebUSB, and some Browsers don’t support a browser that supports WebUSB
Web Bluetooth#
WebBluetooth gives the User the ability to programm a device wirelessly.
WebTigerPython does not support any Robot using WebBluetooth, however we are planning to do so.
IoT#
We also tried working with an IoT protocol. Keep the code execution within WebTigerPython, so all Python features can be used. To read sensors etc, single instructions are sent to a device and return values are sent back. We managed to create a Prototype with the Oxocard, however we did not Deploy the feature.
Robots#
Calliope Mini (WebUSB)#
Calliopes 1, 2 and 3 can be Programmed with WebTigerPython. We additionally provide Robotics libraries such as for the callibot. Calliope 3 can be flashed with WebTigerPython, while for the others, the Skript has to be exported and manually loaded to the Robot via Drag and Drop.
Teaching Material
micro:bit (WebUSB)#
The micro:bit can be Programmed with WebTigerPython. We additionally provide Robotics libraries for robots like the Maqueen or the Maqueen plus.
Teaching Material
Oxocard (IoT)#
Simulator#
We are in progress of creating a simulator, that can simulate movement of robots such as the maqueen,maqueen plus or the callibot