• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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

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