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 🙏

© 2024 – Pkg Stats / Ryan Hefner

arduino-scanner

v1.2.0

Published

Makes it easy to detect an Arduino connected to any computer.

Downloads

27

Readme

ArduinoScanner

An NPM module which makes it easy to detect an Arduino connected to any device!

Usage

Get it through NPM by running: npm install arduino-scanner

Troubleshooting

If your Arduino isn't being detected, you may need to add the productId to the boards.js file. If this happens, please make a pull request to have the boards.js updated so we can improve the module!

Usage Example

var ArduinoScanner = require('arduino-scanner');
var arduinoScanner = new ArduinoScanner();

arduinoScanner.start();

arduinoScanner.on('arduinoFound', function(response) {
  arduinoScanner.stop();
  console.log(response.message);
  connectToArduino(response.port);
});

Reference Guide

Constructor

You can search for any known Arduino types, or specify a kind of board.

Check boards.js for valid board names.

var arduinoScanner = new ArduinoScanner({
  board: 'mega', // Restrict search to a specific board type if you'd like!
                 // Note that some boards share productIds
                 
  debug: true    // Print potentially useful debug output.
  });

Methods

.start (interval)

Starts scanning for valid Arduino serial ports. It will emit an arduinoFound event once a matching port is found.

interval

The time in milliseconds before trying port reads again. The default is 500ms.

.stop ()

Stop scanning for Arduinos.

Events

.on('arduinoFound', callback)

Passes an object to the callback function containing the port comName and a message.

.on('arduinoNotFound', callback)

Passes an object to the callback function containing the port comName and a message.

.on('noPortsFound', callback)

This is potentially useful as a debugging tool. If no ports are found this will be called, it will pass an object containing a message to the callback.

Roadmap

  • Add support for more Arduino boards.
  • Testing on more hardware.

Currently supported boards

  • Arduino Uno
  • Arduino Mega
  • Arduino Leonardo
  • Arduino Micro
  • Arduino Nano
  • Arduino Duemilanove
  • Arduino Pro Mini
  • Femtoduino IMUduino
  • Blend-Micro
  • Tinyduino
  • Sparkfun Mega Pro
  • Sparkfun Pro Micro
  • Qtechknow Qduino
  • Pinoccio Scout

Please create pull requests adding additional boards, all you need is the productId

Thanks

Thanks to the node-serialport team for doing most of the work to make this happen.

License

MIT