Automating the IoT with BPMN Why would you do that?
David G. Simmons • April 27, 2022 @davidgsIoT
Slide 2
Why would anyone want to? • IoT is ripe for automation • Wait, you mean automating automation? • That’s so meta • Business automation, rather than engineering automation • What does that even mean?
@davidgsIoT
Slide 3
How it started • 15+ years in IoT • Job negotiations involved “this is not an IoT position” • Also: “not an IoT company” • Executives kept mentioning IoT • I told them not to encourage me! • They didn’t listen
@davidgsIoT
Slide 4
Very first assignment • Do something ‘fun’ to show off Camunda BPM • I’ve only been here a week! • “Write about what you know” • Hammer, meet nail
@davidgsIoT
Slide 5
The Halloween Project! • Deep in the Covid times • No one wants to talk to people face to face • It’s Halloween FFS! • Hammer, meet nail
@davidgsIoT
Slide 6
I KNOW NOTHING! • Have to pull off a project • Do it quick! • Keep it simple • Write it in Go • Write what you know • Hammer, meet nail
@davidgsIoT
Slide 7
Basic Idea • Kid rings doorbell • Take a picture of the kid • Evaluate the picture • Award candy • Dispense candy without opening the door
💡I could do this without even being home! @davidgsIoT
Slide 8
If you build it, they will come • Build a doorbell that will take a picture
e r B
• Built a candy dispenser • Automate it all • mumble mumble mumble • VC Funding bonanza! Revenue!! Riches!! 🤑💰💰💰 This is going to be super simple. 🙄
@davidgsIoT
! g n i ak
Slide 9
Hardware list
I just happen to have all this lying around • Doorbell: • ESP32-Cam ($5.00) • Push-button ($0.50) • 2 LEDs ($0.25) • Candy Dispenser: • ESP8266 ($2.00) • Stepper Motor ($8.00) • Stepper driver ($6.00) @davidgsIoT
This should surprise no one
Slide 10
Start with Hardware
Note: Never start with hardware • First the schematic:
• Then build it (spot on!):
@davidgsIoT
Slide 11
Candy Dispenser Hardware • First comes the Schematic:
@davidgsIoT
Slide 12
Candy Dispenser Hardware • Then the build (Nailed it!):
@davidgsIoT
Slide 13
Build a Candy Dispenser Note: I’m terrible at 3-D CAD
• Design a Candy Dispenser • Copy a Candy Dispenser • Print! • Awkward
@davidgsIoT
Slide 14
Where’s the BPM? • Long, complicated process • 3 tasks require human interaction • Not easily maintainable
@davidgsIoT
Slide 15
Let’s see it in action!
@davidgsIoT
Slide 16
Your kids look weird • The candy dispenser I built stole wasn’t designed for candy • It was designed for dog treats • Dogs are acceptable standins for kids. • Fight me. • Dont’ try to fight them • They’re useless in a fight.
@davidgsIoT
Slide 17
We can make this better That’s a universal truth
• Most of the ‘decisions’ are coded into the model itself • That’s a terrible idea • I didn’t know any better • It’s very difficult to maintain • Don’t do it • Too much human interaction. • We can do better
@davidgsIoT
Slide 18
Let’s collapse the model
• Only one Human Task • All the decisions automated with DMN • Much more efficient!
@davidgsIoT
Slide 19
Let’s use DMN to automate decisions • Use nested decision tables • Same result, but faster • Less human interaction
@davidgsIoT
Slide 20
Who needs people anyway? I did say “automating IoT with BPM”
• We can completely remove all human tasks • If we move the goal posts just a little bit
@davidgsIoT
Slide 21
Even shorter Task • No human tasks • A single Decision Table
@davidgsIoT
Slide 22
Ok, so it’s not a single decision table • Wait, what? Anger, Sorrow, Surprise, and Joy?
@davidgsIoT
Slide 23
Using AI to augment the automation • Google image processing
• Get the emotions
@davidgsIoT
Slide 24
All talk, no demo
@davidgsIoT
Slide 25
I hate this damned machine I wish that they would sell it. It never does what I want But only what I tell it. My mom @davidgsIoT
Slide 26
Questions? David G. Simmons, Principal Developer Advocate Camunda, Inc. david.simmons@camunda.com https://github.com/davidgs https://davidgs.com/
@davidgsIoT