Automating the IoT with BPMN

A presentation at All Things Open in October 2021 in Raleigh, NC, USA by David G. Simmons

Slide 1

Slide 1

Automating the IoT with BPMN Why would you do that? David G. Simmons • October 20, 2021 @davidgsIoT

Slide 2

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

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

Slide 4

Automating a Greenhouse @davidgsIoT

Slide 5

Slide 5

According to Veri ied Market Research, The Global Smart Greenhouse Market was valued at USD 0.98 Billion in 2018 and is projected to reach USD 2.46 Billion by 2026, growing at a CAGR of 12.11% from 2018 to 2026. https://www.veri iedmarketresearch.com/product/global-smart-greenhouse-market-size-and-forecast-to-2025/ f f @davidgsIoT

Slide 6

Slide 6

That’s it for the greenhouse! Wait, what? • I haven’t inished it! • I had other things come up • I have a better demo • It dispenses Skittles™!! f @davidgsIoT

Slide 7

Slide 7

Very irst assignment • Do something ‘fun’ to show off Camunda BPM • I’ve only been here a week! • “Write about what you know” • Hammer, meet nail f @davidgsIoT

Slide 8

Slide 8

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 9

Slide 9

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 10

Slide 10

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 11

Slide 11

If you build it, they will come • Build a doorbell that will take a picture • Built a candy dispenser • Automate it all • mumble mumble mumble • VC Funding bonanza! Revenue!! Riches!! 🤑💰💰💰 This is going to be super simple. 🙄 @davidgsIoT

Slide 12

Slide 12

Hardware list I just happen to have all this lying around • Doorbell: • ESP32-Cam ($5.00) • Push-button ($1.00) • 2 LEDs ($0.25) • Candy Dispenser: • ESP8266 ($2.00) • Stepper Motor ($8.00) • Stepper driver ($6.00) @davidgsIoT This should surprise no one

Slide 13

Slide 13

Start with Hardware Note: Never start with hardware • First the schematic: • Then build it (spot on!): @davidgsIoT

Slide 14

Slide 14

Candy Dispenser Hardware • First comes the Schematic: @davidgsIoT

Slide 15

Slide 15

Candy Dispenser Hardware • Then the build (Nailed it!): @davidgsIoT

Slide 16

Slide 16

Build a Candy Dispenser Note: I’m terrible at 3-D CAD • Design a Candy Dispenser • Copy a Candy Dispenser • Print! • Awkward @davidgsIoT

Slide 17

Slide 17

Where’s the BPM? • Long, complicated process • 3 tasks require human interaction • Not easily maintainable @davidgsIoT

Slide 18

Slide 18

Let’s see it in action! @davidgsIoT

Slide 19

Slide 19

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 ight them • They’re useless in a ight. f f @davidgsIoT

Slide 20

Slide 20

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 dif icult to maintain • Don’t do it • Too much human interaction. • We can do better f @davidgsIoT

Slide 21

Slide 21

Let’s collapse the model • Only one Human Task • All the decisions automated with DMN • Much more ef icient! f @davidgsIoT

Slide 22

Slide 22

Let’s use DMN to automate decisions • Use nested decision tables • Same result, but faster • Less human interaction @davidgsIoT

Slide 23

Slide 23

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 24

Slide 24

Even shorter Task • No human tasks • A single Decision Table @davidgsIoT

Slide 25

Slide 25

Ok, so it’s not a single decision table • Wait, what? Anger, Sorrow, Surprise, and Joy? @davidgsIoT

Slide 26

Slide 26

Using AI to augment the automation • Google image processing • Get the emotions @davidgsIoT

Slide 27

Slide 27

All talk, no demo @davidgsIoT

Slide 28

Slide 28

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 29

Slide 29

Questions? David G. Simmons, Principal Developer Advocate Camunda, Inc. david.simmons@camunda.com https://github.com/davidgs https://davidgs.com/ @davidgsIoT