Skip to content

Code base for electronic conference badges for IC2S2.

Notifications You must be signed in to change notification settings

bainco/IC2S2_BadgeCode

Repository files navigation

Author

Most of the software and documentation is written by Connor Bain for the IC2S2 conference. Other code contributions are from Parralx (Badge Libraries). Some code was adapted from Corey Brady's previous work on the badges (see BoozeWizardSerialDump.py) and from gergelyorosz's export_as_csv for GAE.

To Setup a Registration Computer:

  1. Install FTDI Serial Drivers (MacOSX-v2.3)
  2. Install SimpleIDE
  3. Open SimpleIDE in order to create workspace (in ~/Documents)
  4. Install Dropbox (user: [email protected])
  5. Ensure libbadgetools, libdatetime, participant-code.c, participant-code.h, survey.h, eeprom.h, eeprom.c, ID_info.h, and badge-burn.command files are synced and intact.
  6. Create symlink to dropbox on the desktop using:ln -s ~/Dropbox/ ~/Desktop/badge-code
  7. Install folder action. You can do this by opening BadgeBurn-AppleScript in the Dropbox folder.
  8. Enable folder action via applescript
  9. Disable Safari Auto-fill
  10. Disable Screen Saver
  11. (Energy Saver) Make sure display is always on

To Register:

  1. MAKE SURE NAMES.CSV IS UPDATED
  2. Plug in badge
  3. Navigate to www.ic2s2-badgeregistration.appspot.com
  4. Fill out form; Click Submit
  5. Confirm info; Click CONFIRM AND BURN TO BADGE
  6. Wait for "Burn Successful" Notification
  7. Hit "DONE" button
  8. Unplug badge

To Harvest Data from App Engine

  1. In terminal run /usr/local/google_appengine/remote_api_shell.py -s ic2s2-badgeregistration.appspot.com (Note: this requries *.json credential from GAE (downloaded via the online admin interface) and the export GOOGLE_APPLICATION_CREDENTIALS="<path_to_*.json>" set in .bash_profile)
  2. From the remote shell, run import export_as_csv
  3. CSV file will be outputted with timestamped date. (NOTE: no idea how this deals with write ops, so be careful)

To Harvest Data from Server Badges

  1. Plug-in server badge via micro-USB to computer with FTDI drivers installed.
  2. Open up terminal and execute: screen -L /dev/cu.usbserial. 115200. (115200 is the default baud rate)
  3. Once connected, hit P25 on the badge. (We do this 3 times to have a backup)
  4. Disconnect from screen using ctrl-a then ctrl-\ and then 'y'.
  5. In whatever directory you were in, there will be a file called screenlog.0. That's your data file.

To Harvest Data from Part Badge

  1. Burn BoozeWizard.c to a new badge.
  2. Boot up the badge. It will say "ERASING CONTACTS" and then switch to "connecting...".
  3. Plug the badge into a computer via usb.
  4. Run either python BoozeWizardSerialDump-NL.py or python BoozeWizardSerialDump.py</code. The first will create a single file for all badges scanned, the latter will create a single file (labeled with BadgeID) for every badge scanned.
  5. Once connected, the badge will display "HOTSPOT!"
  6. Scan any and all badges by "Checking-in" to the new badge. Please hold it there until you see yellow flashing lights.
  7. Data will be printed to the appropriate csv file.

Registration Common Problems

  1. "RAM Verification Failed" - Solved by burning small sample program to badge and then reburning program.
  2. "RAM Verification\n Check-sum invalid" - This ocurred on the server badges and went away when I removed the sound.h header. I think it might have something to do with recompiling the files (it may be auto-recognizing changes and delta-compiling instead of full-compiling).
  3. Buttons don't work - We think the solution is to just scrub the buttons with a cloth. This might be due to film from the manufacturing process.
  4. "No Badge Connected" - The Mac FTDI driver doesn't cooperate sometimes. You can make the driver crash by opening a screen screen /dev/cu.usbserial. 115200 and then disconnecting violently (e.g. unplug or via ctrl-a,d). It seems like it can't reconcile the open port and doesn't recognize subsequent badges. I tried sudo kextunload /Library/Extension/FTDI.kext but it spits out an error that one instance is still running so you can't unload it. This is fixed by a simple restart. (Note: I've managed to make my personal laptop unable to recognize badges. I've tried unloading the kext, rebuilding the kernel cache, and reinstalling the FTDI drivers. Nothing).

About

Code base for electronic conference badges for IC2S2.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published