rovercode / rovercode Goto Github PK
View Code? Open in Web Editor NEWBlock-based programming for educational robots
Home Page: https://rovercode.com
License: GNU General Public License v3.0
Block-based programming for educational robots
Home Page: https://rovercode.com
License: GNU General Public License v3.0
For sure get rid of www/.
See if other things should be reorganized.
Right now, there are multiple steps to clone the repository and all the git submodules. A .gitmodules file will simply this process.
Maybe a modal?
Maybe transparent over the code?
Add a tab to view the generated code instead of the blocks. Not editable.
Allow user to switch to Javascript text code editing mode. This will create a new project and disable all block viewing and editing.
For better integration with Docker, it would be nice if the repo were owned by the organization rovercode instead of aninternetof.
Let the rover have an on-board RGB LED. Blockly already has a color picker.
The end plan is to keep using an off-the-shelf USB battery pack. So this may not be possible. Maybe the battery pack has a CDC interface or something?
A Google Cast screen from the main browser interface. The Casted screen will show the Rover's webcam feed, toggle to the view the code blocks, and whatever other information from the rover seems right.
Sometimes (once out of every three page reloads or so), the the saved designs will take a long time (minutes) to load.
The rest of the page is responsive, except that the design name will not be populated.
When the saved designs finally do load, there is a lot of console log activity of events coming in.
When you go to the pin assignment menu, it should only should pins for the board you are using (rasp bi, chip, etc)
There needs to be a way to test that changes to the application do not cause regressions. Example
Right now, a change in a sensor value is detected in rover-service.py, then sent over Redis to a php function that generates a server-sent event. All of this should be able to be done in app.py now.
We'll need to decide if we want to stick with SSEs, or move to websockets.
We need a stack that will
Node + [something] on the back end? React or Angular on the front end?
Right now, send-command.php dumps a command into the Redis queue. rover-service.py polls the Redis queue and then executes the command on the GPIO library. The queue is not needed anymore -- the motor command can be executed directly from Flask.
Consider django.
The first tier would have only a few blocks, partially preassembled, and no categories.
Make the rover say something using a text-to-speech engine (online or local)
Save our install script the trouble of having to pull down the source by adding the Adafruit GPIO library as a sub repo.
Remove compressed blockly js from git and add build to setup.sh. Don't want to have to worry about keeping them in sync with the uncompressed source.
Detect ball of a given color and return its coordinates. Draw these coordinates over the webcam stream.
This is not great for the motor.
If a motor is running then turned on in a different direction without first being stopped, rovercode should automatically shut off the first direction pwm pin.
I'm not sure at what level this should happen. It seems safest to do it on the rover side instead of the client side. But, it'll need to get info from the client at connection to know what pins are forward/backward pairs.
Fixes tabs/spaces and such
Getting a 400 response from saving block diagrams. Some sort of conflict with ajax json settings.
Get rid of unnecessary www layer and clean out unneeded files.
With our app talking to the API, we currently opted to just let everything under the sun make valid requests using the flask_cors. We should probably figure out how to implement cors correctly so we don't look like a bunch of insecure web babies.
This looks like a good source to start on: https://remysharp.com/2011/04/21/getting-cors-working
For some reason, debian is not giving us the newest version, and it gives a warning when it runs.
Add block to execute motion macros like node and shake.
Provide instructions and a Dockerfile to allow developers to use Docker on the PC for development
After running setup.sh, localhost shows me the default lighttpd page. We forgot to change the lighttpd.conf to point to our rovercode/www directory.
Since we're moving to nginx, we won't fix this.
rovcercode-web (https://github.com/aninternetof/rovercode-web) will have a page that allows a teacher to do things like assign "right motor foward" or "left IR sensor" to GPIOX. Right now, the GPIO assignments are all hardcoded in the JavaScript.
The rover API should present what pins it has available to the rovercode-web app.
It could auto-detect what hardware it is running on (The Adafruit GPIO object knows that hardware it is running on, so we should just ask it).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.