Skip to content

Commit

Permalink
New Fields 1
Browse files Browse the repository at this point in the history
  • Loading branch information
omersiar committed Feb 27, 2018
1 parent 3d99110 commit 98b0a37
Show file tree
Hide file tree
Showing 18 changed files with 149 additions and 6,079 deletions.
File renamed without changes.
Binary file renamed compiledbin/firmware.bin → bin/firmware.bin
Binary file not shown.
File renamed without changes.
6,005 changes: 0 additions & 6,005 deletions demo/demo-users-data.json

This file was deleted.

Binary file removed demo/index.png
Binary file not shown.
Binary file removed demo/logs.png
Binary file not shown.
Binary file removed demo/settings.png
Binary file not shown.
Binary file removed demo/users.png
Binary file not shown.
2 changes: 1 addition & 1 deletion scripts/pio_script.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#

def after_build(source, target, env):
shutil.copy(firmware_source, 'compiledbin/firmware.bin')
shutil.copy(firmware_source, 'bin/firmware.bin')

env.AddPostAction("buildprog", after_build)

Expand Down
8 changes: 4 additions & 4 deletions src/index.html.gz.h

Large diffs are not rendered by default.

22 changes: 15 additions & 7 deletions src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ extern "C" {
#endif

// Variables for whole scope
const char* http_username = "admin";
char * http_pass = NULL;
unsigned long previousMillis = 0;
unsigned long previousLoopMillis = 0;
unsigned long cooldown = 0;
Expand All @@ -75,7 +77,7 @@ bool doEnableWifi = false;
int wifiTimeout = -1;
unsigned long wiFiUptimeMillis = 0;
char * deviceHostname = NULL;
char * adminpass = NULL;


// MQTT
WiFiClient wifiClient;
Expand Down Expand Up @@ -377,7 +379,6 @@ void setupMFRC522Reader(int rfidss, int rfidgain) {

void setupWiegandReader(int d0, int d1) {
wg.begin(d0, d0, d1, d1);
Serial.print(F("[ INFO ] Wiegand Reader"));
}

void ShowMFRC522ReaderDetails() {
Expand Down Expand Up @@ -762,21 +763,21 @@ bool loadConfiguration() {
Serial.println(F("[ INFO ] Config file found"));
json.prettyPrintTo(Serial);
Serial.println();
Serial.println(F("[ INFO ] Trying to setup RFID Hardware"));
Serial.print(F("[ INFO ] Trying to setup RFID Hardware :"));
readerType = json["readerType"];

if ( readerType == 1 ) {
int wgd0pin = json["wgd0pin"];
int wgd1pin = json["wgd1pin"];
Serial.println(F("[ INFO ] Trying to setup RFID Wiegand Hardware"));
Serial.println(F("Wiegand"));
setupWiegandReader(wgd0pin, wgd1pin); // also some other settings like weather to use keypad or not, LED pin, BUZZER pin, Wiegand 26/34 version
} else if ( readerType == 0 ) {
int rfidss = 15;
if (json.containsKey("sspin")) {
rfidss = json["sspin"];
}
int rfidgain = json["rfidgain"];
Serial.println(F("[ INFO ] Trying to setup RFID MFRC522 Hardware"));
Serial.println(F("MFRC522"));
setupMFRC522Reader(rfidss, rfidgain);
}

Expand Down Expand Up @@ -816,11 +817,11 @@ bool loadConfiguration() {
const char * password = json["pswd"];
int wmode = json["wmode"];

adminpass = strdup(json["adminpwd"]);
http_pass = strdup(json["adminpwd"]);

// Serve confidential files in /auth/ folder with a Basic HTTP authentication
// server.serveStatic("/auth/", SPIFFS, "/auth/").setAuthentication("admin", adminpass);
ws.setAuthentication("admin", adminpass);
ws.setAuthentication("admin", http_pass);
// Add Text Editor (http:https://esp-rfid.local/edit) to Web Server. This feature likely will be dropped on final release.
//server.addHandler(new SPIFFSEditor("admin", adminpass));

Expand Down Expand Up @@ -932,6 +933,13 @@ void setupWebServer() {
request->send(response);
});

// HTTP basic authentication
server.on("/login", HTTP_GET, [](AsyncWebServerRequest *request){
if(!request->authenticate(http_username, http_pass))
return request->requestAuthentication();
request->send(200, "text/plain", "Login Success!");
});

server.rewrite("/", "/index.html");

// Start Web Server
Expand Down
50 changes: 27 additions & 23 deletions src/required.css.gz.h

Large diffs are not rendered by default.

36 changes: 24 additions & 12 deletions src/required.js.gz.h

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/websrc/css/sidebar.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions src/websrc/css/sidebarcollapse.css

Large diffs are not rendered by default.

93 changes: 69 additions & 24 deletions src/websrc/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
<div class="wrapper">
<!-- Sidebar Holder -->
<nav id="sidebar">
<div id="dismiss">
<i class="glyphicon glyphicon-arrow-left"></i>
</div>
<div class="sidebar-header">
<h1>
esp-rfid <span class="glyphicon glyphicon-tags" aria-hidden="true"></span>
Expand Down Expand Up @@ -87,45 +90,87 @@ <h1>
<a href="#" class="article">Logout</a>
</li>
<li>
<h6>esp-rfid v0.5 New Fields</h6>
<h6 class="text-center">esp-rfid v0.5 New Fields</h6>
</li>
</ul>
</nav>
<!-- Page Content Holder -->
<div id="content">

<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" id="sidebarCollapse" class="navbar-btn">
<span></span>
<span></span>
<span></span>
<button type="button" id="sidebarCollapse" class="btn btn-info navbar-btn">
<i class="glyphicon glyphicon-align-left"></i>
<span>Menu</span>
</button>
</div>
</div>
</nav>
<h2>Collapsible Sidebar Using Bootstrap 3</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<div class="line"></div>
<h2>Lorem Ipsum Dolor</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<div class="line"></div>
<h2>Lorem Ipsum Dolor</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<div class="line"></div>
<h3>Lorem Ipsum Dolor</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>

<div class="col-md-4 col-md-offset-4">
<div class="login-panel panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Please Sign In</h3>
</div>
<div class="panel-body">
<form role="form" onsubmit="login(); return false">
<fieldset>
<div class="form-group">
<input id="password" class="form-control" placeholder="Password" name="password" type="password" value="" required="" title="Please enter your password">
</div>
<button type="submit" class="btn btn-success btn-md pull-right">Login</button>
</fieldset>
</form>
</div>
</div>
</div>

</div>



<div class="overlay"></div>
<script src="js/required.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('#sidebarCollapse').on('click', function () {
$('#sidebar').toggleClass('active');
$(this).toggleClass('active');
});
});
<script>
function login() {
if (document.getElementById("password").value === "neo") {
alert("Welcome back developer");
}
var username = "admin"
var password = document.getElementById("password").value;
var url = "/login";
var xhr = new XMLHttpRequest();
xhr.open("get", url, true, username, password);
xhr.onload = function(e) {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
alert(xhr.responseText);
} else {
alert("Incorrect password!");
}
}
};
xhr.send(null);

}
$(document).ready(function () {
$("#sidebar").mCustomScrollbar({
theme: "minimal"
});

$('#dismiss, .overlay').on('click', function () {
$('#sidebar').removeClass('active');
$('.overlay').fadeOut();
});

$('#sidebarCollapse').on('click', function () {
$('#sidebar').addClass('active');
$('.overlay').fadeIn();
$('.collapse.in').toggleClass('in');
$('a[aria-expanded=true]').attr('aria-expanded', 'false');
});
});
</script>
</body>
</html>
Loading

0 comments on commit 98b0a37

Please sign in to comment.