Have you ever needed to create a simple command api across various stream interfaces? Perhaps human input from a serial monitor, commands stored on an SD Card, or commands coming in over a Bluetooth connection? This project aims to standardize and simplify registering and handling command invocations across various stream based serial interfaces. You could use this to make a remote control vehicle or interact with various IOT devices. Woohoo!
This is the basic stream command parsing library you've been looking for. It allows use of any Stream interface that commands might come through, such as Serial, BLE and/or an SD card stream.
StreamCommandParser was written by jongarrison and it available here.
This repository is a real group effort across a number of contributors over time:
A Wiring/Arduino library to tokenize and parse commands received over a serial port.
The original version of this library was written by Steven Cogswell and published on May 23, 2011 in his blog post "A Minimal Arduino Library for Processing Serial Commands").
This version was forked from a heavily modified version with smaller footprint and a cleaned up code by Stefan Rado.
2. Refactoring from qCommand:
ben-qnimble made some great additions to their fork of this repo. Their changes include case insensitivity, better interpretation of arguments comming from streams and a bunch more. Some of these are refactored here. These two library will however stay separate as qCommand creates additional undocumented dependencies.