fix updater and other things

This commit is contained in:
unknown 2020-03-12 21:34:12 +01:00
parent 3ff5e0d660
commit 0b92c0a84a
7 changed files with 42 additions and 43 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -98,20 +98,19 @@ void setup() {
Serial.printf("HTTP_UPDATE_FAILD Error (%d): %s", ESPhttpUpdate.getLastError(), ESPhttpUpdate.getLastErrorString().c_str()); Serial.printf("HTTP_UPDATE_FAILD Error (%d): %s", ESPhttpUpdate.getLastError(), ESPhttpUpdate.getLastErrorString().c_str());
Serial.println(); Serial.println();
Serial.println(); Serial.println();
Serial.println();
break; break;
case HTTP_UPDATE_NO_UPDATES: case HTTP_UPDATE_NO_UPDATES:
Serial.println("HTTP_UPDATE_NO_UPDATES"); Serial.println("HTTP_UPDATE_NO_UPDATES");
Serial.println(); Serial.println();
Serial.println(); Serial.println();
Serial.println();
break; break;
case HTTP_UPDATE_OK: case HTTP_UPDATE_OK:
Serial.println("HTTP_UPDATE_OK"); Serial.println("HTTP_UPDATE_OK");
Serial.println(); Serial.println();
Serial.println(); Serial.println();
Serial.println();
break; break;
} }
delay(500); delay(500);
@ -214,7 +213,6 @@ void loadDataFromWeb() {
} else if (requestState == "succes") { } else if (requestState == "succes") {
unsuccessfulRounds = 0; unsuccessfulRounds = 0;
} }
WiFi.hostname(hostName); WiFi.hostname(hostName);
} }

View File

@ -164,7 +164,7 @@ if (!DeviceManager::approved($token)) {
if ($settings != null || $settings != ""){ if ($settings != null || $settings != ""){
$data = ['mac' => $settings["network"]["mac"], 'ip_address' => $settings["network"]["ip"]]; $data = ['mac' => $settings["network"]["mac"], 'ip_address' => $settings["network"]["ip"]];
if (array_key_exists("firmware_hash", $settings)) { if (array_key_exists("firmware_hash", $settings)) {
$data .= ['firmware_hash'=>$settings["firmware_hash"]]; $data['firmware_hash'] = $settings["firmware_hash"];
} }
DeviceManager::editByToken($token, $data); DeviceManager::editByToken($token, $data);
} }
@ -217,6 +217,7 @@ if ($values != null || $values != "") {
$hostname = strtolower($device['name']); $hostname = strtolower($device['name']);
$hostname = str_replace(' ', '_', $hostname); $hostname = str_replace(' ', '_', $hostname);
//upravit format na setings-> netvork etc
$jsonAnswer = [ $jsonAnswer = [
'device' => [ 'device' => [
'hostname' => $hostname, 'hostname' => $hostname,

View File

@ -49,7 +49,7 @@ class DeviceManager{
public function editByToken ($token, $values = []) { public function editByToken ($token, $values = []) {
try { try {
Db::edit ('devices', $values, 'WHERE token = ?', array($deviceId)); Db::edit ('devices', $values, 'WHERE token = ?', array($token));
} catch(PDOException $error) { } catch(PDOException $error) {
echo $error->getMessage(); echo $error->getMessage();
die(); die();

View File

@ -17,7 +17,7 @@ class NotificationManager
} }
function getSubscription () { function getSubscription () {
return Db::loadAll('SELECT * FROM notifications;', array()); return Db::loadAll ("SELECT * FROM notifications");
} }
function sendSimpleNotification(string $serverKey, string $to, array $data, bool $timeStamp = false){ function sendSimpleNotification(string $serverKey, string $to, array $data, bool $timeStamp = false){

View File

@ -7,8 +7,9 @@ if (isset($_POST) && !empty($_POST)){
$sleepTime = 0; $sleepTime = 0;
if (isset($_FILES['deviceFirmware']) && isset($_FILES['deviceFirmware']['tmp_name']) && $_FILES['deviceFirmware']['tmp_name'] != "") { if (isset($_FILES['deviceFirmware']) && isset($_FILES['deviceFirmware']['tmp_name']) && $_FILES['deviceFirmware']['tmp_name'] != "") {
$file = $_FILES['deviceFirmware']; $file = $_FILES['deviceFirmware'];
$fileName = (isset ($_POST['deviceMac']) ? str_replace(":", "", $_POST['deviceMac']) . ".bin" : ""); $deviceMac = DeviceManager::getDeviceById($deviceId)['mac'];
if (file_exists("./app/updater/" . $fileName)) { $fileName = (isset ($deviceMac) && $deviceMac != "" ? str_replace(":", "", $deviceMac) . ".bin" : "");
if ($fileName != "" && file_exists("./app/updater/" . $fileName)) {
unlink("./app/updater/" . $fileName); unlink("./app/updater/" . $fileName);
} }
if ($fileName != "") { if ($fileName != "") {

View File

@ -22,6 +22,10 @@ $files = array_diff($files, array(
foreach($files as $file) { foreach($files as $file) {
include './app/class/'. $file; include './app/class/'. $file;
} }
//DB Conector
Db::connect (DBHOST, DBUSER, DBPASS, DBNAME);
$logManager = new LogManager(); $logManager = new LogManager();
header('Content-type: text/plain; charset=utf8', true); header('Content-type: text/plain; charset=utf8', true);
@ -52,12 +56,10 @@ function sendFile($path)
$localBinary = "./app/updater/" . str_replace(':', '', $_SERVER['HTTP_X_ESP8266_STA_MAC']) . ".bin"; $localBinary = "./app/updater/" . str_replace(':', '', $_SERVER['HTTP_X_ESP8266_STA_MAC']) . ".bin";
$logManager->write("[Updater] url: " . $localBinary, LogRecordType::INFO); $logManager->write("[Updater] url: " . $localBinary, LogRecordType::INFO);
$logManager->write("[Updater] version: " . $_SERVER['HTTP_X_ESP8266_SKETCH_MD5'], LogRecordType::INFO); $logManager->write("[Updater] version: " . $_SERVER['HTTP_X_ESP8266_SKETCH_MD5'], LogRecordType::INFO);
if (file_exists($localBinary)) { if (file_exists($localBinary)) {
$logManager->write("[Updater] version PHP: " . md5_file($localBinary), LogRecordType::INFO); $logManager->write("[Updater] version PHP: " . md5_file($localBinary), LogRecordType::INFO);
if ($_SERVER['HTTP_X_ESP8266_SKETCH_MD5'] != md5_file($localBinary)) { if ($_SERVER['HTTP_X_ESP8266_SKETCH_MD5'] != md5_file($localBinary)) {
sendFile($localBinary); sendFile($localBinary);
//notification //notification
$notificationMng = new NotificationManager; $notificationMng = new NotificationManager;
$notificationData = [ $notificationData = [
@ -65,12 +67,11 @@ if (file_exists($localBinary)) {
'body' => 'Someone device was just updated to new version', 'body' => 'Someone device was just updated to new version',
'icon' => BASEDIR . '/app/templates/images/icon-192x192.png', 'icon' => BASEDIR . '/app/templates/images/icon-192x192.png',
]; ];
if ($notificationData != []) { if ($notificationData != []) {
$subscribers = $notificationMng::getSubscription(); $subscribers = $notificationMng->getSubscription();
foreach ($subscribers as $key => $subscriber) { foreach ($subscribers as $key => $subscriber) {
$logManager->write("[NOTIFICATION] SENDING TO " . $subscriber['id'] . " ", LogRecordType::INFO); $logManager->write("[NOTIFICATION] SENDING TO " . $subscriber['id'] . " ", LogRecordType::INFO);
$notificationMng::sendSimpleNotification(SERVERKEY, $subscriber['token'], $notificationData); $answer = $notificationMng->sendSimpleNotification(SERVERKEY, $subscriber['token'], $notificationData);
} }
} }
} else { } else {
@ -79,6 +80,4 @@ if (file_exists($localBinary)) {
} else { } else {
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found"); header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
} }
header($_SERVER["SERVER_PROTOCOL"].' 500 no version for ESP MAC', true, 500);
die(); die();