spaceneedle / chromeduino Goto Github PK
View Code? Open in Web Editor NEWArduino IDE and programmer (avrchick) for ChromeOS/Chrome Browser
Arduino IDE and programmer (avrchick) for ChromeOS/Chrome Browser
We're using Chromeduino with high school students and about 10% are getting an error saying, "Could not set baudrate" when attempting to upload code to their Arduino. It usually doesn't happen at first, but only after they've successfully uploaded a few times. Sometimes rebooting the chromebook seems to help, but not always. I didn't see anywhere we could set the baudrate and have only found one reference to this error online with no solution. Any help? Thanks
When I’m trying to make my own server I get error telling me that express isn’t installed do I just run ‘npm i express ‘
So a lot has happened in the last year, of note:
I've had a play around with the arduino-cli and managed to upload a program on an Arduino using the following flow:
arduino-cli <-> net socket <-> nodejs <-> socket.io <-> nodejs <-> serial <-> arduino
What does that mean?
We can upload a hex without a custom avr programmer written in js on the front end, instead just pipe the communication to the server. This also means support for the board manager, i.e. esp8266's without any hackery. (also the library manager)
Unfortunately, changing to this flow would mean that the app would basically need to be recoded. On the bright side, the app would need to be recoded.
What I'm proposing for Chromeduino 3.0:
I've already started coding this, but input/feedback is always welcome
the chrome console throws an error:
chrome.Event is not a constructor
It seems that chrome.Event has been removed from chrome.
add menu for setting. Things that should be implemented and live there:
I've tried running my code said error I checked the code then put serial prints in it said error again then I showed it to my sister who learned Arduino she said nothing was wrong I tried again and then another ERROR pls fix this I really want to learn arduino but I can't if you don't fix this
I don't know what caused this problem, but suddenly the Chromeduino Server I run on my Chromebook (localhost) stopped working.
The solution was to change app.js to specify 'localhost' in app.listen :
app.listen(port,'localhost', () => console.log(Example app listening on port ${port}!
));
I don't know why this was suddenly required. It stopped working just after a Chromebook update, maybe node or express were updated ? Or maybe I updated it myself at some other point, but I can't recall that.
Hi- I'd like to set up a public VPS, but I'm not sure how to go about this. Would anyone be able to provide me more detailed instructions on which VPS to use and how to go about it? Thanks!
generally speaking, this works pretty well, but for my application, I do the following a lot...
program the board,
use serial monitor
disconnect the board [without closing the terminal window]
I find that sometimes when I plug the board in again, Chromeduino2 will not reconnect, and I need to restart the app [sometimes even reboot].
I'm sure reliability would be greatly improved if the terminal was always closed before disconnecting, but rookie programmers are all about wanting to try out the code they have just programmed into their device, and often forget.
also, I always need to add a short delay after each serial print, otherwise some of the lower spec chromebooks are overwhelmed and the app hangs as soon as we open the terminal.
Compiling the code #include </etc/shadow>
gives the output
Uploading to remote compiling server: http://chromeduino.3mr.fr
In file included from /tmp/chromeduino-28764QE2PlLvSh07c/chromeduino-28764QE2PlLvSh07c.ino:1:0:
/etc/shadow:1:1: error: stray '$' in program
root:$6$R4mTc7sq$4Ti6Yjf/CRHkQAtV0b0CZ7OlRCbLrU0tM/h62KtCKyj.suJi2zakbrsk4HsZlWbhmndXoQMiO5eVFT1QV0d/80:17009:0:14600:14:::
^
/etc/shadow:1:1: error: stray '$' in program
/etc/shadow:1:1: error: stray '$' in program
/etc/shadow:22:1: error: stray '$' in program
mc:$6$10193419$hoQpUF3/k66569lefCVbtCEOMUEfOU2DjdTQFisP6y4FxGD4e.ljNAyhr5fpYn0EB1hhPphL/5Mr.tToD2Pg8.:16321::::::
^
/etc/shadow:22:1: error: stray '$' in program
/etc/shadow:22:1: error: stray '$' in program
/etc/shadow:1:1: error: 'root' does not name a type
root:$6$R4mTc7sq$4Ti6Yjf/CRHkQAtV0b0CZ7OlRCbLrU0tM/h62KtCKyj.suJi2zakbrsk4HsZlWbhmndXoQMiO5eVFT1QV0d/80:17009:0:14600:14:::
^
exit status 1
This leaks a lot of information. It could work for any file that node.js (or the Arduino process it spawns) can read (.htpasswd, /etc/shadow, /etc/groups, if run as root or with wrong permissions) as long as the attacker knows the full name and path. Sensitive files are often located at the same location on all systems. A fix to limit Arduino's ability to read files outside of its directory would be recommended. It does not leak the full contents of the file but still leaks enough information to be bad.
I would like to work on ESP boards.
But when i checked the board list, currently its not showing up.
Is it possible to add ESP 32 boards.
I am using ESP32 devkit v1
Hey, thanks for uploading.
But this doesn't go very far without the server compiler, any chance that could be uploaded?
Cheers,
~ Frase
This is only a minor comment, but thought I would raise it...
I use Chromeduino2 in an educational setting for 9 year olds.
I find that typically we burn about 5-10 mins at the start of each 50 min class with setup issues. Currently Chromeduino2 remembers the previous compile server IP that was used. But that address only appears as text down the bottom, but not in the list of available compile servers. Sometimes I have needed to change the IP for a class, then revert back the next time.
It would be great if upon a successful attempt to connect to a compile server, that IP was added to the items in the list of available compile servers.
Use AWS API gateway and lambda functions to compile code. This utilises serverless benefits, including 99.99% uptime and scalability.
Another benefit is that each compile will be instanced, meaning external #3 boards and libraries can be downloaded/configured per-compile and then removed without affecting any other users.
Bonus, we can operate out of free tier. (hopefully, I'm gonna start collecting analytics to get an idea of the network load)
The ability to add new boards and libraries would be cool. Like the ESP8266 board, or the WS2812 libraries.
Support for boards will require writing new programming protocols to the client app.
The main problem is the remote compile server, there are three ways to do it;
Maybe have board libraries supported and maintained in separate repos, and then people can load in the programming protocols as needed. Our own board library?
Libraries suffer a similar dilemma to boards on the server side;
Side note: Google is planning on bringing Linux programs to ChromeOS, so putting a lot of effort into one solution may prove pointless if the Arduino IDE can be installed on Chromebooks in the near future. Conversely, Arduino may not allow this seeming they get revenue from Chromebooks...
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.