OLED Display Agent
#include <SSD1311.h>
#include <WiFiNINA.h>
#include <vrpc.h>
#include "Wire.h"
const char ssid[] = "<WLAN-SSID>";
const char pass[] = "<WLAN-PASSWORD>";
const char domain[] = "vrpc-arduino";
const char token[] = "";
const char host[] = "vrpc.io";
SSD1311 Screen;
WiFiClient wifi;
VrpcAgent agent;
void setText(String text, int row = 0) {
clearRow(row);
Screen.sendString(text.c_str(), row * 32, 0);
}
String getText() {
String result;
char buffer[] = " 0";
Screen.readString(buffer, 0, 0, 20);
result += String(buffer) + "\n";
Screen.readString(buffer, 32, 0, 20);
result += String(buffer) + "\n";
Screen.readString(buffer, 64, 0, 20);
result += String(buffer) + "\n";
Screen.readString(buffer, 96, 0, 20);
result += String(buffer) + "\n";
return result;
}
void clearRow(int row) {
Screen.sendString(" ", row * 32, 0);
}
void connect() {
while (WiFi.status() != WL_CONNECTED) {
Screen.sendString("Connect WiFi... ", 0, 0);
WiFi.begin(ssid, pass);
delay(1000);
}
Screen.sendString("Connect WiFi... OK", 0, 0);
agent.connect();
}
void setup() {
Wire.begin();
pinMode(6, OUTPUT);
digitalWrite(6, HIGH);
Screen.powerMode(SSD1311_LCD_ON);
Screen.clear();
WiFi.begin(ssid, pass);
agent.begin(wifi, domain, token, host);
connect();
}
void loop() {
agent.loop();
if (!agent.connected()) {
connect();
}
}
VRPC_GLOBAL_FUNCTION(void, setText, String, int);
VRPC_GLOBAL_FUNCTION(String, getText);
Last updated