|Design the circuitry and software to automatically trigger an oscillating Nerf gun through a Mailgun Route POST to a URL.
March 1, 2013
Mailgun desires a game at their PyCon 2013 booth that involves triggering an oscillating Nerf N-Strike Vulcan EBF-25 Blaster to hit a target. The trigger mechanism is when a contestent sends an email to a certain email address.
Mailgun Routes can be configured so that when an email address receives an email, Mailgun POSTs data from that email to a URL (see: http://documentation.mailgun.net/user_manual.html#routes).
When the data hits the URL, a web service application should accept the POST to trigger the gun.
Sample Flow Diagram
|Game contestant sends email
||Mailgun Route receives email
||Mailgun Route POSTs data to URL
||Webservice recieves POST
||Software issues command to trigger
- Submissions must consist of a full, working Upverter project (schematic and PCB layout) with a GitHub repository attached.
The design must be a fork of the Mailgun Automated Sentry Gun Challenge Template. The following technical specifications must be met:
- Trigger output should be capable of driving a relay. It must provide at least 250 mA at 5 V. It must also have fly back protection.
- Servo outputs must use a standard servo PWM signal to actuate a speed controlled servo. The servo must also be provided with 5 V power at up to 500 mA.
- The gun must be triggered through a Mailgun Route POST to a URL.
- The gun must oscillate horizontally back and forth, preferably at a speed similar to an oscillating fan. This must be a tunable parameter defined at the top of the program.
- The trigger should be held for 0.3 second for a single shot. This must be a tunable parameter defined at the top of the program.
- All libraries / dependencies must be open source.
- Software application logic is written in Python.
- Trigger logic can be modified based on the posted data (eg. if from address = firstname.lastname@example.org).
- Oscillation speed and/or degree of oscillation can be modified based on the posted data.
- Gun tilt is adjusted with an additional servomechanism that takes commands from input such as push buttons or posted data (eg. if from address = email@example.com).
Note: this example has more functionality than is required in this challenge.
Winner will be based on (i) the compliance with the requirements above, (ii) quality of the components and build and (iii) quality of the code and logic that triggers the gun.
- The MAILGUN AUTOMATED SENTRY GUN CHALLENGE is open to all applicants age 13 or older at the time of entry. This challenge is void where prohibited by law.
- Submissions must be made through the Upverter platform.
- All submissions must be received no later than March 1, 2013. Submissions after the deadline will not be accepted.
- By entering a submission to the MAILGUN AUTOMATED SENTRY GUN CHALLENGE, the entrants are in agreement with Challenge Rules. It is presumed all entrants have read and fully understood all challenge details and rules.
- By entering the MAILGUN AUTOMATED SENTRY GUN CHALLENGE, participants agree to release, discharge and hold harmless Mailgun, their legal representatives, their affiliates, subsidiaries, partners, agencies and their respective officers, directors, employees and agents, from any damages which may arise out of participation to the MAILGUN AUTOMATED SENTRY GUN CHALLENGE, or out of the acceptance, use, misuse or possession of the prize. By participating, you agree to these Official Challenge Rules and to the decisions of the panel, which are final and binding in all respects. Failure to comply with these regulations may result in disqualification.
- The contest winner will be required to work in collaboration with Upverter and Mailgun to facilitate the appropriate service so that the project can be completed and delivered between March 1, 2013 and March 13, 2013. Failure to do so will void the prize.
- No substitution or transfer of the prize will be permitted.
- Acceptance of any prize or support thereof constitutes permission for Mailgun, its affiliates, sponsors, subsidiaries, advertising and promotional agencies, to use the winner’s name and company profile, project description as well as details attached to the submission, for advertising and promotional purposes without additional compensation. The winner further grants to Mailgun the right to use and publish their identity online, in print or any other media.
- By entering the MAILGUN AUTOMATED SENTRY GUN CHALLENGE each participant agrees to release and hold harmless Mailgun, their legal representatives, any prize providers, partners/community partners and all sponsors and each of their respective parents, subsidiaries, affiliates, directors, officers, employees and agents from any and all liability for any injuries, loss or damage of any kind arising from or in connection with the MAILGUN AUTOMATED SENTRY GUN CHALLENGE, or services provided, including, but not limited to, advice given, studies authored or provided, inspection reports, referrals, products and/or services developed and all other related materials. Restrictions, conditions and limitations apply. By entering, each participant further agrees that, in the event there is any conflict or other inconsistency between the Official Challenge Rules and any advertisements, promotional or marketing materials, emails or announcements relevant to the MAILGUN AUTOMATED SENTRY GUN CHALLENGE, the Official Challenge Rules will govern.
Mailgun focuses on providing a developer-centered web service for integrating email functionality into applications. Their powerful APIs allow complete control over sending, receiving, tracking and storing emails.