SlideShare a Scribd company logo
1Intel® Open Source Technology CenterIntel® Open Source Technology Center
Accelerate your IoT and Robotics development
by using Web Technology and Cordova*
Halton Huo <halton.huo@intel.com>
Dev Manager of SSG/OTC Web Platform
2Intel® Open Source Technology CenterIntel® Open Source Technology Center
Agenda
● Web Development for IoT
● Overview
○ Basics of Intel® Joule™ and Android Things*
○ Web Application and Cordova*
● Tranings:
○ Development environment setup
○ Step by step to create a Web App
○ Add/Develop/Debug Cordova plugin
● Resources and API readiness
● Q&A
3Intel® Open Source Technology Center
Why Use Web Technology for Robotics/IoT
4Intel® Open Source Technology Center
Industry Voice: Web Technology Adoption in IoT
Leverage web & mobile developers to build WoT
5Intel® Open Source Technology Center
Web Application = JavaScript + CSS + HTML
6Intel® Open Source Technology CenterIntel® Open Source Technology Center
Agenda
● Web Development for IoT
● Overview
○ Basics of Intel® Joule™ and Android Things*
○ Web Application and Cordova*
● Tranings:
○ Development environment setup
○ Step by step to create a Web App
○ Add/Develop/Debug Cordova plugin
● Resources and API readiness
● Q&A
7Intel® Open Source Technology Center
Android Things*
● Embedded operating system platform by
Google*
● Announced at Google I/O 2015.
● Supported boards (Intel, NXP, Raspberry
Pi)
● Extends the core Android framework with
Things Support Library.
● Integrate with new types of hardware.
● Streamlined for single application use.
8Intel® Open Source Technology Center
Intel® Joule™ Module
https://ark.intel.com/products/series/96417/Intel-Joule-Compute-Modules
Specification
CPU & Memory
IntelⓇ Atom™
1.5/1.7GHz quad-core x86,
14nm
3GB/4GB RAM
Storage 8GB/16GB eMMC
Display
Intel® HD Graphics: HDMI
1.4B
Camera CSI-2
Audio USB2.0
Networking
Wi-Fi 802.11ac
BluetoothⓇ 4.2
9Intel® Open Source Technology CenterIntel® Open Source Technology Center
Agenda
● Web Development for IoT
● Overview
○ Basics of Intel® Joule™ and Android Things*
○ Web Application and Cordova*
● Tranings:
○ Development environment setup
○ Step by step to create a Web App
○ Add/Develop/Debug Cordova plugin
● Resources and API readiness
● Q&A
10Intel® Open Source Technology Center
Cordova Architecture for Android Things*
Web
Standard
APIs
Cordova
Plugins
11Intel® Open Source Technology CenterIntel® Open Source Technology Center
Agenda
● Web Development for IoT
● Overview
○ Basics of Intel® Joule™ and Android Things*
○ Web Application and Cordova*
● Tranings:
○ Development environment setup
○ Step by step to create a Web App
○ Add/Develop/Debug Cordova plugin
● Resources and API readiness
● Q&A
12Intel® Open Source Technology Center
Development environment setup - Hardwares
● Android Studio HW minimal requirements
● Intel® Joule™ board
● Grove Maker Kit for Intel Joule
● Optional
○ HDMI Display
○ USB keyboard & Mouse
○ Grove - Temperature and Humidity
○ Grove - Infrared Temperature Sensor
13Intel® Open Source Technology Center
1
2
3
4
56
Name Connected
To
Purpose
1 Power
Cable
Outlet Power
supply
2 USB
Type C
Host PC Debug
3* USB Display USB
Mini B
Power of
display
4* Mini
HDMI
Display HDMI Display
5 Grove
buzzer
Grove shield
6 Grove
LED
Grove shield
optional items marked with *
14Intel® Open Source Technology Center
Development environment setup - Softwares
1. Burn Android Things image to Intel® Joule™
a. https://developer.android.com/things/hardware/joule.html
2. Install Android Studio
3. Setup environment variables
a. https://cordova.apache.org/docs/en/latest/guide/platforms/android/
b. $JAVA_HOME
c. $ANDROID_HOME
d. $ANDROID_HOME/platform-tools and $ANDROID_HOME/tools added to $PATH
4. Install latest Google Chrome browser and Node.js, LTS is prefered
5. Install Cordova npm install -g cordova
15Intel® Open Source Technology CenterIntel® Open Source Technology Center
Agenda
● Web Development for IoT
● Overview
○ Basics of Intel® Joule™ and Android Things*
○ Web Application and Cordova*
● Tranings:
○ Development environment setup
○ Step by step to create a Web App
○ Add/Develop/Debug Cordova plugin
● Resources and API readiness
● Q&A
16Intel® Open Source Technology Center
Lab1: Simple steps to create a Cordova app
cordova create hello com.intel.hello
cd hello
cordova platform add android
cordova build
More command line options , please check
https://cordova.apache.org/docs/en/latest/reference/cordova-cli/index.html
17Intel® Open Source Technology Center
Project Structure
• config.xml controls cordova application behavior
• www contains your HTML, JS, CSS files
• hooks special scripts to customize cordova commands
• platforms project specific platform
• plugins installed plugins (both JS files and native resources)
• package.json npm manifest
18Intel® Open Source Technology Center
Run the application
● Via CLI (prefered)
● Import into Android Studio
a. Launch Android Studio
b. File->New->Import Project
c. Select folder of
<project>/platform/android, then
click OK
d. Click Run/Debug as usual.
cordova run
19Intel® Open Source Technology Center
Cordova on Android lifecycle
Cordova Event Rough Android Equivalent Meaning
deviceready onCreate() Application is starting (not from background)
pause onPause() Application is moving to the background
resume onResume() Application is returning to the foreground
20Intel® Open Source Technology Center
Remote Debugging (for HTML/JavaScript/CSS)
chrome://inspect
21Intel® Open Source Technology Center
Lab2: Live demo of DevTools
● Inspecting the DOM and styles in Elements Tab
● Map local files do live editing in Sources Tab
● Debugging JavaScript
○ console.log()
○ Set breakpoints
○ Set event listener breakpoints
22Intel® Open Source Technology CenterIntel® Open Source Technology Center
Agenda
● Web Development for IoT
● Overview
○ Basics of Intel® Joule™ and Android Things*
○ Web Application and Cordova*
● Tranings:
○ Development environment setup
○ Step by step to create a Web App
○ Add/Develop/Debug Cordova plugin
● Resources and API readiness
● Q&A
23Intel® Open Source Technology Center
Cordova Plugin on Android
What is a Cordova plugin?
A plugin is a bit of add-on code that provides
JavaScript interface to native components.
They allow your app to use native device
capabilities beyond what is available to pure
web apps.
Web app
JS
Plugin A
JS
Plugin B
Java
Plugin A
Java
Plugin B
Android OS
24Intel® Open Source Technology Center
Manage your plugin
To Add:
cordova plugin add <PLUGIN_ID> | <GIT_URL> | <LOCAL_PATH>
To Remove:
cordova plugin remove <PLUGIN_ID>
To List:
cordova plugin
25Intel® Open Source Technology Center
Lab 3: Create Web applications w/ vibration plugin
cordova plugin add https://github.com/fujunwei/cordova-plugin-vibration.git#android_things
cordova build
cordova run
1. Add plugin
navigator.vibrate(3000);
2. Start inspector in chrome, and choose Joule device
3. Beep for 3 second
navigator.vibrate([200,100,200,275,425,100,200,100,200,275,425,100,75,25,75,125,75,25,75,125,100,100]);
4. Play James Bond 007, youtube link
26Intel® Open Source Technology Center
How Java and JavaScript communicate
cordova.exec(<successFunction>,
<failFunction>,
<service>,
<action>,
[<args>]);
public class service extends CordovaPlugin {
@Override
public boolean execute(action, args, callbackContext) {
if (action.equals("foo")) {
...
}
}
plugin.xml
27Intel® Open Source Technology Center
Lab 4: Create you own plugin
1. Design your interface
echo.say(message: string,
successCallback: function,
errorCallback: function)
plugman create --name Echo --plugin_id cordova-plugin-echo --plugin_version 0.0.1
2. Create plugin (npm install -g plugman before)
3. Add Android platform
plugman platform add --platform_name android
27
28Intel® Open Source Technology Center
Lab 4: Create you own plugin (cont.)
plugman createpackagejson .
4. Do changes, please check commit
5. Create package.json
cordova add <path_of_echo_plugin>
cordova run
6. Add plugin to Cordova app, build and run
7. Verify: launch inspector in Chrome, and try the echo interface
> echo.say("IoT DevFest", function(msg) {console.log(msg);});
Hi IoT DevFest. I'm from Java.
Tip: You need remove and
re-add plugin if there is code
change on plugin side.
29Intel® Open Source Technology Center
Advanced plugin development
● Android Plugin Development Guide
○ http://cordova.apache.org/docs/en/latest/guide/platforms/android/p
lugin.html
● Lifecycle in CodovaPlugin
● Event listener, refer to cordova-plugin-network-information
30Intel® Open Source Technology Center
Debugging with Android Studio (for Java code)
31Intel® Open Source Technology CenterIntel® Open Source Technology Center
Agenda
● Web Development for IoT
● Overview
○ Basics of Intel® Joule™ and Android Things*
○ Web Application and Cordova*
● Tranings:
○ Development environment setup
○ Step by step to create a Web App
○ Add/Develop/Debug Cordova plugin
● Resources and API readiness
● Q&A
32Intel® Open Source Technology Center
Web Standard APIs
https://www.w3schools.com
https://developer.mozilla.org
http://caniuse.com/
1
2
3
DP4 WebView version: 52.0.2743.100
33Intel® Open Source Technology Center
Cordova and Cordova plugins
● Cordova documentation: https://cordova.apache.org/docs/en/latest/
● Android Things ready plugins:
○ https://github.com/intel-iot-devkit/android-things-cordova
● 3rd Cordova plugin search: https://cordova.apache.org/plugins/ and pick
up the Android ready one.
○ Not guarantee work on Android Things, but we can try and update above status page.
34Intel® Open Source Technology Center
Repository of this slide
● Hello World: https://github.com/halton/cordova-hello
● Vibration plugin: https://github.com/halton/cordova-plugin-vibration
● Echo plugin: https://github.com/halton/cordova-plugin-intel-echo
Intel® Open Source Technology Center
Q & A
Halton Huo
halton.huo@intel.com
36Intel® Open Source Technology Center
Android* v/s Android Things*
● No system apps and content
providers.
● No common intents,
ContactsContract,
DownloadManager,
Telephony, etc.
● No APIs that require user
input/authentication
credentials.
37Intel® Open Source Technology Center
38Intel® Open Source Technology Center
Proxy setup if behind firewall
Edit $PROJECT/platforms/android/gradle.properties
systemProp.htts.proxyHost=<proxy_server>
systemProp.http.proxyPort=<proxy_port>
systemProp.https.proxyHost=<proxy_server>
systemProp.https.proxyPort=<proxy_port>

More Related Content

What's hot

Cl17 dev net_1055_v1
Cl17 dev net_1055_v1Cl17 dev net_1055_v1
Cl17 dev net_1055_v1
Shubha Govil
 
Enterprise Video Hosting: Introducing the Intel Video Portal
Enterprise Video Hosting:  Introducing the Intel Video PortalEnterprise Video Hosting:  Introducing the Intel Video Portal
Enterprise Video Hosting: Introducing the Intel Video Portal
IT@Intel
 
Wind river webinar deck v1 as of april 23 2014 dw2
Wind river webinar deck v1 as of april 23 2014 dw2Wind river webinar deck v1 as of april 23 2014 dw2
Wind river webinar deck v1 as of april 23 2014 dw2
Intel IoT
 
Certified Internet of Things Specialist ( CIoTS )
Certified Internet of Things Specialist ( CIoTS ) Certified Internet of Things Specialist ( CIoTS )
Certified Internet of Things Specialist ( CIoTS )
GICTTraining
 
Research in Internet of Things' Operating Systems (IoT OS's)
Research in Internet of Things' Operating Systems (IoT OS's)Research in Internet of Things' Operating Systems (IoT OS's)
Research in Internet of Things' Operating Systems (IoT OS's)
Salahuddin ElKazak
 
Microsoft Build 2019- Intel AI Workshop
Microsoft Build 2019- Intel AI Workshop Microsoft Build 2019- Intel AI Workshop
Microsoft Build 2019- Intel AI Workshop
Intel® Software
 
IPv6 for the Enterprise
IPv6 for the EnterpriseIPv6 for the Enterprise
IPv6 for the Enterprise
John Rhoton
 
Fundamental Best Practices in Secure IoT Product Development
Fundamental Best Practices in Secure IoT Product DevelopmentFundamental Best Practices in Secure IoT Product Development
Fundamental Best Practices in Secure IoT Product Development
Mark Szewczul, CISSP
 
[Webinar] Why Security Certification is Crucial for IoT Success
[Webinar] Why Security Certification is Crucial for IoT Success[Webinar] Why Security Certification is Crucial for IoT Success
[Webinar] Why Security Certification is Crucial for IoT Success
Electric Imp
 
Bolt IoT Platform: How to build IoT products and prototypes easily.
Bolt IoT Platform: How to build IoT products and prototypes easily.Bolt IoT Platform: How to build IoT products and prototypes easily.
Bolt IoT Platform: How to build IoT products and prototypes easily.
Pranav Pai Vernekar
 
Internet of energy
Internet of energyInternet of energy
Internet of energy
William Liang
 
[PAG 비즈니스 플랫폼데이] Oracle Korea 글로벌 진출을 위한 솔루션 파트너 협력방안
[PAG 비즈니스 플랫폼데이] Oracle Korea 글로벌 진출을 위한 솔루션 파트너 협력방안[PAG 비즈니스 플랫폼데이] Oracle Korea 글로벌 진출을 위한 솔루션 파트너 협력방안
[PAG 비즈니스 플랫폼데이] Oracle Korea 글로벌 진출을 위한 솔루션 파트너 협력방안
VentureSquare
 
AIDC Summit LA- Hands-on Training
AIDC Summit LA- Hands-on Training AIDC Summit LA- Hands-on Training
AIDC Summit LA- Hands-on Training
Intel® Software
 
Distributed Ledgers and IoT
Distributed Ledgers and IoTDistributed Ledgers and IoT
Distributed Ledgers and IoT
TiE Bangalore
 
IoT product business plan creation for entrepreneurs and intrepreneurs
IoT product business plan creation for entrepreneurs and intrepreneursIoT product business plan creation for entrepreneurs and intrepreneurs
IoT product business plan creation for entrepreneurs and intrepreneurs
Dr. Shivananda Koteshwar
 
IoT Protocols
IoT ProtocolsIoT Protocols
IoT Protocols
cprojector
 
Secure Real Time Monitoring & Analysis for IoT Product Engineering
Secure Real Time Monitoring & Analysis for IoT Product EngineeringSecure Real Time Monitoring & Analysis for IoT Product Engineering
Secure Real Time Monitoring & Analysis for IoT Product Engineering
Infostretch
 
Accelerating Our Path to Multi Platform Benefits
Accelerating Our Path to Multi Platform BenefitsAccelerating Our Path to Multi Platform Benefits
Accelerating Our Path to Multi Platform Benefits
IT@Intel
 
Watson IoT @Ryerson University - IEEE Chapter
Watson IoT  @Ryerson University - IEEE Chapter  Watson IoT  @Ryerson University - IEEE Chapter
Watson IoT @Ryerson University - IEEE Chapter
Markus Van Kempen
 
Flak general v2 5
Flak general v2 5Flak general v2 5
Flak general v2 5digiflak
 

What's hot (20)

Cl17 dev net_1055_v1
Cl17 dev net_1055_v1Cl17 dev net_1055_v1
Cl17 dev net_1055_v1
 
Enterprise Video Hosting: Introducing the Intel Video Portal
Enterprise Video Hosting:  Introducing the Intel Video PortalEnterprise Video Hosting:  Introducing the Intel Video Portal
Enterprise Video Hosting: Introducing the Intel Video Portal
 
Wind river webinar deck v1 as of april 23 2014 dw2
Wind river webinar deck v1 as of april 23 2014 dw2Wind river webinar deck v1 as of april 23 2014 dw2
Wind river webinar deck v1 as of april 23 2014 dw2
 
Certified Internet of Things Specialist ( CIoTS )
Certified Internet of Things Specialist ( CIoTS ) Certified Internet of Things Specialist ( CIoTS )
Certified Internet of Things Specialist ( CIoTS )
 
Research in Internet of Things' Operating Systems (IoT OS's)
Research in Internet of Things' Operating Systems (IoT OS's)Research in Internet of Things' Operating Systems (IoT OS's)
Research in Internet of Things' Operating Systems (IoT OS's)
 
Microsoft Build 2019- Intel AI Workshop
Microsoft Build 2019- Intel AI Workshop Microsoft Build 2019- Intel AI Workshop
Microsoft Build 2019- Intel AI Workshop
 
IPv6 for the Enterprise
IPv6 for the EnterpriseIPv6 for the Enterprise
IPv6 for the Enterprise
 
Fundamental Best Practices in Secure IoT Product Development
Fundamental Best Practices in Secure IoT Product DevelopmentFundamental Best Practices in Secure IoT Product Development
Fundamental Best Practices in Secure IoT Product Development
 
[Webinar] Why Security Certification is Crucial for IoT Success
[Webinar] Why Security Certification is Crucial for IoT Success[Webinar] Why Security Certification is Crucial for IoT Success
[Webinar] Why Security Certification is Crucial for IoT Success
 
Bolt IoT Platform: How to build IoT products and prototypes easily.
Bolt IoT Platform: How to build IoT products and prototypes easily.Bolt IoT Platform: How to build IoT products and prototypes easily.
Bolt IoT Platform: How to build IoT products and prototypes easily.
 
Internet of energy
Internet of energyInternet of energy
Internet of energy
 
[PAG 비즈니스 플랫폼데이] Oracle Korea 글로벌 진출을 위한 솔루션 파트너 협력방안
[PAG 비즈니스 플랫폼데이] Oracle Korea 글로벌 진출을 위한 솔루션 파트너 협력방안[PAG 비즈니스 플랫폼데이] Oracle Korea 글로벌 진출을 위한 솔루션 파트너 협력방안
[PAG 비즈니스 플랫폼데이] Oracle Korea 글로벌 진출을 위한 솔루션 파트너 협력방안
 
AIDC Summit LA- Hands-on Training
AIDC Summit LA- Hands-on Training AIDC Summit LA- Hands-on Training
AIDC Summit LA- Hands-on Training
 
Distributed Ledgers and IoT
Distributed Ledgers and IoTDistributed Ledgers and IoT
Distributed Ledgers and IoT
 
IoT product business plan creation for entrepreneurs and intrepreneurs
IoT product business plan creation for entrepreneurs and intrepreneursIoT product business plan creation for entrepreneurs and intrepreneurs
IoT product business plan creation for entrepreneurs and intrepreneurs
 
IoT Protocols
IoT ProtocolsIoT Protocols
IoT Protocols
 
Secure Real Time Monitoring & Analysis for IoT Product Engineering
Secure Real Time Monitoring & Analysis for IoT Product EngineeringSecure Real Time Monitoring & Analysis for IoT Product Engineering
Secure Real Time Monitoring & Analysis for IoT Product Engineering
 
Accelerating Our Path to Multi Platform Benefits
Accelerating Our Path to Multi Platform BenefitsAccelerating Our Path to Multi Platform Benefits
Accelerating Our Path to Multi Platform Benefits
 
Watson IoT @Ryerson University - IEEE Chapter
Watson IoT  @Ryerson University - IEEE Chapter  Watson IoT  @Ryerson University - IEEE Chapter
Watson IoT @Ryerson University - IEEE Chapter
 
Flak general v2 5
Flak general v2 5Flak general v2 5
Flak general v2 5
 

Similar to Accelerate Your IoT and Robotics Development Using Web Technology and Apache Cordova*

Mobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKMobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDK
Intel® Software
 
Android Study Jam
Android Study Jam Android Study Jam
Android Study Jam
DSCMESCOE
 
Overview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer KitOverview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer Kit
Intel® Software
 
Developing Multi-OS Native Mobile Applications with Intel INDE
Developing Multi-OS Native Mobile Applications with Intel INDEDeveloping Multi-OS Native Mobile Applications with Intel INDE
Developing Multi-OS Native Mobile Applications with Intel INDE
Intel® Software
 
eXoer on the grill: eXo Add-ons factory using Docker and Codenvy
eXoer on the grill: eXo Add-ons factory using Docker and CodenvyeXoer on the grill: eXo Add-ons factory using Docker and Codenvy
eXoer on the grill: eXo Add-ons factory using Docker and Codenvy
eXo Platform
 
Multi-OS Engine Technology Overview
Multi-OS Engine Technology OverviewMulti-OS Engine Technology Overview
Multi-OS Engine Technology Overview
Karthiyayini Chinnaswamy
 
Android best practices 2015
Android best practices 2015Android best practices 2015
Android best practices 2015
Sean Katz
 
VishalBhoj-Resume (1)
VishalBhoj-Resume (1)VishalBhoj-Resume (1)
VishalBhoj-Resume (1)Vishal Bhoj
 
“Intel Video AI Box—Converging AI, Media and Computing in a Compact and Open ...
“Intel Video AI Box—Converging AI, Media and Computing in a Compact and Open ...“Intel Video AI Box—Converging AI, Media and Computing in a Compact and Open ...
“Intel Video AI Box—Converging AI, Media and Computing in a Compact and Open ...
Edge AI and Vision Alliance
 
Mob324 Windows IoT Core Dave Glover Microsoft Australia
Mob324 Windows IoT Core Dave Glover Microsoft AustraliaMob324 Windows IoT Core Dave Glover Microsoft Australia
Mob324 Windows IoT Core Dave Glover Microsoft Australia
Dave Glover
 
Android App Development 01 : Getting Start
Android App Development 01 : Getting StartAndroid App Development 01 : Getting Start
Android App Development 01 : Getting StartAnuchit Chalothorn
 
Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018
Mender.io
 
Introduction to android applications stu
Introduction to android applications stuIntroduction to android applications stu
Introduction to android applications stu
cbashirmacalin
 
Intel galileo
Intel galileoIntel galileo
Intel galileo
Sofian Hadiwijaya
 
NCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsNCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile Apps
John M. Wargo
 
Android Things Introduction
Android Things IntroductionAndroid Things Introduction
Android Things Introduction
Benjamin Stürmer
 
(WPF + WinForms) * .NET Core = Modern Desktop
(WPF + WinForms) * .NET Core = Modern Desktop(WPF + WinForms) * .NET Core = Modern Desktop
(WPF + WinForms) * .NET Core = Modern Desktop
Oren Novotny
 
EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...
EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...
EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...
Pietro F. Maggi
 
Digital twins IoT - for industry 4.0 (meetup Wireless & Networks, Poznan 12.1...
Digital twins IoT - for industry 4.0 (meetup Wireless & Networks, Poznan 12.1...Digital twins IoT - for industry 4.0 (meetup Wireless & Networks, Poznan 12.1...
Digital twins IoT - for industry 4.0 (meetup Wireless & Networks, Poznan 12.1...
Marcin Bielak
 
Your first Android App
Your first Android AppYour first Android App
Your first Android App
Muhammad Sajid
 

Similar to Accelerate Your IoT and Robotics Development Using Web Technology and Apache Cordova* (20)

Mobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKMobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDK
 
Android Study Jam
Android Study Jam Android Study Jam
Android Study Jam
 
Overview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer KitOverview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer Kit
 
Developing Multi-OS Native Mobile Applications with Intel INDE
Developing Multi-OS Native Mobile Applications with Intel INDEDeveloping Multi-OS Native Mobile Applications with Intel INDE
Developing Multi-OS Native Mobile Applications with Intel INDE
 
eXoer on the grill: eXo Add-ons factory using Docker and Codenvy
eXoer on the grill: eXo Add-ons factory using Docker and CodenvyeXoer on the grill: eXo Add-ons factory using Docker and Codenvy
eXoer on the grill: eXo Add-ons factory using Docker and Codenvy
 
Multi-OS Engine Technology Overview
Multi-OS Engine Technology OverviewMulti-OS Engine Technology Overview
Multi-OS Engine Technology Overview
 
Android best practices 2015
Android best practices 2015Android best practices 2015
Android best practices 2015
 
VishalBhoj-Resume (1)
VishalBhoj-Resume (1)VishalBhoj-Resume (1)
VishalBhoj-Resume (1)
 
“Intel Video AI Box—Converging AI, Media and Computing in a Compact and Open ...
“Intel Video AI Box—Converging AI, Media and Computing in a Compact and Open ...“Intel Video AI Box—Converging AI, Media and Computing in a Compact and Open ...
“Intel Video AI Box—Converging AI, Media and Computing in a Compact and Open ...
 
Mob324 Windows IoT Core Dave Glover Microsoft Australia
Mob324 Windows IoT Core Dave Glover Microsoft AustraliaMob324 Windows IoT Core Dave Glover Microsoft Australia
Mob324 Windows IoT Core Dave Glover Microsoft Australia
 
Android App Development 01 : Getting Start
Android App Development 01 : Getting StartAndroid App Development 01 : Getting Start
Android App Development 01 : Getting Start
 
Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018
 
Introduction to android applications stu
Introduction to android applications stuIntroduction to android applications stu
Introduction to android applications stu
 
Intel galileo
Intel galileoIntel galileo
Intel galileo
 
NCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsNCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile Apps
 
Android Things Introduction
Android Things IntroductionAndroid Things Introduction
Android Things Introduction
 
(WPF + WinForms) * .NET Core = Modern Desktop
(WPF + WinForms) * .NET Core = Modern Desktop(WPF + WinForms) * .NET Core = Modern Desktop
(WPF + WinForms) * .NET Core = Modern Desktop
 
EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...
EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...
EMEA AppForum 2015 Android KitKat & Lollipop - new features for enterprise de...
 
Digital twins IoT - for industry 4.0 (meetup Wireless & Networks, Poznan 12.1...
Digital twins IoT - for industry 4.0 (meetup Wireless & Networks, Poznan 12.1...Digital twins IoT - for industry 4.0 (meetup Wireless & Networks, Poznan 12.1...
Digital twins IoT - for industry 4.0 (meetup Wireless & Networks, Poznan 12.1...
 
Your first Android App
Your first Android AppYour first Android App
Your first Android App
 

More from Intel® Software

AI for All: Biology is eating the world & AI is eating Biology
AI for All: Biology is eating the world & AI is eating Biology AI for All: Biology is eating the world & AI is eating Biology
AI for All: Biology is eating the world & AI is eating Biology
Intel® Software
 
Python Data Science and Machine Learning at Scale with Intel and Anaconda
Python Data Science and Machine Learning at Scale with Intel and AnacondaPython Data Science and Machine Learning at Scale with Intel and Anaconda
Python Data Science and Machine Learning at Scale with Intel and Anaconda
Intel® Software
 
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSci
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSciStreamline End-to-End AI Pipelines with Intel, Databricks, and OmniSci
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSci
Intel® Software
 
AI for good: Scaling AI in science, healthcare, and more.
AI for good: Scaling AI in science, healthcare, and more.AI for good: Scaling AI in science, healthcare, and more.
AI for good: Scaling AI in science, healthcare, and more.
Intel® Software
 
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
Intel® Software
 
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...
Intel® Software
 
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...
Intel® Software
 
AWS & Intel Webinar Series - Accelerating AI Research
AWS & Intel Webinar Series - Accelerating AI ResearchAWS & Intel Webinar Series - Accelerating AI Research
AWS & Intel Webinar Series - Accelerating AI Research
Intel® Software
 
Intel Developer Program
Intel Developer ProgramIntel Developer Program
Intel Developer Program
Intel® Software
 
Intel AIDC Houston Summit - Overview Slides
Intel AIDC Houston Summit - Overview SlidesIntel AIDC Houston Summit - Overview Slides
Intel AIDC Houston Summit - Overview Slides
Intel® Software
 
AIDC NY: BODO AI Presentation - 09.19.2019
AIDC NY: BODO AI Presentation - 09.19.2019AIDC NY: BODO AI Presentation - 09.19.2019
AIDC NY: BODO AI Presentation - 09.19.2019
Intel® Software
 
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019
Intel® Software
 
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
Intel® Software
 
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Intel® Software
 
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Intel® Software
 
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
Intel® Software
 
AIDC India - AI on IA
AIDC India  - AI on IAAIDC India  - AI on IA
AIDC India - AI on IA
Intel® Software
 
AIDC India - Intel Movidius / Open Vino Slides
AIDC India - Intel Movidius / Open Vino SlidesAIDC India - Intel Movidius / Open Vino Slides
AIDC India - Intel Movidius / Open Vino Slides
Intel® Software
 
AIDC India - AI Vision Slides
AIDC India - AI Vision SlidesAIDC India - AI Vision Slides
AIDC India - AI Vision Slides
Intel® Software
 
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
Intel® Software
 

More from Intel® Software (20)

AI for All: Biology is eating the world & AI is eating Biology
AI for All: Biology is eating the world & AI is eating Biology AI for All: Biology is eating the world & AI is eating Biology
AI for All: Biology is eating the world & AI is eating Biology
 
Python Data Science and Machine Learning at Scale with Intel and Anaconda
Python Data Science and Machine Learning at Scale with Intel and AnacondaPython Data Science and Machine Learning at Scale with Intel and Anaconda
Python Data Science and Machine Learning at Scale with Intel and Anaconda
 
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSci
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSciStreamline End-to-End AI Pipelines with Intel, Databricks, and OmniSci
Streamline End-to-End AI Pipelines with Intel, Databricks, and OmniSci
 
AI for good: Scaling AI in science, healthcare, and more.
AI for good: Scaling AI in science, healthcare, and more.AI for good: Scaling AI in science, healthcare, and more.
AI for good: Scaling AI in science, healthcare, and more.
 
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
Software AI Accelerators: The Next Frontier | Software for AI Optimization Su...
 
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...
Advanced Techniques to Accelerate Model Tuning | Software for AI Optimization...
 
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...
Reducing Deep Learning Integration Costs and Maximizing Compute Efficiency| S...
 
AWS & Intel Webinar Series - Accelerating AI Research
AWS & Intel Webinar Series - Accelerating AI ResearchAWS & Intel Webinar Series - Accelerating AI Research
AWS & Intel Webinar Series - Accelerating AI Research
 
Intel Developer Program
Intel Developer ProgramIntel Developer Program
Intel Developer Program
 
Intel AIDC Houston Summit - Overview Slides
Intel AIDC Houston Summit - Overview SlidesIntel AIDC Houston Summit - Overview Slides
Intel AIDC Houston Summit - Overview Slides
 
AIDC NY: BODO AI Presentation - 09.19.2019
AIDC NY: BODO AI Presentation - 09.19.2019AIDC NY: BODO AI Presentation - 09.19.2019
AIDC NY: BODO AI Presentation - 09.19.2019
 
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019
AIDC NY: Applications of Intel AI by QuEST Global - 09.19.2019
 
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
Advanced Single Instruction Multiple Data (SIMD) Programming with Intel® Impl...
 
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
Build a Deep Learning Video Analytics Framework | SIGGRAPH 2019 Technical Ses...
 
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
Bring Intelligent Motion Using Reinforcement Learning Engines | SIGGRAPH 2019...
 
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
 
AIDC India - AI on IA
AIDC India  - AI on IAAIDC India  - AI on IA
AIDC India - AI on IA
 
AIDC India - Intel Movidius / Open Vino Slides
AIDC India - Intel Movidius / Open Vino SlidesAIDC India - Intel Movidius / Open Vino Slides
AIDC India - Intel Movidius / Open Vino Slides
 
AIDC India - AI Vision Slides
AIDC India - AI Vision SlidesAIDC India - AI Vision Slides
AIDC India - AI Vision Slides
 
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
 

Recently uploaded

Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 

Recently uploaded (20)

Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 

Accelerate Your IoT and Robotics Development Using Web Technology and Apache Cordova*

  • 1. 1Intel® Open Source Technology CenterIntel® Open Source Technology Center Accelerate your IoT and Robotics development by using Web Technology and Cordova* Halton Huo <halton.huo@intel.com> Dev Manager of SSG/OTC Web Platform
  • 2. 2Intel® Open Source Technology CenterIntel® Open Source Technology Center Agenda ● Web Development for IoT ● Overview ○ Basics of Intel® Joule™ and Android Things* ○ Web Application and Cordova* ● Tranings: ○ Development environment setup ○ Step by step to create a Web App ○ Add/Develop/Debug Cordova plugin ● Resources and API readiness ● Q&A
  • 3. 3Intel® Open Source Technology Center Why Use Web Technology for Robotics/IoT
  • 4. 4Intel® Open Source Technology Center Industry Voice: Web Technology Adoption in IoT Leverage web & mobile developers to build WoT
  • 5. 5Intel® Open Source Technology Center Web Application = JavaScript + CSS + HTML
  • 6. 6Intel® Open Source Technology CenterIntel® Open Source Technology Center Agenda ● Web Development for IoT ● Overview ○ Basics of Intel® Joule™ and Android Things* ○ Web Application and Cordova* ● Tranings: ○ Development environment setup ○ Step by step to create a Web App ○ Add/Develop/Debug Cordova plugin ● Resources and API readiness ● Q&A
  • 7. 7Intel® Open Source Technology Center Android Things* ● Embedded operating system platform by Google* ● Announced at Google I/O 2015. ● Supported boards (Intel, NXP, Raspberry Pi) ● Extends the core Android framework with Things Support Library. ● Integrate with new types of hardware. ● Streamlined for single application use.
  • 8. 8Intel® Open Source Technology Center Intel® Joule™ Module https://ark.intel.com/products/series/96417/Intel-Joule-Compute-Modules Specification CPU & Memory IntelⓇ Atom™ 1.5/1.7GHz quad-core x86, 14nm 3GB/4GB RAM Storage 8GB/16GB eMMC Display Intel® HD Graphics: HDMI 1.4B Camera CSI-2 Audio USB2.0 Networking Wi-Fi 802.11ac BluetoothⓇ 4.2
  • 9. 9Intel® Open Source Technology CenterIntel® Open Source Technology Center Agenda ● Web Development for IoT ● Overview ○ Basics of Intel® Joule™ and Android Things* ○ Web Application and Cordova* ● Tranings: ○ Development environment setup ○ Step by step to create a Web App ○ Add/Develop/Debug Cordova plugin ● Resources and API readiness ● Q&A
  • 10. 10Intel® Open Source Technology Center Cordova Architecture for Android Things* Web Standard APIs Cordova Plugins
  • 11. 11Intel® Open Source Technology CenterIntel® Open Source Technology Center Agenda ● Web Development for IoT ● Overview ○ Basics of Intel® Joule™ and Android Things* ○ Web Application and Cordova* ● Tranings: ○ Development environment setup ○ Step by step to create a Web App ○ Add/Develop/Debug Cordova plugin ● Resources and API readiness ● Q&A
  • 12. 12Intel® Open Source Technology Center Development environment setup - Hardwares ● Android Studio HW minimal requirements ● Intel® Joule™ board ● Grove Maker Kit for Intel Joule ● Optional ○ HDMI Display ○ USB keyboard & Mouse ○ Grove - Temperature and Humidity ○ Grove - Infrared Temperature Sensor
  • 13. 13Intel® Open Source Technology Center 1 2 3 4 56 Name Connected To Purpose 1 Power Cable Outlet Power supply 2 USB Type C Host PC Debug 3* USB Display USB Mini B Power of display 4* Mini HDMI Display HDMI Display 5 Grove buzzer Grove shield 6 Grove LED Grove shield optional items marked with *
  • 14. 14Intel® Open Source Technology Center Development environment setup - Softwares 1. Burn Android Things image to Intel® Joule™ a. https://developer.android.com/things/hardware/joule.html 2. Install Android Studio 3. Setup environment variables a. https://cordova.apache.org/docs/en/latest/guide/platforms/android/ b. $JAVA_HOME c. $ANDROID_HOME d. $ANDROID_HOME/platform-tools and $ANDROID_HOME/tools added to $PATH 4. Install latest Google Chrome browser and Node.js, LTS is prefered 5. Install Cordova npm install -g cordova
  • 15. 15Intel® Open Source Technology CenterIntel® Open Source Technology Center Agenda ● Web Development for IoT ● Overview ○ Basics of Intel® Joule™ and Android Things* ○ Web Application and Cordova* ● Tranings: ○ Development environment setup ○ Step by step to create a Web App ○ Add/Develop/Debug Cordova plugin ● Resources and API readiness ● Q&A
  • 16. 16Intel® Open Source Technology Center Lab1: Simple steps to create a Cordova app cordova create hello com.intel.hello cd hello cordova platform add android cordova build More command line options , please check https://cordova.apache.org/docs/en/latest/reference/cordova-cli/index.html
  • 17. 17Intel® Open Source Technology Center Project Structure • config.xml controls cordova application behavior • www contains your HTML, JS, CSS files • hooks special scripts to customize cordova commands • platforms project specific platform • plugins installed plugins (both JS files and native resources) • package.json npm manifest
  • 18. 18Intel® Open Source Technology Center Run the application ● Via CLI (prefered) ● Import into Android Studio a. Launch Android Studio b. File->New->Import Project c. Select folder of <project>/platform/android, then click OK d. Click Run/Debug as usual. cordova run
  • 19. 19Intel® Open Source Technology Center Cordova on Android lifecycle Cordova Event Rough Android Equivalent Meaning deviceready onCreate() Application is starting (not from background) pause onPause() Application is moving to the background resume onResume() Application is returning to the foreground
  • 20. 20Intel® Open Source Technology Center Remote Debugging (for HTML/JavaScript/CSS) chrome://inspect
  • 21. 21Intel® Open Source Technology Center Lab2: Live demo of DevTools ● Inspecting the DOM and styles in Elements Tab ● Map local files do live editing in Sources Tab ● Debugging JavaScript ○ console.log() ○ Set breakpoints ○ Set event listener breakpoints
  • 22. 22Intel® Open Source Technology CenterIntel® Open Source Technology Center Agenda ● Web Development for IoT ● Overview ○ Basics of Intel® Joule™ and Android Things* ○ Web Application and Cordova* ● Tranings: ○ Development environment setup ○ Step by step to create a Web App ○ Add/Develop/Debug Cordova plugin ● Resources and API readiness ● Q&A
  • 23. 23Intel® Open Source Technology Center Cordova Plugin on Android What is a Cordova plugin? A plugin is a bit of add-on code that provides JavaScript interface to native components. They allow your app to use native device capabilities beyond what is available to pure web apps. Web app JS Plugin A JS Plugin B Java Plugin A Java Plugin B Android OS
  • 24. 24Intel® Open Source Technology Center Manage your plugin To Add: cordova plugin add <PLUGIN_ID> | <GIT_URL> | <LOCAL_PATH> To Remove: cordova plugin remove <PLUGIN_ID> To List: cordova plugin
  • 25. 25Intel® Open Source Technology Center Lab 3: Create Web applications w/ vibration plugin cordova plugin add https://github.com/fujunwei/cordova-plugin-vibration.git#android_things cordova build cordova run 1. Add plugin navigator.vibrate(3000); 2. Start inspector in chrome, and choose Joule device 3. Beep for 3 second navigator.vibrate([200,100,200,275,425,100,200,100,200,275,425,100,75,25,75,125,75,25,75,125,100,100]); 4. Play James Bond 007, youtube link
  • 26. 26Intel® Open Source Technology Center How Java and JavaScript communicate cordova.exec(<successFunction>, <failFunction>, <service>, <action>, [<args>]); public class service extends CordovaPlugin { @Override public boolean execute(action, args, callbackContext) { if (action.equals("foo")) { ... } } plugin.xml
  • 27. 27Intel® Open Source Technology Center Lab 4: Create you own plugin 1. Design your interface echo.say(message: string, successCallback: function, errorCallback: function) plugman create --name Echo --plugin_id cordova-plugin-echo --plugin_version 0.0.1 2. Create plugin (npm install -g plugman before) 3. Add Android platform plugman platform add --platform_name android 27
  • 28. 28Intel® Open Source Technology Center Lab 4: Create you own plugin (cont.) plugman createpackagejson . 4. Do changes, please check commit 5. Create package.json cordova add <path_of_echo_plugin> cordova run 6. Add plugin to Cordova app, build and run 7. Verify: launch inspector in Chrome, and try the echo interface > echo.say("IoT DevFest", function(msg) {console.log(msg);}); Hi IoT DevFest. I'm from Java. Tip: You need remove and re-add plugin if there is code change on plugin side.
  • 29. 29Intel® Open Source Technology Center Advanced plugin development ● Android Plugin Development Guide ○ http://cordova.apache.org/docs/en/latest/guide/platforms/android/p lugin.html ● Lifecycle in CodovaPlugin ● Event listener, refer to cordova-plugin-network-information
  • 30. 30Intel® Open Source Technology Center Debugging with Android Studio (for Java code)
  • 31. 31Intel® Open Source Technology CenterIntel® Open Source Technology Center Agenda ● Web Development for IoT ● Overview ○ Basics of Intel® Joule™ and Android Things* ○ Web Application and Cordova* ● Tranings: ○ Development environment setup ○ Step by step to create a Web App ○ Add/Develop/Debug Cordova plugin ● Resources and API readiness ● Q&A
  • 32. 32Intel® Open Source Technology Center Web Standard APIs https://www.w3schools.com https://developer.mozilla.org http://caniuse.com/ 1 2 3 DP4 WebView version: 52.0.2743.100
  • 33. 33Intel® Open Source Technology Center Cordova and Cordova plugins ● Cordova documentation: https://cordova.apache.org/docs/en/latest/ ● Android Things ready plugins: ○ https://github.com/intel-iot-devkit/android-things-cordova ● 3rd Cordova plugin search: https://cordova.apache.org/plugins/ and pick up the Android ready one. ○ Not guarantee work on Android Things, but we can try and update above status page.
  • 34. 34Intel® Open Source Technology Center Repository of this slide ● Hello World: https://github.com/halton/cordova-hello ● Vibration plugin: https://github.com/halton/cordova-plugin-vibration ● Echo plugin: https://github.com/halton/cordova-plugin-intel-echo
  • 35. Intel® Open Source Technology Center Q & A Halton Huo halton.huo@intel.com
  • 36. 36Intel® Open Source Technology Center Android* v/s Android Things* ● No system apps and content providers. ● No common intents, ContactsContract, DownloadManager, Telephony, etc. ● No APIs that require user input/authentication credentials.
  • 37. 37Intel® Open Source Technology Center
  • 38. 38Intel® Open Source Technology Center Proxy setup if behind firewall Edit $PROJECT/platforms/android/gradle.properties systemProp.htts.proxyHost=<proxy_server> systemProp.http.proxyPort=<proxy_port> systemProp.https.proxyHost=<proxy_server> systemProp.https.proxyPort=<proxy_port>