The Code For San Jose Login System prints out name tags which contain the guest's name and email address as a QR code, name in plain text, and the Code For San Jose Brigade logo. The guest information is recorded in a .csv
file and automatically uploaded to Google sheets when the Sheets API is turned on.
- Raspberry Pi 2 or 3 running Raspbian in desktop mode.
- DYMO LabelWriter 450 printer connected to the Raspberry Pi via USB.
- Internet access for the Raspberry Pi.
The Bill of Materials provides the complete list of equipments, pricing, and links to recommended products.
**Bill of Materials (click to open)**
Item No. | Description | Quantity | Price | Link |
---|---|---|---|---|
1 | Raspberry Pi 3 Model B | 1 | $38.31 | Amazon link |
2 | Raspberry Pi 7" Touchscreen Display | 1 | $66.99 | Amazon link |
3 | Power Adapter | 1 | $9.99 | Amazon link |
4 | Keyboard | 1 | $14.99 | Amazon link |
5 | Micro SD Card | 1 | $15.95 | Amazon link |
6 | DYMO LabelWriter 450 | 1 | $66.95 | Amazon link |
7 | DYMO 2-1/4" x 4" labels (30857) | 1 | $10.00 | Amazon link |
Total Cost: $223.18
Setting up your Raspberry Pi as a name tag kiosk involves two steps:
-
Open a terminal and create a new folder called "GitHub". Run:
mkdir ~/GitHub
NOTE: Ensure that the folder name is "GitHub" since the folder name is referenced in the install script.
-
Clone the git repository from GitHub. Run:
cd ~/GitHub git clone https://github.com/codeforsanjose/CFSJ-Login-System.git cd CFSJ-Login-System/
-
Run the install script:
./install/install.sh
The installation process may take several minutes to complete. The script installs all the dependencies required for the program including the driver for the DYMO LabelWriter 450 printer. The script also configures the Raspberry Pi to start Chromium automatically on startup.
- Open Chromium and browse to http://localhost:631/.
- Click the Administration tab at the top and click Add Printer under Printers.
- In the Authentication Required dialog box, enter
pi
as the user name andraspberry
as the password. - Click Log In.
- In the Add Printer page, select DYMO LabelWriter 450 (DYMO LabelWriter 450) and click Continue.
- Review the Name and Description and click Continue.
- Select DYMO LabelWriter 450 (en) from the Model list.
- Click Add Printer.
- In the Set Default Options for DYMO_LabelWriter_450 page, set the following:
- Media size: 30857 Badge Label
- Output Resolution: 300x600 DPI
- Halftoning: Error Diffusion
- Print Density: Normal
- Print Quality: Barcodes and Graphics
- Click Set Default Options. You will be redirected to the Printers tab.
- Click the Administration drop-down and select Set As Server Default.
- Finally, close the browser and reboot the device.
After rebooting, the Raspberry Pi will automatically start Chromium in kiosk mode and display the login system.
- Open Chromium and browse to https://developers.google.com/sheets/api/quickstart/python.
- Follow the instructions under "Step 1: Turn on the Google Sheets API" to create and download client_secret.json.
- Copy the file into the CFSJ-Login-System folder.
The uploder.py copies the user name and email address of the guest from the .csv
file into Google sheets. After a successful update, the .csv
file is deleted. If the update fails, the user information is retained in the .csv
file until a successful retry.