I’m not going to lie. This project went through many incarnations over the past week. A diorama that would act as a proposal for a QR code messaging idea for concerts and presentations. A QR code survey that would allow passersby to register that an elevator or escalator at an MTA station is out-of-order… and, finally, an assistant to help small- and medium-size businesses multitask more efficiently through the utilization of a check-in kiosk for both busier and slower times during the business day.
On the User’s End
For example, when the office is busy and many visitors are arriving and wanting to check in for their appointments, the kiosk will be there for them to scan a code and direct them to an HTML page where they can fill out their information (first name, last name, reason for visit, and optional time of appointment); the HTML page can also be used to provide visitors with any other information they may find useful about the company while they wait. Once they’ve submitted the information, they’ll be displayed a message in their smartphone’s browser thanking them and letting them know that the office will be using that information to, potentially, create their personalized visitor tag and make sure they’re seen promptly.
Below the QR code will be a message saying that if they do not have a mobile device capable of scanning QR codes, they can push the button on the console and someone will be notified of their presence. When visitors press the button, a green light will appear on top of the kiosk (next to a ‘HEY! LOOK AT ME!’ light.)
Additionally, the kiosk can serve as a way to let people know the office’s hours and, i.e., allow them to request an appointment, when the office is slow—which is when, often times, staff will be tasked with doing other things around the office, the kiosk will be there operating similarly; however, on the backend, there will be messages that will be updated and, because of their eye-catching appearance, help office workers take their focus away from the front desk, while still attending to visitors.
On the Back End
On the back end, because of the kiosk’s functionality, a number of things will be working to aid the office staff with the incoming visitors. First of all, there will be an indicator light (‘HEY! LOOK AT ME!’ light) that the staff can turn on pressing a button on the back of the kiosk. This button’s current setting status will appear (constantly updated) in a browser on a computer connected to the device (by way of running a cable through the wall) on the office staff’s side. This browser screen will serve as a control panel and the staff can also turn the indicator light off and on, as well as see the light’s current status. Similarly, there will be a place for the status of the button that visitors push when they do not have a device capable of reading QR codes; however, there will also be an associated section (HTML div) that will appear big and loudly colored on the screen of the office’s browser so that even if the employee is far away from the screen, they can see someone needs service (while the green light on the kiosk serves to let the visitor know someone will be there to help shortly.)
Also in the control panel will be options to set sliders to off and on to determine the ‘mode’—for example, after hours, the screen will change messages and the QR code will change to reflect the after-hours link.
Additionally, for the staff to be notified of a new arrival, there will be an email set up specifically for alerting staff of new arrivals, as well as to serve as a sort of visitors log, when the form on the registration page (from the QR code) has been submitted. This will come from a VIP address that will alert the staff of the information when it arrives. One thing that I’d really like to try (time-permitting) is to see about linking the registration form’s field to a Google Spreadsheet… I found a tutorial for my Raspberry Pi that would create a to-do list and display it on the e-Paper 4.2” screen I recently purchased, populating fields from the Google Spreadsheet. I’m envisioning a display (for whom the visitor is there to see) that would read something like: JOHN SMITH is here for their 1:30PM appoint. They are here to see you about: REASON THAT VISITOR PUT IN THE REGISTRATION FORM. That said, I have a big presentation assignment coming up on the 16th and have pivoted my approach to my Thesis project, so that part may be something I get around to after the midterm assignment.
The plan for this project is to use a 4.2” e-paper display mounted to a console with a button beneath the display (for people who do not have a smartphone), a button behind the display (to turn the ‘HEY! LOOK AT ME’ light), and two LEDs to go along with the two aforementioned buttons. If I can’t get the 4.2” e-paper display to work, then I’ll likely have a fixed message with a 1.54” display below with a changing QR code.
The console will have an Arduino attached in the back. The Arduino will be connected to a computer terminal with a display—in a working setup, the terminal and display could be allocated solely to the kiosk; however, it wouldn’t be necessary. The biggest reason for doing so would be to have the browser with the alert messages always displayed and on top… which might not always happen if the terminal is mixed use (and another window is covering the control panel.)
The control panel will be HTML based and connected to the Arduino using p5 Serial Control application. Because there would be written into the Arduino’s code to have different browser settings change the ‘mode’ of the kiosk (i.e. registration, after-hours), I would create two (or however many) QR codes as images linking to the corresponding pages (with the registration / after-hours info), rather than use the QR code library and the Serial Monitor (which could potentially introduce errors caused by typos), and have the staff update the HTML pages via a simpler interface (such as WordPress.)
Hardware-wise, I’ll need an Arduino/breadboard setup, a couple of LEDs, a couple of push buttons, and a cable connecting the Arduino to a computer terminal/display.