KevinJohnMulligan / neutral-nus-terminal

NeutralNUS Terminal is a BLE client that is a platform agnostic terminal for NUS (BLE UART) which connects to any device that supports NUS rather than specifically servicing particular hardware.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NeutralNUS Terminal

NeutralNUS: pronounced "neutralness" (ˈnjuːtrəlnəs)

NeutralNUS Terminal is a BLE client that is a platform agnostic terminal for NUS - Nordicsemiconductor Uart Services (BLE UART) which connects to any device that supports NUS rather than specifically servicing particular hardware. Other solutions tend to serve specific hardware and require a specific setup. NeutralNUS Terminal aims to be as generic as possible, providing a pure terminal experience over BLE NUS.


Download and Usage:

Please download from releases and read the release notes


Terminology:

NUS: Nordicsemiconductor UART Service
UART: Universal Asynchronous Receiver-Transmitter
BLE: Bluetooth Low Energy, Bluetooth 4.0, Bluetooth 5.0
BLE client/central: A PC/mobile device that connects to BLE peripherals to collect data and send commands. The central device connects as a client to a BLE peripheral.
BLE server/peripheral: The small device that performs actions in the world. The peripheral device runs the BLE server.
Platform Agnostic: Runs on Windows/Linux/macOS

Technology:

This project is based on web-device-cli which makes use of the Web Bluetooth protocol. Additions were made using React and NWjs to convert web-device-cli into an agnostic desktop application.

Features:

  • Stand alone application
  • Connects to BLE peripherals and provides a terminal interface over serial (NUS)
  • Deploys a TCP server that runs on 127.0.0.1:8888 which can be used to connect to a TCP client written in any language
  • Basic interface with automatic scrolling
To be implemented:

TCP backend:

  • NeutralNUS Terminal will have a TCP server that allows any local connection to the NUS on the BLE peripheral
  • NeutralNUS Terminal will have a TCP server that allows any remote connection to the NUS on the BLE peripheral

Etymology:

What's in a name? (too much)

I originally thought of using NUS4all but found that this was used as a political hashtag so I dropped it.

Next I went for agnostic NUS written as ag-NUS

  • agnus means lamb in latin
  • ag means silver on the period table of elements
  • therefore I could have used a silver lamb to represent the project, but this seemed too religious given the project is meant to be agnostic after all 😜

After that JustNUS Terminal - Just this. Seemed a bit bland.

Finally I settled on NeutralNUS Terminal - pronounced neutralness (ˈnjuːtrəlnəs)

About

NeutralNUS Terminal is a BLE client that is a platform agnostic terminal for NUS (BLE UART) which connects to any device that supports NUS rather than specifically servicing particular hardware.

License:MIT License


Languages

Language:JavaScript 82.0%Language:SCSS 8.5%Language:Sass 4.4%Language:HTML 4.3%Language:CSS 0.9%