SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Creating a Connected Foosball Table with
Arduino, Raspberry Pi, & Salesforce!
Jeff Kimble Deloitte Digital Studio Salesforce Lead (Solution Architect)
Lonnie Lee Comer Deloitte Digital Studio Salesforce Senior (Technical Architect)
•
An Idea… and the people who brought it into reality
Jeff Kimble
Deloitte Digital Studio Salesforce Lead (Solution Architect)
Follow me on Twitter:
@Jenkatron
Jeff Kimble works with top talent and senior leadership in the Deloitte Salesforce Studio in Denver, CO to create cutting edge and innovative solutions in a best-in-
breed environment. He has helped build, design, architect, and lead projects across an array of verticals. Jeff’s work with the State of Colorado at the Dept. of
Transportation Division of Aeronautics won the state national acclaim. He has also worked on or architected myriad other systems for numerous other states
including other Colorado departments, the State of TX, and the State of MI.
Jeff has worked as a Salesforce consultant for the past four years and an architect for the previous two. Before working in the Deloitte Studio, he consulted for other
leading Salesforce-specific consultancies including Vertiba and NTT Centerstance. He holds many Salesforce certifications including Administrator, Advanced
Administrator, Developer, Sales Cloud Consultant, and Service Cloud Consultant and is a green belt in the Salesforce Wave Analytics Cloud.
Jeff grew up just outside Cleveland, OH before joining the Army and serving on the U.S. Army Honor Guard at Arlington National Cemetery. Following his service,
he attended Harvard University with a concentration in International Relations before finally landing in Denver.
Project Genesis
Approach
How We Chose Arduino and Raspberry Pi
System Architecture
Connecting it all to Salesforce
Translating Into Real-World Business Problems
Q&A
Welcome!
The Genesis of Project: Foozlander
Never a marketing scheme
Curious people being curious
• Didn’t know HOW, but knew we could
• Continued (and continues) to evolve
“Wouldn’t It Be Cool if…”
Managed like a “regular” project
• Developed user stories
• JIRA: “As a foosball player, I should see the score.”
• Broke them down into sprints, enhancements, and backlog
• Used stories to start giving us direction and researching
Break it Down!
Still a learning experience
• Burned out some devices
• Needed stronger documentation and wiring schematics
• Spare parts are good parts!
Other Major Lessons:
• Large “immaterial” cost to physical failure
• Not like coding where one can revert
• Many parts have weeks of lead time
But Still a Little “Wild West…”
Translating into Tech
From idea to inception
•
An Idea… and the people who brought it into reality
Lonnie Lee Comer
Deloitte Digital Studio Salesforce Senior (Technical Architect)
Follow me on Twitter:
@lonnieleecomer
Lonnie Lee Comer is a Sr. Technical Architect in the Deloitte Digital Denver Studio. Lonnie has been in the IT industry for 19 years as a
developer and architect. He has worked with the Salesforce.com platform for over 9 years and is dedicated to moving business into the
cloud and beyond. Lonnie is very passionate about connected devices and using them to empower businesses to automate and enhance
existing processes.
Lonnie enjoys spending time with his great dane Storm and his blue heeler Lu Bear. Rock climbing, playing music, and snowboarding are
other activities he enjoys when not wiring a foosball table to Salesforce.
Never Let Them See You Sweat!
Arduino
Single-task orientation
“Least capable”
Raspberry Pi
WiFi!
Linux!
Can handle many tasks
Still kinda slow…
Know your limits and play to your strengths
IR and RFID Sensors
Building the (Virtual) Bridge to Salesforce
C (Arduino)
• Detect IR sensor beam break via
voltage drop
• Publishes Sensor Data via General
Purpose Input Output (GPIO)
Know your limits and play to your strengths
Building the (Virtual) Bridge to Salesforce
Python (Raspberry Pi)
• Calls out via REST
• Simple Salesforce Library
• Consumes GPIO for Arduino
• NFC Library for RFID
Know your limits and play to your strengths
Boils Down to Three Lines of Code…
1: Import library
2: Create connection with SFDC
3: Call Web Service
Raspberry Pi Code Written in Python
1: Import library
## Import simple_salesforce library
from simple_salesforce import Salesforce
2: Create connection with SFDC
## Setup the SFDC Connection
sf = Salesforce(username=uname, password=pwd, security_token=tkn,Sandbox=True)
3: Call Web Service
##sf.Goal__c.create({'Name':'GoalTeam1','Foosball_Match__c':matchId,'Team__c':team1Id})
sf.Sensor_Data__c.create({'Table_Id__c':tableId,'Sensor_Id__c':’Black’,'Sensor_Value__c':'1'})
Strongest Skillset
• “We obviously got this.” – Victor “The Animal” Abraham
• Less obvious lesson: “an expert carpenter with a decent hammer can build a better boat than a rookie
carpenter with best hammer money can buy”
More computing power at scale
• Heavy lifting offloaded
• Adding sensors and more calls out has less impact on hardware setup
Turns out we know a few SFDC developers…
…So Make Salesforce Do It!
Streamline sensor data
• Sensor call is only two data points: Sensor Name, Sensor Value
• Example: Goal is Scored
Sensor Name: BlackGoal
SensorValue: 1
• Can be anything! (Name: DeliveryProdLineFault & Value: 1; Name: SpinDetector & Value: 1)
Weigh Function Against Complexity
• Streaming API = “realtime scoring”
• Single daily batch call simpler when applicable
Always “Think Big” when developing system architecture
Stay Three Steps Ahead of the Other Guy!
Next-Level Insanity
Sometimes it’s entirely appropriate to kill a fly with a sledge hammer
Novel Findings
Old table had statistically significant bias
Sun triggered false positives (environmental factors)
<<Insert graphs from Wave>>
Visualizing Player Data using Wave Analytics Cloud
Based on Glicko2
Uses levels of deviation
Scoring floor of 350
“Starting” score of 1500
Player Ranking
In Summary
Infrastructure
• Keep sensors and connected devices as simple as possible
• Account for growth, even if you don’t think it will happen
Play to Your Strengths
• Use your skills to break down new concepts into manageable pieces
• Offload heavy lifting to SFDC
Think Bigger
• Basic understanding opens understanding for a vast array of connected devices
• Never stop questioning, you’ll be surprised what you find!
In Summary…
Thank you

Mais conteúdo relacionado

Semelhante a Creating a Connected Foosball Table with Arduino, Raspberry Pi, and Salesforce

AI Technology Overview and Career Advice
AI Technology Overview and Career AdviceAI Technology Overview and Career Advice
AI Technology Overview and Career AdviceKunling Geng
 
The Final Frontier
The Final FrontierThe Final Frontier
The Final FrontierjClarity
 
Elements of Connected Products
Elements of Connected ProductsElements of Connected Products
Elements of Connected ProductsJordan Husney
 
Banking on Innovation and DevOps
Banking on Innovation and DevOpsBanking on Innovation and DevOps
Banking on Innovation and DevOpsTapabrata Pal
 
How to Train Your Developer - Phonedeck - Startup Safari Berlin 2014
How to Train Your Developer - Phonedeck - Startup Safari Berlin 2014How to Train Your Developer - Phonedeck - Startup Safari Berlin 2014
How to Train Your Developer - Phonedeck - Startup Safari Berlin 2014Gergő Ertli
 
Next-gen IDE v2 - OpenSlava 2013-10-11
Next-gen IDE v2 - OpenSlava 2013-10-11Next-gen IDE v2 - OpenSlava 2013-10-11
Next-gen IDE v2 - OpenSlava 2013-10-11Jorge Hidalgo
 
MLOps for living: Infrastructure-as-Code on AWS
MLOps for living: Infrastructure-as-Code on AWSMLOps for living: Infrastructure-as-Code on AWS
MLOps for living: Infrastructure-as-Code on AWSAntonChernov9
 
Large Scale Data Management
Large Scale Data ManagementLarge Scale Data Management
Large Scale Data ManagementThomas Miller
 
Continuum Analytics and Python
Continuum Analytics and PythonContinuum Analytics and Python
Continuum Analytics and PythonTravis Oliphant
 
Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael CollinsDevopsdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Atlogys Recruitment Presentation
Atlogys Recruitment PresentationAtlogys Recruitment Presentation
Atlogys Recruitment PresentationPooja Das
 
DevSecOps with Microsoft Tech
DevSecOps with Microsoft TechDevSecOps with Microsoft Tech
DevSecOps with Microsoft TechDarin Morris
 
The software evolution hasn't happened yet
The software evolution hasn't happened yetThe software evolution hasn't happened yet
The software evolution hasn't happened yetEmilien Pecoul
 
The iOS technical interview: get your dream job as an iOS developer
The iOS technical interview: get your dream job as an iOS developerThe iOS technical interview: get your dream job as an iOS developer
The iOS technical interview: get your dream job as an iOS developerJuan C Catalan
 
DevOps Columbus Meetup Kickoff - Infrastructure as Code
DevOps Columbus Meetup Kickoff - Infrastructure as CodeDevOps Columbus Meetup Kickoff - Infrastructure as Code
DevOps Columbus Meetup Kickoff - Infrastructure as CodeMichael Ducy
 
FreeBSD: The Next 10 Years (MeetBSD 2014)
FreeBSD: The Next 10 Years (MeetBSD 2014)FreeBSD: The Next 10 Years (MeetBSD 2014)
FreeBSD: The Next 10 Years (MeetBSD 2014)iXsystems
 
DevOps and the Future of InfoSec
DevOps and the Future of InfoSecDevOps and the Future of InfoSec
DevOps and the Future of InfoSecDarin Morris
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 KeynotePeter Wang
 
Hacking with the Raspberry Pi and Windows 10 IoT Core
Hacking with the Raspberry Pi and Windows 10 IoT CoreHacking with the Raspberry Pi and Windows 10 IoT Core
Hacking with the Raspberry Pi and Windows 10 IoT CoreNick Landry
 

Semelhante a Creating a Connected Foosball Table with Arduino, Raspberry Pi, and Salesforce (20)

AI Technology Overview and Career Advice
AI Technology Overview and Career AdviceAI Technology Overview and Career Advice
AI Technology Overview and Career Advice
 
The Final Frontier
The Final FrontierThe Final Frontier
The Final Frontier
 
Elements of Connected Products
Elements of Connected ProductsElements of Connected Products
Elements of Connected Products
 
Banking on Innovation and DevOps
Banking on Innovation and DevOpsBanking on Innovation and DevOps
Banking on Innovation and DevOps
 
How to Train Your Developer - Phonedeck - Startup Safari Berlin 2014
How to Train Your Developer - Phonedeck - Startup Safari Berlin 2014How to Train Your Developer - Phonedeck - Startup Safari Berlin 2014
How to Train Your Developer - Phonedeck - Startup Safari Berlin 2014
 
Next-gen IDE v2 - OpenSlava 2013-10-11
Next-gen IDE v2 - OpenSlava 2013-10-11Next-gen IDE v2 - OpenSlava 2013-10-11
Next-gen IDE v2 - OpenSlava 2013-10-11
 
MLOps for living: Infrastructure-as-Code on AWS
MLOps for living: Infrastructure-as-Code on AWSMLOps for living: Infrastructure-as-Code on AWS
MLOps for living: Infrastructure-as-Code on AWS
 
Large Scale Data Management
Large Scale Data ManagementLarge Scale Data Management
Large Scale Data Management
 
Continuum Analytics and Python
Continuum Analytics and PythonContinuum Analytics and Python
Continuum Analytics and Python
 
Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael Collins
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Atlogys Recruitment Presentation
Atlogys Recruitment PresentationAtlogys Recruitment Presentation
Atlogys Recruitment Presentation
 
DevSecOps with Microsoft Tech
DevSecOps with Microsoft TechDevSecOps with Microsoft Tech
DevSecOps with Microsoft Tech
 
The software evolution hasn't happened yet
The software evolution hasn't happened yetThe software evolution hasn't happened yet
The software evolution hasn't happened yet
 
The iOS technical interview: get your dream job as an iOS developer
The iOS technical interview: get your dream job as an iOS developerThe iOS technical interview: get your dream job as an iOS developer
The iOS technical interview: get your dream job as an iOS developer
 
DevOps Columbus Meetup Kickoff - Infrastructure as Code
DevOps Columbus Meetup Kickoff - Infrastructure as CodeDevOps Columbus Meetup Kickoff - Infrastructure as Code
DevOps Columbus Meetup Kickoff - Infrastructure as Code
 
FreeBSD: The Next 10 Years (MeetBSD 2014)
FreeBSD: The Next 10 Years (MeetBSD 2014)FreeBSD: The Next 10 Years (MeetBSD 2014)
FreeBSD: The Next 10 Years (MeetBSD 2014)
 
DevOps and the Future of InfoSec
DevOps and the Future of InfoSecDevOps and the Future of InfoSec
DevOps and the Future of InfoSec
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 Keynote
 
Hacking with the Raspberry Pi and Windows 10 IoT Core
Hacking with the Raspberry Pi and Windows 10 IoT CoreHacking with the Raspberry Pi and Windows 10 IoT Core
Hacking with the Raspberry Pi and Windows 10 IoT Core
 

Mais de Salesforce Developers

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSalesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceSalesforce Developers
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base ComponentsSalesforce Developers
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsSalesforce Developers
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaSalesforce Developers
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentSalesforce Developers
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsSalesforce Developers
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsSalesforce Developers
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsSalesforce Developers
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and TestingSalesforce Developers
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilitySalesforce Developers
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce dataSalesforce Developers
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionSalesforce Developers
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPSalesforce Developers
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceSalesforce Developers
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureSalesforce Developers
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DXSalesforce Developers
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectSalesforce Developers
 

Mais de Salesforce Developers (20)

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 

Último (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

Creating a Connected Foosball Table with Arduino, Raspberry Pi, and Salesforce

  • 1. Creating a Connected Foosball Table with Arduino, Raspberry Pi, & Salesforce! Jeff Kimble Deloitte Digital Studio Salesforce Lead (Solution Architect) Lonnie Lee Comer Deloitte Digital Studio Salesforce Senior (Technical Architect)
  • 2. • An Idea… and the people who brought it into reality Jeff Kimble Deloitte Digital Studio Salesforce Lead (Solution Architect) Follow me on Twitter: @Jenkatron Jeff Kimble works with top talent and senior leadership in the Deloitte Salesforce Studio in Denver, CO to create cutting edge and innovative solutions in a best-in- breed environment. He has helped build, design, architect, and lead projects across an array of verticals. Jeff’s work with the State of Colorado at the Dept. of Transportation Division of Aeronautics won the state national acclaim. He has also worked on or architected myriad other systems for numerous other states including other Colorado departments, the State of TX, and the State of MI. Jeff has worked as a Salesforce consultant for the past four years and an architect for the previous two. Before working in the Deloitte Studio, he consulted for other leading Salesforce-specific consultancies including Vertiba and NTT Centerstance. He holds many Salesforce certifications including Administrator, Advanced Administrator, Developer, Sales Cloud Consultant, and Service Cloud Consultant and is a green belt in the Salesforce Wave Analytics Cloud. Jeff grew up just outside Cleveland, OH before joining the Army and serving on the U.S. Army Honor Guard at Arlington National Cemetery. Following his service, he attended Harvard University with a concentration in International Relations before finally landing in Denver.
  • 3. Project Genesis Approach How We Chose Arduino and Raspberry Pi System Architecture Connecting it all to Salesforce Translating Into Real-World Business Problems Q&A Welcome!
  • 4. The Genesis of Project: Foozlander
  • 5. Never a marketing scheme Curious people being curious • Didn’t know HOW, but knew we could • Continued (and continues) to evolve “Wouldn’t It Be Cool if…”
  • 6. Managed like a “regular” project • Developed user stories • JIRA: “As a foosball player, I should see the score.” • Broke them down into sprints, enhancements, and backlog • Used stories to start giving us direction and researching Break it Down!
  • 7. Still a learning experience • Burned out some devices • Needed stronger documentation and wiring schematics • Spare parts are good parts! Other Major Lessons: • Large “immaterial” cost to physical failure • Not like coding where one can revert • Many parts have weeks of lead time But Still a Little “Wild West…”
  • 8. Translating into Tech From idea to inception
  • 9. • An Idea… and the people who brought it into reality Lonnie Lee Comer Deloitte Digital Studio Salesforce Senior (Technical Architect) Follow me on Twitter: @lonnieleecomer Lonnie Lee Comer is a Sr. Technical Architect in the Deloitte Digital Denver Studio. Lonnie has been in the IT industry for 19 years as a developer and architect. He has worked with the Salesforce.com platform for over 9 years and is dedicated to moving business into the cloud and beyond. Lonnie is very passionate about connected devices and using them to empower businesses to automate and enhance existing processes. Lonnie enjoys spending time with his great dane Storm and his blue heeler Lu Bear. Rock climbing, playing music, and snowboarding are other activities he enjoys when not wiring a foosball table to Salesforce.
  • 10. Never Let Them See You Sweat! Arduino Single-task orientation “Least capable” Raspberry Pi WiFi! Linux! Can handle many tasks Still kinda slow… Know your limits and play to your strengths IR and RFID Sensors
  • 11. Building the (Virtual) Bridge to Salesforce C (Arduino) • Detect IR sensor beam break via voltage drop • Publishes Sensor Data via General Purpose Input Output (GPIO) Know your limits and play to your strengths
  • 12. Building the (Virtual) Bridge to Salesforce Python (Raspberry Pi) • Calls out via REST • Simple Salesforce Library • Consumes GPIO for Arduino • NFC Library for RFID Know your limits and play to your strengths
  • 13. Boils Down to Three Lines of Code… 1: Import library 2: Create connection with SFDC 3: Call Web Service Raspberry Pi Code Written in Python 1: Import library ## Import simple_salesforce library from simple_salesforce import Salesforce 2: Create connection with SFDC ## Setup the SFDC Connection sf = Salesforce(username=uname, password=pwd, security_token=tkn,Sandbox=True) 3: Call Web Service ##sf.Goal__c.create({'Name':'GoalTeam1','Foosball_Match__c':matchId,'Team__c':team1Id}) sf.Sensor_Data__c.create({'Table_Id__c':tableId,'Sensor_Id__c':’Black’,'Sensor_Value__c':'1'})
  • 14. Strongest Skillset • “We obviously got this.” – Victor “The Animal” Abraham • Less obvious lesson: “an expert carpenter with a decent hammer can build a better boat than a rookie carpenter with best hammer money can buy” More computing power at scale • Heavy lifting offloaded • Adding sensors and more calls out has less impact on hardware setup Turns out we know a few SFDC developers… …So Make Salesforce Do It!
  • 15. Streamline sensor data • Sensor call is only two data points: Sensor Name, Sensor Value • Example: Goal is Scored Sensor Name: BlackGoal SensorValue: 1 • Can be anything! (Name: DeliveryProdLineFault & Value: 1; Name: SpinDetector & Value: 1) Weigh Function Against Complexity • Streaming API = “realtime scoring” • Single daily batch call simpler when applicable Always “Think Big” when developing system architecture Stay Three Steps Ahead of the Other Guy!
  • 16. Next-Level Insanity Sometimes it’s entirely appropriate to kill a fly with a sledge hammer
  • 17. Novel Findings Old table had statistically significant bias Sun triggered false positives (environmental factors) <<Insert graphs from Wave>> Visualizing Player Data using Wave Analytics Cloud
  • 18. Based on Glicko2 Uses levels of deviation Scoring floor of 350 “Starting” score of 1500 Player Ranking
  • 20. Infrastructure • Keep sensors and connected devices as simple as possible • Account for growth, even if you don’t think it will happen Play to Your Strengths • Use your skills to break down new concepts into manageable pieces • Offload heavy lifting to SFDC Think Bigger • Basic understanding opens understanding for a vast array of connected devices • Never stop questioning, you’ll be surprised what you find! In Summary…