npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

etherport-client

v0.1.4

Published

Client-side virtual serial port for Etherport for the implementation of firmata-compatible boards and tethering hubs to control boards by a remote entity.

Readme

etherport-client

Client-side virtual serial port for Rick Waldron's Etherport. Etherport-client is used to implement firmata-compatible boards and tethering hubs to control a board by a remote entity.

Usage Examples

The following usage examples can also be found in the examples directory of this package/project. Note, you'll need to manually install the required packages to run the examples (see require statements in the example code).

Tethering a Johnny Five IO-Plugin

Create an EtherPortClient with host and port properties referring to the peer transport endpoint of the EtherPort instance. Next, bind the resulting object to an IO-plugin using remote-io (see example below).

var EtherPortClient = require('etherport-client').EtherPortClient;
var RemoteIO = require('remote-io');
var RaspiIO = require('raspi-io');
var io = new RaspiIO();

io.on('ready', function() {
    console.log("ready");

    var sp = new EtherPortClient({
        host: '192.168.178.70',
        port: 41234
    });


    //listen for remote firmata messages
    var remoteIO = new RemoteIO({
        serial: sp,
        io: io
    });
});

Tethering a Serial Port (Chaining)

You can also simply chain Serial Port objects. For example, if you have a host with an Arduino board connected via USB and you want to access the Arduino board from a remote computer, you chain the Serial Ports on the host as follows.

var EtherPortClient = require('etherport-client').EtherPortClient;
var chainSerialPorts = require('etherport-client').chainSerialPorts;
var SerialPort = require("serialport").SerialPort;

chainSerialPorts(
    new EtherPortClient({
        host: '192.168.178.70',
        port: 41234
    }),
    new SerialPort("/dev/ttyUSB1", {
        baudrate: 57600
    })
);

Using StandardFirmataWiFi with ESP8266

By default, StandardFirmataWiFi with ESP8266 is a TCP Server. Thus, you'll need a TCP client transport for J5.

var five = require("johnny-five");
var EtherPortClient = require("etherport-client").EtherPortClient;
// update host to the IP address for your ESP board
var board = new five.Board({
    port: new EtherPortClient({
        host: "10.0.0.17",
        port: 3030
    }),
    timeout: 1e5,
    repl: false
});

board.on("ready", function() {
    console.log("READY!");
    var led = new five.Led(2);
    led.blink(500);
});

Debugging

For debugging purposes the debug package with topic "etherport-client" is used.

License

The MIT License (MIT), Copyright (c) 2015-2019 Marcus Wittig