Slide 1

Slide 1 text

✿✿✿✿ ʕ •ᴥ•ʔ/ ︻デ═一 Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution 4.0 International. Version 9- 28/08/2018

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

Picture: Tapster Robotics, Inc.

Slide 4

Slide 4 text

Picture: Freepik, Flaticon Basic License

Slide 5

Slide 5 text

● ● ● ● ● ● 5

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

● ○ ● ○ ● ○ ● ○ ● ○ ● ○ 7

Slide 8

Slide 8 text

● ○ ● ○ ● ○ ● ○ 8

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

Pictures: Arduino, SainSmart, Bitbeam 10

Slide 11

Slide 11 text

● ● ● ○ ○ ● ● ○ Picture: Tapster Robotics, Inc. 11

Slide 12

Slide 12 text

● ● 12

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

14 Pictures: Node.js, NodeBots, Johnny-Five, Firmata

Slide 15

Slide 15 text

● ○ ● ○ ○ ● ○ ● ○ 15

Slide 16

Slide 16 text

16 Source: https://github.com/hugs/tapsterbot/blob/master/software/src/bot.js

Slide 17

Slide 17 text

17 Source: https://github.com/nodebotsau/simplebot/blob/master/examples/servos.js

Slide 18

Slide 18 text

18 Source: https://github.com/rwaldron/johnny-five/blob/master/lib/johnny-five.js

Slide 19

Slide 19 text

19 Sources: https://github.com/firmata/arduino/blob/master/Firmata.h https://github.com/firmata/firmata.js/blob/master/lib/firmata.js

Slide 20

Slide 20 text

20 HTTP client Node.js Arduino Shield Servos Device User firmata server.js calibration.js Johnny Five UNO Shield V4 Robot Framework web app Android app Python client

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

22 Credits: OpenSignal, Wikipedia, Samsung, Apple

Slide 23

Slide 23 text

23 # terminal (Appium side) $ appium --pre-launch --default-capabilities '{ "udid": "UDID of your iOS device", "app": "pylapp.tapster.calibration.ios.RobotCalibration", "platformName": "iOS", "deviceName": "the model of your device", "platformVersion": "the version of the OS", "xcodeSigningId": "iPhone Developer (or something else you use)", "xcodeOrgId": "the TeamId you can get from your purchased Apple developer account" }' > ... # other terminal (Tapster side) $ node server.js & > ... $ node calibrate.js -o my_calibration_file.json > ... Source: https://medium.com/devs-foodit/iphone-automation-with-a-one-fingered-robot-a2936c840285 Credits: Appium, Node.js, Apple

Slide 24

Slide 24 text

24 Node.js script (Appium client) Node.js script (bot server) Appium server XCUITest WebDriverAgent WDA Runner iOS app iPhone Tapster 2 1 - download app 2 - download runner 3 - process commands

Slide 25

Slide 25 text

25 Credits: Appium, Node.js, Google # terminal (Appium side) $ appium --pre-launch --default-capabilities '{ "app": "path to the APK of the Android app", "platformName": "Android", "platformVersion": "the version of the OS", "deviceName": "a name for your device", "autoLaunch": "true", "appPackage": "pylapp.tapster.calibration.android", "appActivity": "pylapp.tapster.calibration.android.MainActivity" }' > ... # other terminal (Tapster side) $ node server.js & > ... $ node calibrate.js -o my_calibration_file.json > ...

Slide 26

Slide 26 text

26 Node.js script (Appium client) Node.js script (bot server) Appium server ADB UI Automator bootstrap.jar Android app Android handset Tapster 2 1 - download app 2 - process commands

Slide 27

Slide 27 text

27 1 - Appium: starts calibration app 5 - Appium: gets the coordinates displayed by calibration app 2 - Node.js: runs calibration script 3 - Tapster bot: moves servos and tap screen of device 4 - Calibration app: displays coordinates of touched point

Slide 28

Slide 28 text

28 # terminal (Tapster side) $ node server.js --address 127.0.0.1 --port 4242 --calibration my_calibration_file.json > ... Credits: Node.js, Tapster

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

30 ● ○ ● ○ ● ○ ● ○ ● See: https://github.com/pylapp/tapsterbot/wiki/04-%5C--The-Tapster-2-API

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

32 Credits: Google, Node.js, Python, Robot Framework, Snips, Tapster, W3C

Slide 33

Slide 33 text

33 > sources

Slide 34

Slide 34 text

34 > sources

Slide 35

Slide 35 text

35 > sources

Slide 36

Slide 36 text

36 > sources

Slide 37

Slide 37 text

37 > sources > assistants: en, fr

Slide 38

Slide 38 text

38 Clients sending HTTP requests Node.js server with HTTP REST API Tapster robot device

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

● ● ● ● ● ● 40

Slide 41

Slide 41 text

● ● ● 41

Slide 42

Slide 42 text

● ● ● ● 42

Slide 43

Slide 43 text

Picture: Freepik, Flaticon Basic License

Slide 44

Slide 44 text

No content

Slide 45

Slide 45 text

● ● ● ● ● ● ● ● 45

Slide 46

Slide 46 text

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 46

Slide 47

Slide 47 text

● ● ● ● ● ● 47

Slide 48

Slide 48 text

● ● ● ● ● ● ● ● ● ● 48

Slide 49

Slide 49 text

● ● ● ● ● ● ● ● ● ● 49

Slide 50

Slide 50 text

No content

Slide 51

Slide 51 text

Picture: Tapster Robotics, Inc.