Devices - Embedded Devices

Introduction

The main purpose of the new 2.x firmware is to provide a fully value, configuration and monitoring surface to the device, making easier the work of the distributors, developers and the support staff. In the future this firmware will be installed on all the Raspberry(/NanoPI) devices.

Technical details

On the devices the familiar Raspbian operation system is running. The firmware is a NodeJS application, that provides the web surface and monitor the system. The internet browser is not a Chromium anymore, it is an Electron. The Electron contains embedded the Chromium, so the websites will show up the same way as in Chromium did. The Electron does not include any unnecessary thing, like translate, right click menu, pop-up help and it does not need installation.

Stability

During the development of the system our main goal was, to prevent system freezes and make the system restart possible without any human interaction. To make this possible, we built in multiple protection methods.

  1. The NodeJS application is listening, that the Electron provided web surface is running or not, if the application surface is not available, the system will restart itself. The listener triggers every 30 second, but the system will restart after 2 minutes.
  2. The operation system is listening, that the NodeJS is running, if it is not, it will restart it. (Checks every 1 minute)
  3. The web surface notices, if the connection with the NodeJs has been stopped working. (You will see a Reconnecting screen, while it goes back online.

Starting the device

The system loading time is usually around 50 sec(depending on the built in hardware), you will see the Q-net loading video, then it forwards you to the firmware. If the internet is not connected, the loading time is slower, because it will wait 100 sec, for get IP.

Surface of the firmware

The design of the firmware is fully responsive, it is easy to use on every resolution and every device, from mobile devices to full HD screens.

Main screen

After the device starting, this screen will appear. In this screen the system will wait 10 seconds to any touch even, then it tries to connect to the server and s tart the application(switch to software keyboard, ticket dispenser or media player site). If any touch event occurs, the timer will stop and it will be possible to access the Control Panel.

items on the screen:

upper left

Here are the resource details of the device. The CPU, memory and storage usage. Below the small icons displays the status of the device (from left to right):

  1. DeviceController is installed and running
  2. Ethernet cabel connected
  3. Onboard Wi-Fi available
  4. Microphone connected
  5. Webcamera connected (ticket dispenser)
upper middle

From top to bottom:

  1. The device’s MAC address
  2. The device’s IP address
  3. The device’s WSID

The WSID is automatically generated at the first start. The ID is user-friendly. Two English word (adjective + noun)+4 random number It is easy to memorize this way(e.g.:cold-snow-5582). The WSID can be change on the setting tab.

The device controllers WSID generated the same way, but with a “dc-“prefix.

upper right

The device’s actual date and time.

function buttons on the bottom

If the device has onboard Wi-Fi, a Wi-Fi button on the right will appear. It is possible to turn on the Wi-fi in AP(Access point). The Wi-fi will turn of automatifally after 10 minutes. More information about this, at the configuration section. The button on the right make it possible to access the application’s site, if the server is available, the button will turn green.

waiting for the server

This screen will appear, if the timer expired on the Main screen or we press the “Open the app” button. In this case the firmware checks, that the previously configured server is online (the server address should be visible at the middle of the screen), if yes, it will jump to the application screen. If it is not available, the firmware will wait on this screen to the server, and it will continuously try to connect.

Control Panel

The control panel menu is to configure the device, monitor the resources, test the hardware devices and check log files.

The Control panel is accessible locally and remote as well. To remote access, type the following in the browser: http:// [:80] (e.g. http://192.168.1.89:80)

Login

Before you can access to the Control Panel, login is required. You must enter the password here, to prevent unauthorized logins. The default password is: “qnet1234”

Control panel

Dashboard

After successful login, this screen will be shown. In this screen we will see summarized information about the device and we can reboot it. („Reboot device”)

On the bottom left, we can see additional information. The green globe means, that the device has working internet connection.

Settings

You can set up the device’s parameters here. The „Basic” and „Advanced” buttons can hide and unhide additional options.

From top to bottom:

  1. Websocket ID setup, and screen rotating
  2. Device Controller WSID setup and the listening port(SD20)
  3. Server setup (protocol, v6 server address, v6 server port)
  4. Network settings (DHCP or static)
  5. Set date and time
  6. Nightly restart. Due the limited memory of the device and the long term usage of the browsers, it is recommended to restart the device every night. This function restarts the device the previously set time. Best time for this is before the opening hours.

After pushing the “Save” button, the device will automatically reboot, if it is necessary

HW test

In this page it is possible to test every connected device. Some of these options only available, if the hardware is connected to the device.

Logs

It is possible to check log files here.

  1. System – log of the operation system. Messages, alerts and errors regarding the operation system (/var/log/syslog)
  2. Device Controller – log file of the Device Controller. It always shows the logs of the last day (opt/qnet/dc/logs/*.log)
  3. Firmware – the log of the firmware (that provides this surface) itself. (/var/log/firmware.log)

This surface is listening the log files, if a new line is written in them, it will automatically show up here, no need to refresh. Due the limited resources, only the last 1000 lines are visible here.

The „Stop following” button turn off the auto refresh. With remote access it is also possible to download the whole log file with the “Download” button.

Remote screens

These screens are only available in remote access mode.

Terminal

In this surface, we get a remote terminal with the browser, logged in with “root” user! Every command is usable, same like an SSH connection. If an another menu is selected on the right, the terminal will close automatically.

VNC

On the device, the VNC server is always running. In this page we can connect to the VNC server, and the screen of the device will be visible. It can be useful with a ticket dispenser or SH46.

Important! The video player’s screen is not visible through VNC! It is possible to check that the video player is running, in the terminal, type “htop” command and check”omxplayer” process is running.

The VNC transfers the pushed buttons, mouse moving and clicks as well. The F5 and F12 buttons are useable as well. These buttons will be transferred to the device and not run in the local browser.

The VNC is also accessible via vncviewer, on the standard way. The password is “qnet1234”.

Server

This menu is only accessible, if the server is configured and online.

Q-net v6 application screen

After the configuration is done, the firmware should forward us to the application itself.(ticket dispenser, media player, clerk). The application can be closed by touching the bottom left corner of the screen, after this you will be returned to the firmware’s page.

This exit method works with all application (CF04, software keyboard, SH46)

The following hotkeys are also available:

configuration options

configuration locally

In case of touchscreen devices, the configuration is the easiest locally, on the device. After the device starts, it is possible to enter the Control Panel by touching it. A virtual keyboard makes it easier to fill text fields.

Tutorial video: https://youtu.be/Eb7gZwwy4fA

remote configuration

The web surface of the firmware is accessible from remote devices. It can be configured from or PC or notebook. To remote access, the device’s IP address to a browser.

Tutorial video: https://youtu.be/MWxSyYSKXY8

configuration from mobile (ap mode)

In case of devices with WiFi, it is possible to turn on the WiFi in AP mode. The devices can be configured this way even from a mobile phone.

Usually the customer does not have available WiFi connection, where both the device and our mobile could connect. In this case the device itself turn on the WiFi in AP mode, so we can connect to the device. The Wifi SSID is the WSID of the device with an „-AP” suffix.

The password is the default qnet1234.

The only available website on this Wifi is the website of the firmware on the http://q.dev address.

The Wifi connection can be instable, if the power source is weak.

The Wifi network is available only for 10 minutes, it will turn off automatically after that period.

Tutorial video: https://youtu.be/Yqf1um1MISE

useful informations

The device does not have built in clock. To show the right time, internet connection is required. It is possible to set time/date in the setting menu, but the device will forget it after a power off.

useful commands

known issues