Monday, June 29, 2015

GTViewer Server Box - Part 1


GTViewer for iOS, GTViewer for Android, and GTViewer (for Windows), are all designed to take your GIS Data to the field.   They do not rely on a connection to a server for normal operation making them ideal for storm/disaster situations where network access is not available, unreliable, or inaccessible.  

With GTViewer for Windows, there are many ways to load and update your GIS Data on a laptop (using SD cards, thumb drives, DVDs, etc.).   With the device versions of GTViewer, their sandboxed environments complicate this process.  The GTViewer Data Server was developed as Web App running under IIS to host your GIS Data so the devices can easily download or update their local copies of the GIS Data.   GTViewer for Windows can also use the GTViewer Data Sever to download and update it GIS Data via the GTViewer Data Client app.   This workflow operates very well except when you need to load or update the GIS Data your devices at critical times (storms, disasters, etc.) and no internet or intranet connectivity is available.  Consequently, these critical time are when GTViewer is most valuable.

Our solution to this problem of updating or loading your GIS Data when no network connectivity is available is GTI’s first venture into the Hardware world.  The GTViewer Server Box is a small, portable, self-contained server running the GTViewer Data Server and GTShare.  GTViewer for iOS, GTViewer for Android, and the GTViewer Data Client on Windows can all connect to the GTViewer Server Box via WiFi and download or update their local GIS data.

The GTViewer Server Box is based on a Raspberry Pi which is a small computer on a single credit card sized board running a flavor of Linux (Raspbian) and a full Apache web server.  The GTViewer Server Box acts as a Wireless Access Point and DHCP server allowing multiple clients to simultaneously connect and interact with a Linux version of the GTViewer Data Server.
 
The GTViewer Server Box had to meet the following criteria:
  •          Support GTViewer Data Server and GTShare.
  •      Require no Internet connection or network connection of any kind.
  •          Support a variety of Power sources: AC Outlet, Car Adapter, Battery, USB.
  •          Appear just like the standard GTViewer Data Sever and GTShare to the clients.
  •          Support iOS, Android, and Windows clients.
  •          Provide enough storage to support a number of GTViewer datasets.
  •          Provide an easy way to update the GIS Data it serves out.
  •          Provide security for the GIS Data.
  •          Require no display, keyboard, or mouse.
  •          Be extremely easy to use, portable, and reliable.

If you have the right WiFi component, a Raspberry Pi can act as a WiFi access point.  With some creative configuration, it can function as a DHCP server and Domain Name server without the need for internet access or any connection to other servers.

The Raspberry Pi is powered by a Micro USB connector opening up a wide variety of cheap and plentiful methods for powering the server.   External Batteries used to charge cells phone are an excellent method for making the Server Box ultra-portable while still allowing power to come from AC Plugs, Car chargers, or even laptops via their USB ports.

A slimmed down version of the GTViewer Data Sever and GTShare were ported to Linux/Apache.   They do not offer all of the features of the regular GTViewer Data Server and GTShare for Windows/IIS, but they provide everything needed to accomplish its task of getting the GIS Data to the clients and sharing redline and collected data.

An iPhone, iPad, Android Phone, Android Table, and Laptop with WiFi all see the GTViewer Server Box as another WiFi Network you can connect to.  When you want to download data, just connect your device or laptop the GTViewer Server Box’s SSID, enter the WiFi password, then interact with the GTViewer Data Server and GTShare like you normal do.

GTViewer datasets are managed on GTViewer Server Box by using a USB Thumb Drive.   Prepare the USB Drive on your PC or Laptop and plug the thumb drive into the Server Box when you are ready to use it.   As these are regular thumb drives, have one plugged into your normal system and copy any updated GTViewer Data Sets to the thumb drive when you update your regular GTViewer Data Server.  This way you will always have an up-to-date set of data ready to go.   Thumb drives are very inexpensive and can hold a large amount of data.

Security on the GTViewer Server Box is primarily based on the WiFi password.  If you do not know it, you will not have access to the data.  User management like that found on the IIS version of the software can also be used, but the WiFi password can be used on its own.    All of the actual data files on the Server Box can be fully encrypted, so losing a GTViewer Server Box would not put the data at risk.

The GTViewer Server Box was designed to be extremely easy to use.  You basically need to plug in the thumb drive containing the GTViewer datasets, plug in the power, and press the On button.   There is no need for a display, keyboard, or mouse for general operation or updating of the GIS Data.  You may want to connect the server to a display, keyboard, and mouse if you want to customize the WiFi SSID, WiFi Password, or Server Domain name.


The photo above shows the prototype GTViewer Server Box plugged into an external battery used to charge cell phones.  This battery is a large one (16800 mAh), but it ran the GTViewer Server Box for over 30 hours (minimal use, but available).   The production version is very similar to the prototype only with a slightly different case sporting an On/Off button.  Range is limited by the WiFi component, but general you need to be in the same room or near the Server Box for high performance downloads.

**** To see the final design, go to this post.


No comments: