My project is to wirelessly communicate with a Neato Botvac85(link has relevant pictures only, not relevant code AFAIK) and Teensy 3.2 via GL-AR300M-Ext wireless travel router, all mounted on the robot vacuum.
The robot vacuum has a 3.3v serial console, so does the router. Eventually(once I figure out how to stop them from occasionally spewing garbage), they will be connected together. But for now they are both connected to the Teensy 3.2 who's display provides local output(pseudo terminal) for troubleshooting. Soon, the Teensy will support several additional sensors and be used for a variety of experiments. The Teensy can be plugged into the USB host port on the travel router.
My question involves how to repeatedly reprogram the Teensy in situ from a remote computer on the network. I do not know how to do that and am seeking advice. I suspect your answers will also help pictographer and others in a similar bind.
It doesn't seem to make much sense to install Arduino and Teensyduino on the host Linux computer(GL-AR300M-Ext router) to which the Teensy is attached by USB. It is only accessed via SSH wirelessly.
My first thought was to put CLI Teensy loader on the GL-AR300M-Ext router. But how do I do that? I am very newb with the openWRT build system and makefiles in general. I have used menuConfig to build firmware, but never built a new package from scratch. The target is not x86, or ARM, but MIPS. QCA9531 very similar to the 9331 in a YUN. If someone could post a useable OPKG makefile, or better an actual OPKG for the CLI Teensy loader I would greatly appreciate it.
Would it do any good to copy the /opt/arduino-1.8.x/hardware/tools folder from x86 Ubuntu unto the GL-AR300M-Ext? How would I use them?
Another option is to capitalize on the similarity to the Yun. I've installed the yunbridge package on the GL-AR300M-Ext, and found Paul's version of the Bridge library for Arduino/Teensy. But even after reading documentation, I can't seem to understand what else I need to do to put new sketches on the remote Teensy while I use the Arduino IDE on a computer across the network. I do not have a real Yun. A walkthrough would be helpful.
Yet another option may be something like USBIP which I've never used.
I do not know which, if any, of these will work. Please comment with any info you have, or missing info you need from me. At this point, I do not know how to move forward.
Other configuration info
The GL-AR300M-Ext router is configured as a WISP repeater. So it behaves as a STA client toward my main internet gateway, and simultaneously as an AP toward client computers connecting to its WWAN. It runs recent stock firmware 2.27 with additional packages:
libudev for persistent naming of usb devices like teensy
yunbridge hopefully for programming arduino and teensy
nano for text editing
usbutils USB devices listing utilities: lsusb, …
After installing libudev package, /etc/udev/ was still not present. So I manually created /etc/udev/rules.d/49-teensy.rules
How do I test if it is working?
The robot vacuum has a 3.3v serial console, so does the router. Eventually(once I figure out how to stop them from occasionally spewing garbage), they will be connected together. But for now they are both connected to the Teensy 3.2 who's display provides local output(pseudo terminal) for troubleshooting. Soon, the Teensy will support several additional sensors and be used for a variety of experiments. The Teensy can be plugged into the USB host port on the travel router.
My question involves how to repeatedly reprogram the Teensy in situ from a remote computer on the network. I do not know how to do that and am seeking advice. I suspect your answers will also help pictographer and others in a similar bind.
It doesn't seem to make much sense to install Arduino and Teensyduino on the host Linux computer(GL-AR300M-Ext router) to which the Teensy is attached by USB. It is only accessed via SSH wirelessly.
My first thought was to put CLI Teensy loader on the GL-AR300M-Ext router. But how do I do that? I am very newb with the openWRT build system and makefiles in general. I have used menuConfig to build firmware, but never built a new package from scratch. The target is not x86, or ARM, but MIPS. QCA9531 very similar to the 9331 in a YUN. If someone could post a useable OPKG makefile, or better an actual OPKG for the CLI Teensy loader I would greatly appreciate it.
Would it do any good to copy the /opt/arduino-1.8.x/hardware/tools folder from x86 Ubuntu unto the GL-AR300M-Ext? How would I use them?
Another option is to capitalize on the similarity to the Yun. I've installed the yunbridge package on the GL-AR300M-Ext, and found Paul's version of the Bridge library for Arduino/Teensy. But even after reading documentation, I can't seem to understand what else I need to do to put new sketches on the remote Teensy while I use the Arduino IDE on a computer across the network. I do not have a real Yun. A walkthrough would be helpful.
Yet another option may be something like USBIP which I've never used.
I do not know which, if any, of these will work. Please comment with any info you have, or missing info you need from me. At this point, I do not know how to move forward.
Other configuration info
The GL-AR300M-Ext router is configured as a WISP repeater. So it behaves as a STA client toward my main internet gateway, and simultaneously as an AP toward client computers connecting to its WWAN. It runs recent stock firmware 2.27 with additional packages:
libudev for persistent naming of usb devices like teensy
yunbridge hopefully for programming arduino and teensy
nano for text editing
usbutils USB devices listing utilities: lsusb, …
Code:
user@remotebox:~$ ssh root@10.x.x.x
root@10.x.x.x's password:
BusyBox v1.25.1 () built-in shell (ash)
_________
/ /\ _ ___ ___ ___
/ LE / \ | | | __| \| __|
/ DE / \ | |__| _|| |) | _|
/________/ LE \ |____|___|___/|___| lede-project.org
\ \ DE /
\ LE \ / -----------------------------------------------------------
\ DE \ / Reboot (17.01.4, r3560-79f57e422d)
\________\/ -----------------------------------------------------------
root@GL-AR300M:~# lsusb
Bus 001 Device 004: ID 16c0:0483 Van Ooijen Technische Informatica Teensyduino Serial
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@GL-AR300M:~#
After installing libudev package, /etc/udev/ was still not present. So I manually created /etc/udev/rules.d/49-teensy.rules
How do I test if it is working?