Curriculum beyond worksheets
Since my earlier struggle with BlocklyDuino and the python server I thought maybe I might discover some amazing techniques to communicate with arduino from ChromeDuino. To access a working version I had to find a chromebook and thankfully we have one in the house. On the chromebook I add the app from the chrome web store, set the server to http://barnabasrobotics.com:8888, and attempted to upload the intro file. On the nano I had connected to the chromebook I saw the Rx SMD flicker like last night's fireworks but unfortunately the behavior did not seem to change. So something is happening but without any feedback I am not sure what happened. As far as ChromeDuino was concerned, it worked with the message "Upload Complete! Have a nice day! :) "
This did not help me much. I opened the Serial Com port and the lack of messages there confirmed the upload failed but with a stubborn desire to get it to work and undying hope I tried a different server. Sadly I received the same results.
With my goal being something along the lines of allowing students to directly upload to arduino from a curriculum portal, today I will try to at least upload from a web browser. Let's start with BlocklyDuino since visual programmers can reduce the barrier of entry and are used more frequently in younger classrooms. You can try BlocklyDuino out here and you will see an upload option. Here it expects a local web server running at localhost:8080 (127.0.0.1:8080) and more specifically a small python server that will
This file had to be edited to work properly on linux, arduino had to be installed, and the user had to be added to the appropriate arduino groups (lock and dialout) I could not connect to the USB on SilverBlue and my assumption is because I am sandboxed behind the devices so I am going to try this on a normal Fedora workstation where arduino is already installed and I have successfully uploaded files in the past.
Discovered that Fedora 30 drops python 2 so BlocklyDuino is is out of date. Tried to convert to Python 3 and was almost successful. There were too many changes to the http.server module s I moved over to an Ubuntu 18.04 machine. Once I had the pyhton server loaded I realized I had to
sudo apt install arduino
and add user to the `dialout` group. Almost there and bam I hit a bad file selected -> ! "Processing can only open its own sketches and other files ending in .ino or .pde" which looks like a Java (Arduino IDE) error message showing
java.lang.NullPointerException thrown while loading gnu.io.RXTXCommDriver
Well now, I am not sure which laptop I actually got further but it is apparent that uploading to a USB from the browser is difficult. After saying that, I guess my search moves to how to communicate to a usb device from the browser.
I have been struggling with Arduino uploading from Chromebooks in a school network. Technical issues elevate discouragement in the classroom so I am looking to improve the experience for students and instructors. The arduino web editor presented me with challenges that have encouraged me to look for other options and while I attempt to put resources into a common location I thought it might be beneficial to have them all work together. One piece at a time I am learning about many technologies that may or may not cohere.
Currently chromeduino only works as a Chrome app on chromebooks but, late to the game, I have learned that support for this was deprecated / discontinued 2 years ago. You can look this up in a web search and most articles like this one on Ars Technica suggest that Progressive Web Apps are the future and since I am, like I said, late to the game, the future is already here. Sigh.
As I am learning about podman, and containers in general, on my recent install of Fedora Silverblue I thought I would give caterpillar a try. Caterpillar is an "experimental project" [that] "investigates whether it is feasible to automatically port Chrome Apps to web sites".
I did not get very far and the project makes no promises. So... here I am pondering my next steps.
My goal is to have "try it" break outs or on-page sections that allow students to not only follow along with curriculum but upload it to their device. This is exciting to me and might be a ridiculous way to solve a simple problem but that is the direction I am headed. Until then, I will eat the elephant one bite at a time learning about all the exciting tools in the open source universe.