• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Помогите разобраться!!! Режим WakeLock

OlegeCool

New member
Здравствуйте коллеги!!!
На ESP8266 поднимаю веб сервер в режиме АР, при пользовании страницей стоит задача чтобы содержимое страницы отображалось в полноэкранном режиме и телефон не переходил в спящий режим. При тестировании страницы все работает, при открытии с ESP полноэкранный режим срабатывает, но телефон засыпает, помогите разобраться.

JavaScript:
<script>

async function Fullscr() {
  if (!document.fullscreenElement)
    await document.documentElement.requestFullscreen();
  let WakeLock = null;
 await WakeLock = navigator.wakeLock.request('screen');
}

</script>
Заранее благодарен.
 

fps

Active member
Код:
let WakeLock = null;
Эту строку убрать. Зачем она вообще? Просто копипаста откуда-то?

Код:
 await WakeLock = navigator.wakeLock.request('screen');
Ерунда ведь написана. На js так нельзя. Исправьте на await navigator.wakeLock.request('screen');
 

OlegeCool

New member
Код:
let WakeLock = null;
Эту строку убрать. Зачем она вообще? Просто копипаста откуда-то?

Код:
 await WakeLock = navigator.wakeLock.request('screen');
Ерунда ведь написана. На js так нельзя. Исправьте на await navigator.wakeLock.request('screen');
Спасибо за ответ, но не работает ни так, ни так....
вот полный текст скетча, его задача перевести экран мобильного в полный экран, установить ориентацию и НЕ переходить в спящий режим. Если загрузить index.html например на гитхаб всё работает, при открытии с ESP8266 полноэкранка работает, ориентация работает, а вот телефон засыпает.

JavaScript:
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <DNSServer.h>

ESP8266WebServer server(80);

DNSServer dnsServer;

const char index_html[] PROGMEM = R"rawliteral(
<!DOCTYPE HTML>
<html>
<head>
    <title>
        Моя страница
    </title>
    <meta charset = "utf-8">                          
    <meta name="viewport" content="user-scalable=no">  

</head>

<body  style="font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif ;
color:rgb(128, 128, 128); font-size: xx-large;">

<h1 style="text-align:center"> Вот такой текст </h1>

<button style= "font-size: large" onclick="Fullscr()" id="button">
  Установить полноэкран
</button> <br/> <br/>

<button style= "font-size: large" onclick="screen.orientation.lock('portrait')">
  Установить портрет
</button> <br/> <br/>

<button style= "font-size: large" onclick="screen.orientation.lock('landscape')">
  Установить альбом
</button> <br/> <br/>

<script>

async function Fullscr() {
  if (!document.fullscreenElement)
    await document.documentElement.requestFullscreen();
     await navigator.wakeLock.request( 'screen' );
}

</script>

</body>
</html>
)rawliteral";


void setup()
{
  server.on("/", []()
            { server.send(200, "text/html", index_html); });
  server.begin();

  IPAddress apIP(192, 168, 4, 1);
  IPAddress staticGateway(192, 168, 4, 1);
  IPAddress staticSubnet(255, 255, 255, 0);

  // Задаем настройки сети
  WiFi.softAPConfig(apIP, staticGateway, staticSubnet);
  WiFi.softAP("MyESP");

dnsServer.start(53, "*", apIP);
}

void loop()
{

  server.handleClient();
  dnsServer.processNextRequest(); // Для работы DNS в режиме AP

}
Почему не работает???
 
Сверху Снизу