First commit
This commit is contained in:
parent
81bcb27e30
commit
e0016201bc
@ -5,3 +5,11 @@
|
|||||||
+Split sentences into lines(features)
|
+Split sentences into lines(features)
|
||||||
+Enable/disable text scrolling (features)
|
+Enable/disable text scrolling (features)
|
||||||
+Add a drawing as a binary image (features)
|
+Add a drawing as a binary image (features)
|
||||||
|
+State of panel
|
||||||
|
+Remote panel on/off
|
||||||
|
#Docs for API
|
||||||
|
*Endpoints
|
||||||
|
+10.131.170.4 - the local static IP
|
||||||
|
+/api/text - endpoint for editing text (POST)
|
||||||
|
+/api/led - endpint for on/off panel (POST)
|
||||||
|
+/api/led - endpoint for check on/off panel (GET), return "{"led":"true"}" if panel ON and "{"led":"false"}" if panel OFF
|
||||||
|
51
panel.ino
51
panel.ino
@ -8,6 +8,7 @@
|
|||||||
#define DISPLAYS_ACROSS 1
|
#define DISPLAYS_ACROSS 1
|
||||||
#define DISPLAYS_DOWN 1
|
#define DISPLAYS_DOWN 1
|
||||||
DMD dmd(DISPLAYS_ACROSS, DISPLAYS_DOWN);
|
DMD dmd(DISPLAYS_ACROSS, DISPLAYS_DOWN);
|
||||||
|
bool panel = true;
|
||||||
|
|
||||||
const char* ssid = "SKBKIT";
|
const char* ssid = "SKBKIT";
|
||||||
const char* password = "skbkit2024";
|
const char* password = "skbkit2024";
|
||||||
@ -55,6 +56,7 @@ void setup() {
|
|||||||
|
|
||||||
// Обрабатываем GET запрос для главной страницы с формой
|
// Обрабатываем GET запрос для главной страницы с формой
|
||||||
server.on("/", HTTP_GET, []() {
|
server.on("/", HTTP_GET, []() {
|
||||||
|
panel = true;
|
||||||
server.send(200, "text/html",
|
server.send(200, "text/html",
|
||||||
"<!DOCTYPE html>"
|
"<!DOCTYPE html>"
|
||||||
"<html lang='ru'>"
|
"<html lang='ru'>"
|
||||||
@ -69,8 +71,33 @@ void setup() {
|
|||||||
"</html>");
|
"</html>");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
server.on("/api/led", HTTP_GET, [](){
|
||||||
|
if(panel){
|
||||||
|
server.send(200, "application/json", "{\"state\": \"true\"}");
|
||||||
|
}else if(!panel){
|
||||||
|
server.send(200, "application/json", "{\"state\": \"false\"}");
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
server.on("/api/led", HTTP_POST, [](){
|
||||||
|
String panelState = server.arg("plain");
|
||||||
|
Serial.println(panelState);
|
||||||
|
|
||||||
|
if (panelState == "{\"led\": \"on\"}"){
|
||||||
|
Serial.println("Panel on!");
|
||||||
|
panel = true;
|
||||||
|
//scanDisplayBySPI();
|
||||||
|
}else if(panelState == "{\"led\": \"off\"}"){
|
||||||
|
panel = false;
|
||||||
|
Serial.println("Panel off!");
|
||||||
|
SPI.end();
|
||||||
|
}
|
||||||
|
server.send(200, "text/html", "");
|
||||||
|
});
|
||||||
|
|
||||||
// Обрабатываем POST запрос для изменения текста
|
// Обрабатываем POST запрос для изменения текста
|
||||||
server.on("/api/text", HTTP_POST, []() {
|
server.on("/api/text", HTTP_POST, []() {
|
||||||
|
panel = true;
|
||||||
if (server.hasArg("text")) {
|
if (server.hasArg("text")) {
|
||||||
// Получаем текст с формы без преобразования в HTML-сущности
|
// Получаем текст с формы без преобразования в HTML-сущности
|
||||||
displayText = server.arg("text");
|
displayText = server.arg("text");
|
||||||
@ -94,18 +121,18 @@ void setup() {
|
|||||||
void loop() {
|
void loop() {
|
||||||
server.handleClient(); // Обработка запросов от клиента
|
server.handleClient(); // Обработка запросов от клиента
|
||||||
|
|
||||||
// Очистка экрана и вывод текста
|
// // Очистка экрана и вывод текста
|
||||||
dmd.clearScreen(true);
|
// dmd.clearScreen(true);
|
||||||
dmd.drawMarquee(displayText.c_str(), displayText.length(), (32 * DISPLAYS_ACROSS) - 1, 0);
|
// dmd.drawMarquee(displayText.c_str(), displayText.length(), (32 * DISPLAYS_ACROSS) - 1, 0);
|
||||||
|
|
||||||
long start = millis();
|
// long start = millis();
|
||||||
long timer = start;
|
// long timer = start;
|
||||||
boolean ret = false;
|
// boolean ret = false;
|
||||||
|
|
||||||
while (!ret) {
|
// while (!ret) {
|
||||||
if ((timer + 30) < millis()) {
|
// if ((timer + 30) < millis()) {
|
||||||
ret = dmd.stepMarquee(-1, 0); // Прокрутка текста
|
// ret = dmd.stepMarquee(-1, 0); // Прокрутка текста
|
||||||
timer = millis();
|
// timer = millis();
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user