Box IO

Self-hosted IoT for Arduino and ESP32.

Label

Text on the page. Leave it unattached to keep the words you typed. Attach it to a pin when the sketch should replace the words.

Sample pin: none until attached

Set it up on the server

  1. Sign in to the Box IO dashboard and open the project that uses this device key.
  2. Turn on Edit.
  3. In Edit, add Label.
  4. Type the words in Text.
  5. Leave Attach to a pin off for a fixed title. Turn it on, then set Device and Virtual pin, when a virtualWrite should change the words.
  6. Set Color and Font size. Opacity is useful when the label sits on top of another widget.
  7. Save the layout.
  8. Flash the sketch below with the same device key, host, and port 5923. Keep BoxIO.run() in loop().

Properties

Sketch values are always strings, including numbers: BoxIO.setProperty(V2, "max", "200").

PropertyWhere to set itFormatExampleEffect
textDashboard or sketchPlain textPump roomThe words shown. On an attached label, a non-empty pin value is shown instead, and text is the fallback.
colorDashboard or sketch#RRGGBB#e8eef8Text color.
detachedDashboardOn means not attached to a pinonUnattached labels ignore the pin. Attached labels follow virtualWrite.
labelDashboard or sketchPlain textPumpCaption above the widget. On a round or oval button this is the caption, not the word on the button face.
hideLabelDashboardOn or offcheckedHides the caption. Button face text, meter numbers, and label text stay visible.
fontSizeDashboardWhole number 8 to 160, or blank for automatic size28Text size in pixels inside the widget.
opacityDashboard10% to 100%70%Lets an overlapping widget show through. 100% is solid.

Formatting

Sketch

Paste the device key over bx_paste_your_device_key_here. Wi-Fi boards include BoxIOEsp32.h. Ethernet boards use the same calls with an EthernetClient.

#define BOXIO_AUTH "bx_paste_your_device_key_here"
#define WIFI_SSID  "your-ssid"
#define WIFI_PASS  "your-password"
#define BOXIO_HOST "boxio.krmsproducts.net"
#define BOXIO_PORT 5923

#include <BoxIOEsp32.h>

void setup() {
  BoxIO.begin(BOXIO_AUTH, WIFI_SSID, WIFI_PASS, BOXIO_HOST, BOXIO_PORT);
// Only used when the label is attached to V10.
  BoxIO.setProperty(10, "text", "Waiting");
  BoxIO.setProperty(10, "color", "#e8eef8");
  BoxIO.virtualWrite(10, "Pump room");
}

void loop() {
  BoxIO.run();

}

What you should see

An unattached label stays on the words you typed. An attached label on pin 10 changes when the sketch writes V10. There is no V10 macro; use the number 10.