
The final project of Embedde class.
Dependencies: C12832 LM75B ESP-call MMA7660
WEB/WEB.cpp
- Committer:
- pkr7098
- Date:
- 2021-06-03
- Revision:
- 2:37756b51ccdb
- Parent:
- 1:ed1c6618f739
File content as of revision 2:37756b51ccdb:
#include "WEB.h" void webAddTag(const char *tagName, const char *tagMessage) { PC.printf("%s = %s..\"%s\\r\\n\"\r\n", tagName, tagName, tagMessage); ESP_recv_buffer_index = 0; ESP.attach(&ISR_ESP_to_recv_buffer, Serial::RxIrq); ESP.printf("%s = %s..\"%s\\r\\n\"\r\n", tagName, tagName, tagMessage); thread_sleep_for((1) * 100); ESP.attach(NULL, Serial::RxIrq); ESP_recv_buffer[ESP_recv_buffer_index] = '\0'; PC.printf("%s", ESP_recv_buffer); } void webCreateHtmlDoc(void) { NodeMCU_PGM htmlTag[] = { "htmlTag = \"<!DOCTYPE html>\\r\\n\"", 1, "htmlOpenTag = \"<html>\\r\\n\"", 1, "headOpenTag = \"<head>\\r\\n\"", 1, "styleOpenTag = \"<style>\\r\\n\"", 1, "styleTag = \" \"", 1, "styleCloseTag = \"</style>\\r\\n\"", 1, "headTag = \" \"", 1, "headCloseTag = \"</head>\\r\\n\"", 1, "bodyOpenTag = \"<body>\\r\\n\"", 1, "divOpenTag = \"<div style=\\\"text-align:center\\\">\\r\\n\"", 1, "table1OpenTag = \"<table>\\r\\n\"", 1, "table1HeadOpenTag = \"<thead>\\r\\n\"", 1, "table1HeadRow1Tag = \" \"", 1, "table1HeadRow2Tag = \" \"", 1, "table1HeadRow3Tag = \" \"", 1, "table1HeadCloseTag = \"</thead>\\r\\n\"", 1, "table1BodyOpenTag = \"<tbody>\\r\\n\"", 1, "table1BodyRow1Tag = \" \"", 1, "table1BodyRow2Tag = \" \"", 1, "table1BodyRow3Tag = \" \"", 1, "table1BodyRow4Tag = \" \"", 1, "table1BodyCloseTag = \"</tbody>\\r\\n\"", 1, "table1CloseTag = \"<table>\\r\\n\"", 1, "brTags = \"<br><br><br><br><br><br><br><br><br>\"", 1, "table2OpenTag = \"<table>\\r\\n\"", 1, "table2HeadOpenTag = \"<thead>\\r\\n\"", 1, "table2HeadRow1Tag = \" \"", 1, "table2HeadRow2Tag = \" \"", 1, "table2HeadRow3Tag = \" \"", 1, "table2HeadCloseTag = \"</thead>\\r\\n\"", 1, "table2BodyOpenTag = \"<tbody>\\r\\n\"", 1, "table2BodyRow1Tag = \" \"", 1, "table2BodyRow2Tag = \" \"", 1, "table2BodyRow3Tag = \" \"", 1, "table2BodyRow4Tag = \" \"", 1, "table2BodyRow5Tag = \" \"", 1, "table2BodyCloseTag = \"</tbody>\\r\\n\"", 1, "table2CloseTag = \"<table>\\r\\n\"", 1, "divCloseTag = \"</div>\\r\\n\"", 1, "bodyCloseTag = \"</body>\\r\\n\"", 1, "htmlCloseTag = \"</html>\\r\\n\"", 1, NULL, 0, }; ESP_call_multi(htmlTag); } void webDisplayWebsite(void) { webAddTag("headTag", "<title> Embedded Project </title>"); webAddTag("table1HeadRow1Tag", "<tr>"); webAddTag("table1HeadRow1Tag", "<th colspan=\\\"3\\\" style=\\\"font-size: 2rem;\\\">Device Information</th>"); webAddTag("table1HeadRow1Tag", "</tr>"); webAddTag("table1HeadRow2Tag", "<tr>"); webAddTag("table1HeadRow2Tag", "<th colspan=\\\"3\\\">"); webAddTag("table1HeadRow2Tag", "<hr>"); webAddTag("table1HeadRow2Tag", "</hr>"); webAddTag("table1HeadRow2Tag", "</tr>"); webAddTag("table1HeadRow2Tag", "</tr>"); webAddTag("table1HeadRow3Tag", "<tr>"); webAddTag("table1HeadRow3Tag", "<th>Device</th>"); webAddTag("table1HeadRow3Tag", "<th>State</th>"); webAddTag("table1HeadRow3Tag", "<th>Data</th>"); webAddTag("table1HeadRow3Tag", "</tr>"); webAddTag("table1BodyRow1Tag", "<tr>"); webAddTag("table1BodyRow1Tag", "<th>Time </th>"); webAddTag("table1BodyRow1Tag", "<td>%s</td>"); webAddTag("table1BodyRow1Tag", "<td>%02d:%02d:%02d</td>"); webAddTag("table1BodyRow1Tag", "</tr>"); webAddTag("table1BodyRow2Tag", "<tr>"); webAddTag("table1BodyRow2Tag", "<th>Alarm </th>"); webAddTag("table1BodyRow2Tag", "<td>%s</td>"); webAddTag("table1BodyRow2Tag", "<td>%02d:%02d:%02d</td>"); webAddTag("table1BodyRow2Tag", "</tr>"); webAddTag("table1BodyRow3Tag", "<tr>"); webAddTag("table1BodyRow3Tag", "<th>Temperature </th>"); webAddTag("table1BodyRow3Tag", "<td>Enabled</td>"); webAddTag("table1BodyRow3Tag", "<td>%.2f %s</td>"); webAddTag("table1BodyRow3Tag", "</tr>"); webAddTag("table1BodyRow4Tag", "<tr>"); webAddTag("table1BodyRow4Tag", "<th>LED </th>"); webAddTag("table1BodyRow4Tag", "<td>Changed by %s</td>"); webAddTag("table1BodyRow4Tag", "<td>"); webAddTag("table1BodyRow4Tag", "<div class=\\\"colorBox\\\" style=\\\"margin-left: auto; margin-right: auto; background: %s;\\\"></div>"); webAddTag("table1BodyRow4Tag", "</td>"); webAddTag("table1BodyRow4Tag", "</tr>"); webAddTag("table2HeadRow1Tag", "<tr>"); webAddTag("table2HeadRow1Tag", "<th colspan=\\\"4\\\" style=\\\"font-size: 2rem;\\\">Device Change</th>"); webAddTag("table2HeadRow1Tag", "</tr>"); webAddTag("table2HeadRow2Tag", "<tr>"); webAddTag("table2HeadRow2Tag", "<th colspan=\\\"4\\\">"); webAddTag("table2HeadRow2Tag", "<hr>"); webAddTag("table2HeadRow2Tag", "</hr>"); webAddTag("table2HeadRow2Tag", "</th>"); webAddTag("table2HeadRow2Tag", "</tr>"); webAddTag("table2HeadRow3Tag", "<tr>"); webAddTag("table2HeadRow3Tag", "<th>Device</th>"); /* webAddTag("table2HeadRow3Tag", "<th>Enable change</th>");*/ webAddTag("table2HeadRow3Tag", "<th>New data</th>"); webAddTag("table2HeadRow3Tag", "<th>Submit</th>"); webAddTag("table2HeadRow3Tag", "</tr>"); webAddTag("table2HeadRow3Tag", "<tr>"); /* webAddTag("table2BodyRow1Tag", "<tr>"); webAddTag("table2BodyRow1Tag", "<th>Time</th>"); webAddTag("table2BodyRow1Tag", "<td>"); webAddTag("table2BodyRow1Tag", "<label class=\\\"switch\\\">"); webAddTag("table2BodyRow1Tag", "<input type=\\\"checkbox\\\" name=\\\"MODE_MODIFY_TIME\\\">"); webAddTag("table2BodyRow1Tag", "<span class=\\\"slider round\\\"></span>"); webAddTag("table2BodyRow1Tag", "</label>"); webAddTag("table2BodyRow1Tag", "</td>"); webAddTag("table2BodyRow1Tag", "<td>"); webAddTag("table2BodyRow1Tag", "<input type=\\\"text\\\" style=\\\"width:5rem;\\\" id=\\\"ID_NEW_TIME_DATA\\\" name=\\\"NEW_TIME_DATA\\\" placeholder=\\\"12:00:00\\\" pattern=\\\"[0-2]{1}[0-9]{1}:[0-5]{1}[0-9]{1}:[0-5]{1}[0-9]{1}\\\" title=\\\"ex) 00:12:20\\\" required>"); webAddTag("table2BodyRow1Tag", "</td>"); webAddTag("table2BodyRow1Tag", "<td><input type=\\\"submit\\\"></input></td>"); webAddTag("table2BodyRow1Tag", "</tr>");*/ /* webAddTag("table2BodyRow2Tag", "<tr>"); webAddTag("table2BodyRow2Tag", "<tr>"); webAddTag("table2BodyRow2Tag", "<tr>"); webAddTag("table2BodyRow2Tag", "<th>Alarm enable</th>"); webAddTag("table2BodyRow2Tag", "<td>"); webAddTag("table2BodyRow2Tag", "<label class=\\\"switch\\\">"); webAddTag("table2BodyRow2Tag", "<input type=\\\"checkbox\\\" name=\\\"MODE_MODIFY_ALARM_STATE\\\"></input>"); webAddTag("table2BodyRow2Tag", "<span class=\\\"slider round\\\"></span>"); webAddTag("table2BodyRow2Tag", "</label>"); webAddTag("table2BodyRow2Tag", "</td>"); webAddTag("table2BodyRow2Tag", "<td>"); webAddTag("table2BodyRow2Tag", "<label class=\\\"switch\\\">"); webAddTag("table2BodyRow2Tag", "<input type=\\\"checkbox\\\" name=\\\"MODE_MODIFY_ALARM_ENABLE_STATE\\\">"); webAddTag("table2BodyRow2Tag", "<span class=\\\"slider round\\\"></span>"); webAddTag("table2BodyRow2Tag", "</label>"); webAddTag("table2BodyRow2Tag", "</td>"); webAddTag("table2BodyRow2Tag", "<td>"); webAddTag("table2BodyRow2Tag", "<input type=\\\"submit\\\">"); webAddTag("table2BodyRow2Tag", "</td>"); webAddTag("table2BodyRow2Tag", "</tr>");*/ webAddTag("table2BodyRow3Tag", "<tr>"); webAddTag("table2BodyRow3Tag", "<th>Alarm</th>"); webAddTag("table2BodyRow3Tag", "<form name=\\\"text\\\" method=\\\"POST\\\">"); /* webAddTag("table2BodyRow3Tag", "<td>"); webAddTag("table2BodyRow3Tag", "<label class=\\\"switch\\\">"); webAddTag("table2BodyRow3Tag", "<input type=\\\"checkbox\\\" name=\\\"MODE_MODIFY_ALARM_TIME\\\">"); webAddTag("table2BodyRow3Tag", "<span class=\\\"slider round\\\"></span>"); webAddTag("table2BodyRow3Tag", "</label>"); webAddTag("table2BodyRow3Tag", "</td>");*/ webAddTag("table2BodyRow3Tag", "<td>"); webAddTag("table2BodyRow3Tag", "<input type=\\\"text\\\" style=\\\"width:5rem;\\\" id=\\\"ID_NEW_ALARM\\\" name=\\\"NEW_ALARM_DATA\\\" placeholder=\\\"12:00:00\\\" pattern=\\\"[0-2]{1}[0-9]{1}:[0-5]{1}[0-9]{1}:[0-5]{1}[0-9]{1}\\\" title=\\\"ex) 00:12:20\\\" required>"); webAddTag("table2BodyRow3Tag", "</td>"); webAddTag("table2BodyRow3Tag", "<td>"); webAddTag("table2BodyRow3Tag", "<input type=\\\"submit\\\"></input>"); webAddTag("table2BodyRow3Tag", "</td>"); webAddTag("table2BodyRow3Tag", "</form>"); webAddTag("table2BodyRow3Tag", "</tr>"); /* webAddTag("table2BodyRow4Tag", "<tr>"); webAddTag("table2BodyRow4Tag", "<th>Temperature unit</th>"); webAddTag("table2BodyRow4Tag", "<td>"); webAddTag("table2BodyRow4Tag", "<label class=\\\"switch\\\">"); webAddTag("table2BodyRow4Tag", "<input type=\\\"checkbox\\\" name=\\\"MODE_MODIFY_TEMPERATURE_UNIT\\\">"); webAddTag("table2BodyRow4Tag", "<span class=\\\"slider round\\\"></span>"); webAddTag("table2BodyRow4Tag", "</label>"); webAddTag("table2BodyRow4Tag", "</td>"); webAddTag("table2BodyRow4Tag", "<td>"); webAddTag("table2BodyRow4Tag", "C"); webAddTag("table2BodyRow4Tag", "<label class=\\\"switch\\\">"); webAddTag("table2BodyRow4Tag", "<input type=\\\"checkbox\\\" name=\\\"TEMPERATURE_UNIT\\\">"); webAddTag("table2BodyRow4Tag", "<span class=\\\"slider round\\\"></span>"); webAddTag("table2BodyRow4Tag", "</label>"); webAddTag("table2BodyRow4Tag", "F"); webAddTag("table2BodyRow4Tag", "</td>"); webAddTag("table2BodyRow4Tag", "<td><input type=\\\"submit\\\"></input></td>"); webAddTag("table2BodyRow4Tag", "</tr>");*/ /* webAddTag("table2BodyRow5Tag", "<tr>"); webAddTag("table2BodyRow5Tag", "<th>LED color</th>"); webAddTag("table2BodyRow5Tag", "<td>"); webAddTag("table2BodyRow5Tag", "<label class=\\\"switch\\\">"); webAddTag("table2BodyRow5Tag", "<input type=\\\"checkbox\\\" name=\\\"MODE_MODIFY_LED_COLOR\\\">"); webAddTag("table2BodyRow5Tag", "<span class=\\\"slider round\\\"></span>"); webAddTag("table2BodyRow5Tag", "</label>"); webAddTag("table2BodyRow5Tag", "</td>"); webAddTag("table2BodyRow5Tag", "<td>"); webAddTag("table2BodyRow5Tag", "<select name=\\\"LED_COLOR\\\">"); webAddTag("table2BodyRow5Tag", "<option value=\\\"0\\\" selected>Black</option>"); webAddTag("table2BodyRow5Tag", "<option value=\\\"1\\\">Red</option>"); webAddTag("table2BodyRow5Tag", "<option value=\\\"2\\\">Green</option>"); webAddTag("table2BodyRow5Tag", "<option value=\\\"3\\\">Blue</option>"); webAddTag("table2BodyRow5Tag", "<option value=\\\"4\\\">Yellow</option>"); webAddTag("table2BodyRow5Tag", "<option value=\\\"5\\\">Turquoise</option>"); webAddTag("table2BodyRow5Tag", "<option value=\\\"6\\\">Purple</option>"); webAddTag("table2BodyRow5Tag", "<option value=\\\"7\\\">White</option>"); webAddTag("table2BodyRow5Tag", "</select>"); webAddTag("table2BodyRow5Tag", "</td>"); webAddTag("table2BodyRow5Tag", "<td><input type=\\\"submit\\\"></input></td>"); webAddTag("table2BodyRow5Tag", "</tr>");*/ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// webAddTag("styleTag","body {"); webAddTag("styleTag"," width: 70%;"); webAddTag("styleTag"," margin-left: auto;"); webAddTag("styleTag", " margin-right: auto;"); webAddTag("styleTag", "}"); /*webAddTag("styleTag", ".title-hr {"); webAddTag("styleTag", " border-top: 0.05em solid rgb(180,180,180);"); webAddTag("styleTag", " line-height: 1em;"); webAddTag("styleTag", " position: relative; "); webAddTag("styleTag", " text-align: center; "); webAddTag("styleTag", " color: black; "); webAddTag("styleTag", "}");*/ /*webAddTag("styleTag", ".switch {"); webAddTag("styleTag", " position: relative;"); webAddTag("styleTag", " display: inline-block; "); webAddTag("styleTag", " width: 50px;"); webAddTag("styleTag", " height: 26px; "); webAddTag("styleTag", "}"); webAddTag("styleTag", ".switch input {"); webAddTag("styleTag", " opacity: 0;"); webAddTag("styleTag", " width: 0; "); webAddTag("styleTag", " height: 0;"); webAddTag("styleTag", "}");*/ /*webAddTag("styleTag", ".slider {"); webAddTag("styleTag", " position: absolute;"); webAddTag("styleTag", " cursor: pointer; "); webAddTag("styleTag", " top: 0;"); webAddTag("styleTag", " left: 0; "); webAddTag("styleTag", " right: 0;"); webAddTag("styleTag", " bottom: 0; "); webAddTag("styleTag", " background-color: rgb(180,180,180);"); webAddTag("styleTag", " -webkit-transition: .4s; "); webAddTag("styleTag", " transition: .4s;"); webAddTag("styleTag", "}"); webAddTag("styleTag", ".slider:before {"); webAddTag("styleTag", " position: absolute;"); webAddTag("styleTag", " content: \\\"\\\";"); webAddTag("styleTag", " height: 18px; "); webAddTag("styleTag", " width: 18px;"); webAddTag("styleTag", " left: 4px; "); webAddTag("styleTag", " bottom: 4px;"); webAddTag("styleTag", " background-color: white; "); webAddTag("styleTag", " -webkit-transition: .4s;"); webAddTag("styleTag", " transition: .4s; "); webAddTag("styleTag", "}"); webAddTag("styleTag", "input:checked+.slider {"); webAddTag("styleTag", " background-color: rgb(21, 150, 255);"); webAddTag("styleTag", "}"); webAddTag("styleTag", "input:focus+.slider {"); webAddTag("styleTag", " box-shadow: 0 0 1px rgb(21, 150, 255);"); webAddTag("styleTag", "}"); webAddTag("styleTag", "input:checked+.slider:before {"); webAddTag("styleTag", " -webkit-transform: translateX(24px);"); webAddTag("styleTag", " -ms-transform: translateX(24px); "); webAddTag("styleTag", " transform: translateX(24px);"); webAddTag("styleTag", "}"); webAddTag("styleTag", ".slider.round {"); webAddTag("styleTag", " border-radius: 34px;"); webAddTag("styleTag", "}"); webAddTag("styleTag", ".slider.round:before {"); webAddTag("styleTag", " border-radius: 50%; "); webAddTag("styleTag", "}");*/ /* webAddTag("styleTag", "table {"); webAddTag("styleTag", " margin-left: auto;"); webAddTag("styleTag", " margin-right: auto; "); webAddTag("styleTag", " width: 75%;"); webAddTag("styleTag", "}"); webAddTag("styleTag", "table th {"); webAddTag("styleTag", " height: 35px;"); webAddTag("styleTag", " color: rgb(0, 0, 0);"); webAddTag("styleTag", " text-align: center;"); webAddTag("styleTag", " font-weight: bold; "); webAddTag("styleTag", " font-size: 1rem;"); webAddTag("styleTag", "}"); webAddTag("styleTag", "table td {"); webAddTag("styleTag", " height: 35px;"); webAddTag("styleTag", " color: rgb(6, 6, 6);"); webAddTag("styleTag", " text-align: center;"); webAddTag("styleTag", " font-weight: bold; "); webAddTag("styleTag", " font-size: 1rem;"); webAddTag("styleTag", "}");*/ webAddTag("styleTag", ".colorBox {"); webAddTag("styleTag", " float: left;"); webAddTag("styleTag", " width: 100%; "); webAddTag("styleTag", " height: 1rem;"); webAddTag("styleTag", " border: 1px;"); webAddTag("styleTag", " solid rgba(0, 0, 0, .2);"); webAddTag("styleTag", "}"); }