Меня наняли, чтобы я использовал Raspberry Pi для создания своего рода «киоска вестибюля» в холле компании, на которую я работаю во время стажировки в средней школе. При запуске raspberry pi отобразит 3 элемента; постоянно зацикленное видео презентации, суммирующее цели и услуги компании, погоду и панель новостей.
Чтобы достичь sh этого, я решил использовать локально размещенный веб-сайт apache2, который открываться в режиме киоска при загрузке. Чтобы предоставлять новости и погоду, я использовал виджеты веб-сайтов; те, что с momentaryreview.com и weatherwidget.io соответственно, а видео было предоставлено с использованием тегов html5 с исходным файлом .mp4, хранящимся на пи. Чтобы постоянно обновлять новости и погоду, я настроил веб-сайт на обновление sh каждый раз после завершения презентации, чтобы не нарушать работу l oop. У меня также есть код CSS, чтобы скрыть полосу прокрутки. Наконец, я настроил cronjob для перезагрузки пи каждый день в полночь.
Эта настройка работает довольно хорошо, за исключением того, что каждый час или два веб-сайт будет случайным образом сканировать sh, отображая типичное «Ой, щелчок! мы не смогли получить доступ к этой веб-странице "ошибка. Ничего не отображается в журналах ошибок, и в журналах доступа нет ничего необычного; кроме того, когда вы обновляете sh страницу, все возвращается в нормальное состояние. Хотя, конечно, у меня не может быть киоска, который нужно обновлять каждые пару часов; он должен работать весь день без какого-либо вмешательства. Что могло быть причиной этих сбоев?
Заранее благодарим за любую помощь!
Вот мой код:
<html >
<!--CSS block to set design parameters for the website -->
<style type="text/css">
.WebContainer{
width:100%;
min-width:1850px;
height:100%;
min-height:1075px;
}
html {
min-width: 100%;
min-height: 100%;
}
<!-- sets website dimensions to 1920x1080p;-->
body {
width: 1920px;
height: 1080px;
background-color: #FFF;
}
<!-- makes scrollbar invisible -->
::-webkit-scrollbar {
display: none;
}
</style>
<!--Displays "Welcome to (Company) on top of page & sets background color -->
<body>
<h1 style="text-align:center; font-family:sans-serif;">Welcome to (Company)</h1>
<body style="background-color: skyblue;"></body>
</body>
<!--takes weather information from weatherwidget.io and displays it on the website -->
<a class="weatherwidget-io"
href="https://forecast7.com/en/35d79n78d78/(location)/?unit=us"
data-label_1="LOCATION"
data-label_2="WEATHER"
data-theme="original"
>LOCATION WEATHER</a>
<script>
!function(d,s,id)
{
var js,fjs=d.getElementsByTagName(s)[0];
if(!d.getElementById(id))
{
js=d.createElement(s);js.id=id;
js.src='https://weatherwidget.io/js/widget.min.js';
fjs.parentNode.insertBefore(js,fjs);
}
}
(document,'script','weatherwidget-io-js');
</script>
<!-- takes news from the momentaryreview news widget-->
<iframe
style="background-color: #ffffff;"
src="https://momentaryreview.com/widget"
name="News_widget"
class="iframe"
width="20%"
height="875"
frameborder="1"
marginwidth="0"
marginheight="0"
scrolling="no"
></iframe>
<!-- displays the powerpoint on the website as an mp4; edit these to make the video display normally on smaller screens -->
<video width="1500" height="875" autoplay muted loop>
<source src="IntroPresentationFinal.mp4" type="video/mp4">
</video>
<!-- refreshes the page every loop of the presentation, which is 143 seconds long long -->
<meta
http-equiv="refresh"
content = "142"
>
<body>
</body>
</html>