• Contributing to Tessel 2 Without Hardware

    Thursday, May 7, 2015

    5/7/15– Jon McKay

    How to contribute to the Tessel project

    We’ve received quite a few inbound requests asking how folks can get involved in the development of Tessel 2. That’s why we’re excited to release a Virtual Box image that will enable you to emulate a Tessel 2 from your computer and even use your computer’s USB ports as Tessel 2 USB ports. Follow along for a quick guide on how to get up and running with the VM.

    Edit: the VM development process has been improved and you can find updated documentation on the vm repo.

    Tessel 2 features two 10-pin module ports for lower-level microcontroller peripherals and two USB ports for peripherals like flash drives, 3G dongles, and webcams. You can use the VM start building USB modules like this Node wrapper that works with most off-the-shelf webcams. It’s a great way to become a part of the core contributors before the actual hardware is generally available.

    You’ll need to install Vagrant (version 1.6 or greater) as a prerequisite. After that, you’ll need to pull down the CLI, generate an SSH key, and connect to the shiny new VM:

    # Clone the CLI repo
    > ~/projects/ git clone git@github.com:tessel/t2-cli.git
    # Link it so you can develop and use it globally
    > ~/projects/ cd t2-cli; npm link --local;
    # Generate the SSH key to use with the VM
    > ~/projects/t2-cli t2 key generate
    # From the containing folder, clone the VM repo
    > ~/projects git clone git@github.com:tessel/t2-vm.git
    # Download dependencies
    > ~/projects/ cd t2-vm; vagrant plugin install vagrant-triggers;
    # Start up the VM
    > ~/projects vagrant up

    At this point, you should be able to search for all advertising devices and list them on the command line (using mDNS):

    > ~/projects/t2-vm t2 list
    > INFO Scanning for connections...
    > INFO LAN CONNECTION ip: , name:  Tessel-080027AF44E2 , Authorized:  true

    And then you can deploy code

    # From the CLI repo...
    > ~/projects/t2-cli t2 run test/test-deploy-script.js
    > INFO Connecting to Tessel...
    > INFO Connected over LAN. IP ADDRESS:
    > INFO Bundling up code...
    > INFO Bundled. Writing to T2.... 4096
    > INFO Deployed.
    > INFO Running script...
    > If I had an actual LED, it would be on right now...
    > If I had an actual LED, it would be off right now...
    > If I had an actual LED, it would be on right now...

    Biggest issues to tackle

    We recently completed the entire spec for the Tessel 2 CLI on our forums and added Github issues for each feature that needs to be written. There are still a lot of interesting features to build for the CLI and these issues are the lowest hanging fruit.

    In addition, there are a couple of larger issues that could use some love. Please do get in touch if you’d like to get involved with these features:

    • @allanca started working on a binary server that can inject pre-compiled versions of modules with binary dependencies into bundles being deployed onto a Tessel. We need to get these changes rolled into the new CLI and the actual server deployed.
    • @nplus11 has started porting Tessel libraries to Rust including the Tessel interface and the Accelerometer Module. The CLI needs to be modified to accept Rust projects as well as JavaScript and the rest of the modules need to be ported from JS to Rust (that might be a little harder without the hardware).

    Get in touch

    We’re looking forward to see more of what the community cooks up. Get in touch with us on IRC (#tessel) or on the Forums if you have any questions or suggestions.

    #jon mckay #tessel #design #contributing #open source

August 2018

January 2018

July 2017

February 2017

November 2016

October 2016

September 2016

August 2016

July 2016

June 2016

April 2016

March 2016

February 2016

November 2015

September 2015

August 2015

July 2015

June 2015

May 2015

March 2015

February 2015

January 2015

December 2014

November 2014

October 2014

September 2014

August 2014

July 2014

June 2014

May 2014

April 2014

March 2014

February 2014

January 2014

December 2013

November 2013

October 2013

September 2013

August 2013

July 2013