Android Digital Signage – Simple & Low Cost

kioskblast

Digital Signage has exploded over the last few years and is now utilized in businesses ranging from fast food restaurants for menu boards to factories for showing real time productivity analytics. The uses for digital signage is unlimited and the cost has come down to a price point that even small businesses can afford.

Gateworks has created a simple software signage solution for use on the Ventana Family of Single Board Computers. Connect the SBC to an HDMI or LCD display and point to the desired URL.

Gateworks Digital Signage Features:

  • Based on Android Lollipop, Optimized for 256MB Flash
  • Displays any local or remote URL in a full screen browser (Kiosk Mode)
  • Supports Hardware Acceleration for smooth playback of web content
  • Supports a failover URL
  • Supports automatic refresh

For more information, visit the Digital Signage Wiki Page.

Android Lollipop Embedded Software Release

lollipop

Gateworks has just released Android Lollipop support for the Ventana family of Single Board Computers!

Notable updates include:

  • Update to the Android Open Source Project’s 5.1.1 code base
  • Freescale i.MX6 performance and stability improvements
  • New 3.14 based Linux kernel with many improvements
  • Vivante graphics libraries v5.0.11 p7
Gateworks recommends Lollipop for all future Android support.

To get started with Android Lollipop, Click the Link Below:

 

Customizing Android & Yocto Splash Screens

lcd_gateworks_logo

Customizing Android & Yocto Splash Screens

Have you ever wanted to replace that ugly default logo or animation that is shown when your system boots up? Now you can with custom splash screens!

What is a Splash Screen?

  • The logo or image displayed on screen during the boot process of an embedded system

3 Splash Screens can be Customized:

  • Bootloader
  • Linux Kernel
  • Operating System

Why are Splash Screens Important?

  • Splash screen are displayed immediately conveying proper operation and responsiveness to the user
  • Replacing the splash screen logo with a company logo will effectively brand a product for customer deployment

Read more on the Gateworks Software Wiki:
Customizing the Splash Screen

Embedded Android App & OS Development

Android is growing fast in embedded applications. The Gateworks Android Development kit is a great starting point for customers that need to get going quickly with both the hardware and software.

To aid in Android software development, Gateworks has developed an example Android application showcasing the interaction of the software with the Gateworks Android hardware. The application features support for the user GPIO, LEDs and more. An easy to use Android library is also provided which can be utilized for any custom application development.

Gateworks has documented Android Software on the following wiki pages:

  • OS Development – This wiki page covers items dealing with the lower level operating system. This includes items on the serial console command line such as init scripts, ADB, partitions, command line networking, LED control, GPIO control and other hardware integration.
  • App Development – This wiki page details the building of an Android App (APK file) independent of building the entire Android OS. Topics covered include setting up the Android Studio IDE, writing sample code for a Hello World App, as well as using an external Gateworks code library for accessing low level items through the app such as GPIOs, LEDs and more.
    • Gateworks Android Library – This is a library that allows easy integration to low level system items such as LEDs, GPIO, PWM and voltage and temperature.

Gateworks Android Demo App

Gateworks has used the information above to create a Gateworks Demo App that is publicly available on GitHub here. The app features a user friendly front end for controlling some hardware features on the board utilizing the GateworksUtil library. Screenshots of the app can be seen below:

gateworks-demo

Figure 1. (Above) LED control of the trigger and the on / off state. GPIO as input or output and state.

gateworks-demo_hwmon

Figure 2. (Above) Hardware system statistics

gateworks-demo_pwm

Figure 3. (Above) PWM enable, period and duty cycle.

References:

GStreamer Compositing for Streaming H.264 Video

Gateworks recently featured a blog in which 8 video cameras were connected to a Gateworks Ventana SBC and then displayed on a HDMI monitor. This is useful for localized applications. For remote applications there is another solution.

Remote applications require streaming the multiple video streams over the network (Ethernet or WiFi). For bandwidth efficiency, all camera inputs can be joined together into a single frame and then transmitted across the network.

streamingdiagram3

To join all the streams into a single frame, a software element of GStreamer called a compositor is used. Older versions of the compositor relied on the CPU and caused choppy video. Gateworks recently started using gstreamer-imx which contains a hardware accelerated compositor which is far superior. With this compositor, each stream can be positioned on the frame and then linked to a RTSP stream in the H.264 format.

An example is shown with two Gateworks Ventana SBCs that are on the same network.

Start the following pipeline on the SBC with the cameras connected:

gst-variable-rtsp-server -u \
 "imxv4l2videosrc device=/dev/video2 queue-size=55 ! queue2 ! c.sink_0 \
 imxv4l2videosrc device=/dev/video3 queue-size=55 ! queue2 ! c.sink_1 \
 imxv4l2videosrc device=/dev/video4 queue-size=55 ! queue2 ! c.sink_2 \
 imxv4l2videosrc device=/dev/video5 queue-size=55 ! queue2 ! c.sink_3 \
 imxv4l2videosrc device=/dev/video6 queue-size=55 ! queue2 ! c.sink_4 \
 imxv4l2videosrc device=/dev/video7 queue-size=55 ! queue2 ! c.sink_5 \
 imxv4l2videosrc device=/dev/video8 queue-size=55 ! queue2 ! c.sink_6 \
 imxv4l2videosrc device=/dev/video9 queue-size=55 ! queue2 ! c.sink_7 \
 imxg2dcompositor name=c background-color=0xffffff \
 sink_0::xpos=0 sink_0::ypos=0 sink_0::width=320 sink_0::height=360 sink_0::fill_color=0x00000000 \
 sink_1::xpos=320 sink_1::ypos=0 sink_1::width=320 sink_1::height=360 sink_1::fill_color=0x00000000 \
 sink_2::xpos=640 sink_2::ypos=0 sink_2::width=320 sink_2::height=360 sink_2::fill_color=0x00000000 \
 sink_3::xpos=960 sink_3::ypos=0 sink_3::width=320 sink_3::height=360 sink_3::fill_color=0x00000000 \
 sink_4::xpos=0 sink_4::ypos=360 sink_4::width=320 sink_4::height=360 sink_4::fill_color=0x00000000 \
 sink_5::xpos=320 sink_5::ypos=360 sink_5::width=320 sink_5::height=360 sink_5::fill_color=0x00000000 \
 sink_6::xpos=640 sink_6::ypos=360 sink_6::width=320 sink_6::height=360 sink_6::fill_color=0x00000000 \
 sink_7::xpos=960 sink_7::ypos=360 sink_7::width=320 sink_7::height=360 sink_7::fill_color=0x00000000 \
 ! queue2 ! video/x-raw, width=1280, height=720 ! imxipuvideotransform \
 ! imxvpuenc_h264 bitrate=20000 ! rtph264pay name=pay0 pt=96"

Then, on the receiving board that is connected to an HDMI display, start the following pipeline with the actual IP address (example IP below) of the board with the cameras:

gst-launch-1.0 rtspsrc location=rtsp://172.24.10.210:9099/stream latency=100 ! \
queue2 ! decodebin ! autovideosink

For more information and code examples, please visit the related Gateworks Software Wiki links below:

 

Android Touchscreen Development Kit

androidbezelAndroid is becoming a very useful platform for demanding embedded systems. When coupled with a LCD touchscreen, Android loaded on a rugged industrial single board computer can become the interface everyone desires. Gateworks has created a turn-key Android development system to bring a product to market quickly!

The system includes the following:

  • GW5224 Single Board Computer
    • Freescale i.MX6 Quad Core Processor
    • 1GB DRAM
    • 2GB NAND Flash
    • GPS
  • WiFi and Bluetooth Radio
  • 7″ LCD PCAP Touchscreen Display with black anodized bezel
  • 8GB MicroSD Pre-Loaded with Android OS
  • Power Supply
  • Serial Console Adapter & more!

For more information, please visit: Android Development Kit