Saturday, January 30, 2016

An Inexpensive Marketing Kiosk.

This page is under construction.  This is my disorganized mind just trying to throw all my ideas at the wall and see which ones stick.  Right now I am just figuring it out myself, so any suggestions would be awesome.  

The problem I am trying to solve is that my company has several former desktop computers each playing a fixed playlist of marketing videos around the store.  It is tough to manage these computers and most weeks the store staff just forgets to even turn them on.  Plus they are power hogs.  So, what I want is something that can be programmed by just plugging in a USB key and that is low cost,  both to make and to operate.  

This would be useful for just about any organization that needs to answer frequently asked questions  about their organization and what it does and how to do common tasks. It could be used at a job fair to tell about a company, in a store to give product information, in the lobby of a bank or company to give an overview about the company. 

In this post I am going to describe how to make a display that sits on a table and allows someone interested in your product or organization to play videos, audio content, or slide shows of their choosing from a list.

Steps of setup

  1. Put box on table.
  2. Plug in box.
  3. Box boots and looks for usb drive with files on it.  
  4. If USB thumb drive not found, then show how to setup video.
  5. If found, then begin operation mode as follows.
Programming the device should be as easy as plugging in a USB key with audio, video, or slide shows in Microsoft powerpoint or Libre Office format. The title of the content is what is presented on the screen to select it.

Steps of operation

  1. Person walks up to kiosk.
  2. Motion sensor detects person.
  3. Monitor is taken out of standby.
  4. A Short "Please touch one of the buttons to select a presentation, or press the up and down to navigate to other selects" plays.
  5. Menu Screen: Present titles on monitor next to each of the 8 buttons, 4 on each side of the monitor.
  6. Person pushes a button and presentation plays, then returns back to the menu screen.
  7. If any button is pressed while the presentation is playing, the presentation stops and returns to the menu screen.  
  8. After a few minutes of not sensing any motion, after the video is done playing, put monitor back to sleep and wait.

What we need:

8 joystick buttons with micro-switches. 
1 hdmi monitor.
1 $5 Raspberry PI Zero, or any of the other low cost systems running Linux.
1 USB hub.  
1 extension cord with at least 2 outputs.
a lot of Foam board
1 wireless keyboard and mouse, to manage the device, can be reused on other kiosks.
1 motion detector.

So, what we need to do is make a box out of foam board that is strong enough to support the monitor and switches and heavy enough to not get bumped off the table.  This could be made free standing if need be, but I would build a wooden frame inside the foam board if it has to be freestanding and put a couple of concrete blocks in the bottom. 

Make sure when you are planning to make the foam core or cardboard box that you ensure that everything will fit inside the box.  Make sure that where you are placing the  

Once the box is made, carefully mark where the monitor and push buttons will go, making sure that there is free space for everything and that  nothing is  too close to anything else.  Then cut them out a little tight and dry fit everything. 

The raspi will mount to the back of the monitor using the VESA mounts. The monitor will be fitted into the opening about halfway and taped in place all around with clear packing tape.  Be sure not to block any vent holes. The top of the box and a space in back should be left open to allow air to circulate.  The extension cord will be zip tied along the back of the box with the cord extending out of the box. 

Once the kiosk box has all the hardware securely fitted inside, then you plug a 5v power supply up for the raspi and plug the monitor in. If needed add a 120mm fan and a power supply to blow hot air up out of the box. 

Work that is left to do:

Connecting a push button to a Raspberry PI.  We will need to do this for all 8 arcade style push buttons.

Connecting the PIR motion sensor to a Raspberry PI.

Programming the code on the machine to work the magic. 

A python program should be able to check things out for us and use a state machine to figure out what to do and when following the two checklists above on setup and operation. 

We basically also just want to run X and then take over the screen and manage it all ourselves. An auto login to an account that runs our custom code would be awesome, as well as being able to log out and go into a separate admin account to program the kiosk.