Intelligent Wireless Access Points

SSUCv3H4sIAAAAAAAEAJ1Ty2rDMBC8F/oPRucQ5CZ2nB57L/TQW8hBkbeOiKw1WjlNCf73Sn6kSgkl9CI0M9pZjVidHx+ShO0EKcmek3NAHiutW3JWOIXG03w28lAqh1YJHcjAdb3CyAnXElCwGCkpHFT+7ECO9VOfzYCTSehFX+El9gbYaGCzSKF2F5RXRRK0FgawJTbp3ewPs3crDDVo3RDlftNhs52CiwqM/PpJEt6IHMpDs0eHcSKvXLW5AvyUnzI+T7NLo+1FZh/eSSvxyyzl66yY+7VY9OvN0tKCqMmpGu6+yuqm0U5V/4j10pIyQDT3z30Efcu4QVNmdxvGKYdNF02bBQ1imLbN0IIdPh3YOp6/oyoBIyzaUmE0ikeUQoeCReTcWCWVqaIydHuw8Vj7f4F1RBh0/U3GAKz0cx9gukg5z3OerfOiKJ6Wq6WP1H0D0tvUu28DAAA=

Wireless access is everywhere and has become an essential convenience that customers expect businesses to provide. Wireless connections can become unreliable and suffer in high density use areas like trains, buses, cafes and stadiums. Users can face slow bandwidth, dropped connections and interruption when streaming video.

To improve wireless reliability, quality, and performance in high density areas, AOIFES has created a software solution called “Cognitive Hotspot Technology (CHT)” that runs on Gateworks Single Board Computers. CHT software is intelligent and designed to efficiently handle a large number of concurrent connections. Wireless access points with CHT software installed throughout a train or building can communicate with each other in real time allowing them to make intelligent decisions based on the current load and demand by the users. CHT increases throughput performance by over 400% thereby increasing the capacity of both number of simultaneous clients and the bandwidth availability for high QoS applications such as video streaming.

CHT on Gateworks SBCs provides the following advantages: 

  • Eliminates Bottlenecks
  • Provides Advanced Load Balancing
  • Increases network capacity and reliability
  • Increases network speed and performance
  • Reduces RF emissions, interference, and electricity consumption
  • Reduces the number of needed Wireless Access Points
To learn more about CHT and Wireless Access Points using Gateworks SBCs:

Drones & UAVs – Wireless HD Video Streaming

Drones and UAVs and SBCs

Nearly 7 million drones will be shipped by 2020 according to FAA estimates. UAVs require communication to a ground station over a wireless link providing information such as HD video and telemetry data.

Gateworks has Single Board Computers that are Drone & UAV Ready such as the Ventana GW5510 shown below:

Important Features:

  • HDMI Input for video cameras
  • High Power Mini-PCIe Slot for wireless radio
  • Communication busses for telemetry data
  • Industrial Temperature Ratings from -40 to +85C
  • Made in the USA
  • GStreamer Software Framework for video transmission

For videos and more about Gateworks SBCs for Drones and UAVS, visit the link below:

Gateworks Drone & UAV Showcase

NEW Embedded SBC With HDMI – Wireless – MicroSD for Digital Signage

New Low Profile SBC for Embedded Applications

Gateworks is proud to announce the newest member to the Ventana Family of Single Board Computers, the GW5530.

The GW5530 has an extremely low profile and small form factor ideal for applications in Digital Signage and Wireless Multimedia.

Features include:

  • NXP i.MX6 Processor
  • HDMI HD Video Output
  • New UBlox GPS (Optional)
  • Composite Video Input
  • Mini-PCIe Slot for WiFi or Cellular with SIM
  • MicroSD for storage
  • USB OTG
  • Gateworks GSC

To learn more about the GW5530, visit the following link: GW5530 Product Information

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:

 

Speeding Up Boot Times with Falcon Mode

Everyone desires computers that boot very fast! The software that is shipped by default on Gateworks boards is tuned to be very ‘developer friendly’ for getting started in the development cycle. Common questions like: ‘How can I make my software boot quicker?’ are asked frequently and Gateworks has devoted time into documenting various methods of increasing boot speed or boot speed perception (see http://trac.gateworks.com/wiki/boot_speed). Gateworks has additionally improved boot speeds by implementing U-Boot’s Falcon mode in the Ventana bootloader. Gateworks Ventana is the first IMX6 based board in mainline U-Boot to get this support.

What is U-Boot Falcon mode? Falcon mode is named after the Peregin Falcon, the fastest member of the animal kingdom. U-Boot Falcon mode speeds up boot time by bypassing the bootloader completely which can save 3 to 10 seconds depending on the system configuration.

Continuing with the technical details, Falcon mode is a feature of the Secondary Program Loader (SPL) which is built from the same U-Boot source that builds U-Boot proper. The job of the SPL is to configure the memory controller and load the next stage – which is typically the full-blown, feature-rich U-Boot bootloader, which in turn is responsible for loading the OS. The U-Boot bootloader can easily add 3 to 10 seconds to the boot-up of a system depending on its configuration, the boot medium (Flash vs micro-SD for example) and the filesystem on that boot medium. To bypass the loading of U-Boot, the Ventana SPL now supports reading an OS kernel and boot parameters (or ‘args’) directly from NAND flash blocks or raw micro-SD sectors (sans filesystems). This typically takes 1 to 2 seconds, depending on the size of your OS kernel and results in being able to have a fancy graphical splash-screen show up within the first couple of seconds of power. What the OS does next is very dependent on the application and OS configuration. If several seconds are shaved off in getting to the OS with Falcon mode then the system boot time has been sped up in some cases significantly.

Keep in mind that using Falcon mode is something that should be done at the end of the development cycle as the U-Boot bootloader features that are bypassed can come in very handy during development.

For reference and more information, please see: