automating physical interaction for iot€¦ · software emulation •enables us to imitate or...
TRANSCRIPT
![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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/1.jpg)
Automating Physical Interaction for IoTNevin Yuseinova
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/3.jpg)
![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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/21.jpg)
• 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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/31.jpg)
![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](https://reader035.vdocuments.site/reader035/viewer/2022080721/5f7b1a0ead23d7275b6e72c0/html5/thumbnails/32.jpg)
Thank You!
Nevin Yuseinova
https://www.linkedin.com/in/nyyuseinova
Musala Soft
#EuroSTARConf