32
Automating Physical Interaction for IoT Nevin Yuseinova [email protected] https://www.linkedin.com/in/nyyuseinova Musala Soft #EuroSTARConf

Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Automating Physical Interaction for IoTNevin Yuseinova

[email protected]

https://www.linkedin.com/in/nyyuseinova

Musala Soft

#EuroSTARConf

Page 2: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Content

• Overview

• Challenges in testing IoT

• Automating physical interaction approaches

• Simulators• Microcontrollers• Robots

Page 3: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually
Page 4: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

What we face?

Page 5: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Diversity in functionality

Page 6: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Complexity

Video presentation

Page 7: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Protocol Stack

Page 8: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Testing approach

Page 9: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

What are the options?

Page 10: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Software emulation

• Enables us to imitate or reproduce another system to perform an action (manual interaction with a device)

• Usually provided by the vendor or there are open source alternatives

• Suitable during application development and testing.

Page 11: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Software emulation

• Hue Emulator

Page 12: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Supported Operations• /detect

• /set

• /get

Examples:

http://ip:port/set?light={ID}&on={true/false}

http://ip:port/set?light={ID}&bri={0-255}

{ "state": {

"on": false,

"bri": 254,

"alert": "none",

"reachable": true

},

"swupdate": {

"state": "noupdates",

"lastinstall": "2017-12-13T01:59:13"

},

"type": "Dimmable light",

"name": "Hue Light",

"modelid": "LWB004",

"manufacturername": "Philips",

"productname": "Hue White",

"uniqueid": "00:17:88:01:00:bd:c7:b9",

"swversion": "1.15.0_r18729"

}

Page 13: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

DEMO

Page 14: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Is there more?

Page 15: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Microcontroller platforms for communication with devices

• Provide a way to integrate sensors or controllers between your app and the physical device

• A system of building blocks

• Each module is pluggable and have intuitive API

• Can be used for devices that can be disassembled

Page 16: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Microcontroller platforms for communication with devices

Page 17: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Microcontroller platforms for communication with devices

Page 18: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Microcontrollers

• Bricks

(stackable building blocks)

Page 19: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Microcontrollers

• Bricklets

(sensors and actuators)

Page 20: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Tinkerforge project

• Master extensions

(provide alternative communication channels)

Page 21: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

• Power supplies

Microcontrollers

Page 22: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Microcontrollers

Related software

• Brick daemon

• Brick viewer

Supports API bindings for different programming languages

Page 23: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Tinkerforge project - Operations

Switch (on/off smartplug)

• Press button

• Hold button

• Get button state

Fire Alarm

• Trigger alarm

Page 24: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Tinkerforge project - Example

Switch (on/off smartplug)

• Get connected devices

http://localhost:8020/devices/list

• Execute operation

http://localhost:8020/devices/90201025/holdButton?duration=15

Page 25: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Demo

Page 26: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

What will the user do?

Page 27: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Manual interaction

• Hardware functionality is the focus

• Testing the mechanics of a device

“The real deal”

Page 28: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Arduino project – manual button pusher

• Arduino Uno R3

• 12V Car door lock actuator

• Push the button

Page 29: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Demo

Page 30: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Thoughts and comparison

• How much can be automated?

• Possibility for integration within the development and testing lifecycle

• Scalability of each solution

Page 31: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually
Page 32: Automating Physical Interaction for IoT€¦ · Software emulation •Enables us to imitate or reproduce another system to perform an action (manual interaction with a device) •Usually

Thank You!

Nevin Yuseinova

[email protected]

https://www.linkedin.com/in/nyyuseinova

Musala Soft

#EuroSTARConf