In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.
When the TV Dashboard is launched, the application is automatically registered to Zeroconf/Avahi service discovery system. Conversely, when the application is closed, the service is unregistered. The service is registered as TV Dashboard on port 58000 with the type _http._tcp.
[POST] http://zeroconf:15051/a1/xploretv/v1/zeroconf
{
"name":"TV Dashboard",
"replaceWildcards":true,
"serviceProtocol":"any",
"service":{
"type":"_http._tcp",
"port":58000,
"txtRecord":{
"version":"1.0",
"provider":"A1 Telekom Austria",
"product":"Xplore TV-Dashboard"
"path":"/",
"virtualHost":true
}
}
}
[POST/DELETE] https://zerodiscovery.duckdns.org:15051/a1/xploretv/v1/zeroconf/TV Dashboard
[GET] https://zerodiscovery.duckdns.org:15051/a1/xploretv/v1/zeroconf
[
{...},
{
"name":"TV Dashboard at zerodiscovery",
"hostName":"zerodiscovery.local.",
"domainName":"local",
"addresses":{
"ipv4":[
"127.0.0.1"
],
"ipv6":[]
},
"service":{
"type":"_http._tcp.local.",
"port":58000,
"txtRecord":{
"version":"1.0",
"provider":"A1 Telekom Austria",
"product":"Xplore TV-Dashboard"
"path":"/",
"virtualHost":true
}
}
},
{...}
]
The folder scripts contains automatic installation scripts for Raspberry Pi and OpenWrt devices. Notably, the raspberry script applies only to Debian-based systems. Finally, the TV Dashboard can be accessed on address http://{hostname/device_ip}/>:58000 within the local area network.
- Clone git repository git clone https://github.com/mqtt2go/tv-dashboard.git.
- Switch to /scripts/raspberry folder.
- Change installation script permissions chmod 755 install.sh.
- Launch installation script as root user sudo ./install.sh.
The installation on OpenWrt devices requires additional prerequisites. Before the actual installation, the LXC container named fileserver must be present in the system. Then the installation process follows the same steps. ONce installed , the TV Dashboard can be accessed on address http://tvdashboard:58000.
- Install fileserver LXC container vi web user interface.
- Connect via SSH to the OpenWRT device.
- Attach to the LXC by emmitting lxc-attach -n fileserver
- Clone git repository git clone https://github.com/mqtt2go/tv-dashboard.git.
- Switch to /scripts/openwrt folder.
- Change installation script permissions chmod 755 install-owrt.sh.
- Launch installation script as root user sudo ./install-owrt.sh.
For the Raspberry Pi kiosk mode installation, following parts are needed:
- Raspberry Pi 3B or higher (to ensure quality experience from the chrome browser).
- MicroSD card big enough to store current version of Raspberry Pi OS Lite (currently 4GB minimum)
- Kiosk installation script provided in this repo.
- Install Raspberry Pi OS Lite to the microSD card. This can be done utilizing the Raspberry Pi Imager software.
- Copy the installation script to the micdoSD card – ideally via ssh to booted systems’ home directory and run it as sudo.
- Wait for the script to finish and then reboot the device.
Optionally a custom modification to the RPi can be done – changing usernames and logins to enhance security etc. If the sole purpose of Kiosk Mode installation is only to verify the functionality, this can be omitted. In all other scenarios we strongly recommend securing the device.