Brainboxes BB-400 is a Raspberry Pi-based Industrial Controller. By default, the device comes pre-loaded with a Raspbian Lite distribution, and a number of packages added and maintained by Brainboxes to bring extra areas of functionality. For example, a web administration interface to perform actions on the BB-400, and Brainboxes’ CLI tool to modify settings through the terminal. Node-RED with example flows for doing typical monitoring and control tasks, and an IO server to allow IO on the BB-400 to be controlled over the network.
Below is a list of the packages on the BB-400 and what they do, and instructions how to find your current installed packages and their versions.
BB-400 Brainboxes packages
This package is used to program the Arduino on the BB-400. The BB-400’s Arduino controls the IO lines. By default, the Arduino is loaded with Brainboxes software. You can reprogram the Arduino with your custom program.
You can find instructions on reprogramming your Arduino here: How do I reprogram the Arduino on the BB-400?.
Brainboxes Command Line Interface, is a tool that helps to configure settings on the BB-400.
It can be used to get and set the device name, configure network settings, and change serial port settings amongst other things. It can be run from the Linux command line using the prefix
bb and also called from other scripts and programs. It can also be used to simply apply settings across a fleet of BB-400 devices.
For more information read; What is BB-CLI?
This package controls BB-400’s core functionality such as setting the LEDs, changing the Wi-Fi and Bluetooth radios, serial port settings, handling power change events and more.
Brainboxes Input/Output Server, is a service that communicates internally between the Raspberry Pi and the Arduino, to control and monitor the IO lines. This service enables controlling the IO lines over communication protocols like RESTful API, WebSockets, and ASCII TCP.
The following FAQs include instructions on controlling the BB-400’s IO lines over REST, WebSockets or TCP:
- What IO Protocols are available on the BB400
- How to communicate using ASCII TCP between the BB400 and a Linux or Windows system
- How to use the REST API on the BB400 with the web application ‘POSTMAN’
- How do I use Python to control the IO over WebSockets on my BB400?
This package holds all of BB-400’s Node-RED related projects.
Create your first Node-RED flow using our FAQ to Send Push Notifications using a BB-400
BB-400 Power Management Unit, monitors the power supply and performs a controlled shutdown of the BB-400 in the event of an external power failure.
Read more about the BB-400’s power management How does the BB-400 manage power using the Power Management Unit (PMU)?
This package contains the drivers for communicating with the BB-400’s Wi-Fi and Bluetooth radio module.
This package holds the drivers for the serial port on the BB-400.
Read our FAQs on how to use the serial port:
Brainboxes Universal Plug and Play service enables the BB-400 to be seamlessly discoverable on the network. This service is enabled by default. If required, please use the bb-cli to disable the service.
See How do I find my BB-400 on the network for more info.
This package is responsible for the Web Admin interface on the BB-400.
See How do I log in to the web Administration interface of the BB-400 for more info.
This package renders the IO page on the Web Admin interface of the BB-400. Through the IO page, you can control the BB-400’s IO lines. See: How do I control the IO lines through the Web Admin interface
This package renders the Wi-Fi page on the Web Admin interface of the BB-400. You can configure the Wi-Fi settings, such as changing the SSID of the Wi-Fi access point, changing to Bluetooth mode, or connecting to an access point.
How do I check the Brainboxes packages installed on my BB-400?
Method 1: You can view the package versions on the Web Admin Help page:
Method 2: Alternatively, you can get the package versions on the command line using the command
$ bb status.version