SlideShare a Scribd company logo
B2G (OSS version of FirefoxOS) Embedded Board
@FirefoxOS Study Meeting 17/03/2015 (English
version)
Naoki Sekiguchi
KDDI R&D Laboratories, Inc
Mozilla Factory MozOpenHard Project
Profile
• Naoki Sekiguchi
• KDDI R&D Laboratories, Inc
• Web Development?
Agenda
• What is MozOpenHard?
• B2G(OSS version of FirefoxOS) Embedded
Board “CHIRIMEN”
• Development of CHIRIMEN
• MWC2015 short report
What is MozOpenHard?
Current WoT
By Satoru Takagi
Our vision
By Satoru Takagi
Pervasive Browsers!
By Satoru Takagi
Web of Lanterns(Demos)
• Revolving Lantern
~ A Web browser ~
– 360 Rendering
– Physical Interface
• NyoroNyoro Lantern
~ duplicate and fork physical ~
– Real 3D Transformation
– Download the Motion
– CSS lighting
Collaboration Project
Welfare x Web
(w/ WATERDESIGN Co.,Ltd.)
Satellite x Web
(w/ FABSAT project)
Spec (2015.03. now)
B2G(OSS版FirefoxOS)2.5
Hardware:
● Rockchip RK3066 (1.6Ghz)
● 1GB DDR3 DRAM
● 8GB Nand Flash
● HDMI Micro x 1
● Micro SD Slot x 1
● USB (Micro x 2, Full x 1)
● I/O 28pin
(incl. I2C, UART, GPIO, SPI, Sound in/out etc)
Size
48mm
80mm
Interface
micro USB (OTG)
micro HDMI
micro UWB
(DEBUG)
For adb connection
AC Power
Full USB
For serial console
For WiFi adapterrecovery key
Low level I/Fs
(GPIO, I2C, SPI, …)
Derivation of “CHIRIMEN”
Web
Hardware
CHIRIMEN = Japanese fabric, crape
Weave “Web” and “Hardware (Physical world)”
to create innovative “Thing”.
Reference:
http://ja.wikipedia.org/wiki/%E3%81%A1%E3%82%8A%
E3%82%81%E3%82%93
Development of CHIRIMEN
Preparation
Currently(2015.3), only 5 CHIRIMENs have existed.
• Marsboard RK3066
– It is build from the same soc.
– A same firmwarea image can be installed.
– http://www.marsboard.com/
Alternative board
Install B2G
Procedure
• Build B2G image
• Create an update.img
• Install the image
• tools
– https://github.com/MozOpenHard/CHIRIMEN-tools
• Detail procedure is available
– https://github.com/MozOpenHard/CHIRIMEN-
tools/blob/master/doc/installFirefoxOS.pdf
Build B2G image
• Install all necessary packages for building B2G
• Copy the B2G repository ( for Matchstick)
• Copy the MozOpenHard repository
• Build B2G
$ git clone https://github.com/flingone/B2G-FlingOne.git
$ cd B2G-FlingOne
$ ./config.sh –j 4 rk30sdk
$ cd.repo
$ git clone https://github.com/MozOpenHard/local_manifests.git
$ cd ..
$ repo sync –d –j 4
$ ./build.sh –j 4
$ ./flash.sh
rockdev/Image/にboot.img, kernel.img, recovery.img,
system.img are generated in rockdev/Image/
Create an update.img
• Copy tools
• Put in the boot.img, kernel.img, recovery.img and system.img according to
the package-file.
• Execute mkupdate.sh -> update.img will be created
$ git clone git@github.com:MozOpenHard/CHIRIMEN.git
$ cd B2G-FlingOne/rockdev/Image
$ cp boot.img kernel.img recovery.img system.img CHIRIMEN/rockdev-
rk3066/Image/
$ cd CHIRIMEN/rockdev-rk3066/
$ ./mkupdate.sh
Install the image(ubuntu)
• Set the PATH to Linux_Upgrade_Tool_v1.2.1
• Connect the CHIRIMEN in loader mode.
– Turn on the power with pushing recovery key.
– # In case of Marsboard, Vol+ is recovery key.
• Install the image.
# Wait until automatically rebooting B2G
# If your board failed to reboot, you should try ti install two or three times
iteratively.
$ cd CHIRIMEN
$ PATH=${PATH}:`pwd`/Linux_Upgrade_Tool_v1.2.1
$ upgrade_tool uf update.img
Control GPIO by Web App
node
(http server)
gecko
gonk
gaia
(Web app)
WebGPIOAPI
Control GPIO via Gecko API (Future Path)
Control GPIO via node.js (Current Path)
Control GPIO by sysfs
• Check the number of GPIO pins.
– In case of CHIRIMEN, a LED on the board can be controlled from
GPIO6_B3(gpio363).
– 6*32 + 160 + 8+3 = 363
– Reference: http://www.hotmcu.com/wiki/Use_GPIO_in_marsboard_RK3066
• Control GPIO by sysfs
# echo 363 > /sys/class/gpio/export
# echo “out” > /sys/class/gpio/gpio363/direction
# echo 1 > /sys/class/gpio/gpio363/value
$ adb shell
Login to the CHIRIMEN
ledon.sh
Install node.js
• Push node.js binaries to CHIRIMEN.
– Node.js binaries
• https://www.facebook.com/groups/305208196333685/353904911464013/
• Execute a script for controlling GPIO by node.js.
– # Make a symbolic link from /bin to /system/bin so that shell script can
be executed by node.js
$ adb root
$ adb remount
$ adb push node /system/bin/node
$ adb shell
# mount –o remount, rm /
# ln –s /system/bin /bin
Sample Code
var http = require('http'),
url = require("url");
exec = require('child_process').exec;
http.createServer(function (req, res) {
var path = url.parse(req.url).pathname;
if(path.charAt(0) == "/"){
if(path.split("/")[1] == "ledon"){
console.log("ledon");
ledOn();
}
}
}).listen(8000);
console.log('Server running at port 8000');
function ledOn(){
var child = exec("/etc/www/nodeGpio/ledon.sh", function(err,
stdout, stderr) {
if (!err) {
console.log("success");
}else{
}
});
}
server.js
Execute Server Program
• Push server.js and ledon.sh to the board
• Change the permission of the shell script, and then execute the server
program.
• Send a request to the server.
→ A LED on the board will turn on.
$ adb push server.js /etc/www/nodeGpio
$ adb push ledon.sh /etc/www/nodeGpio
$ adb shell
# cd /etc/www/nodeGpio
# chmod 755 ledon.sh
# node server.js
# busybox wget http://127.0.0.1:8000/ledon
Architecture of Lantern Demo
node
(http server)
gecko
gonk
gaia
(Web app)
Arduino
Serial communication
Browser
Other terminal
HTTP
GPIO、
I2C
MWC2015
Working at Barcelona (In MOB/Fabcafe)
Firefox Banner fill the aisel
Huge fox in the Mozilla booth
Fox den (session space)
Firefox Logo
Our Lantern Device
Agenda
• What is MozOpenHard?
• B2G(OSS version of FirefoxOS) Embedded
Board “CHIRIMEN”
• Development of CHIRIMEN
• MWC2015 short report
Future plan
• Maker Faire @ all over the world!
– Tokyo, NY,…
Project Information
• MozOpenHard
– http://mozopenhard.mozillafactory.org/
• Facebook
– https://www.facebook.com/groups/30520819633
3685/?pnref=lhc
• CHIRIMEN Technical Information
– http://mozopenhard.mozillafactory.org/techinfo#
hardspec

More Related Content

What's hot

Android build on windows
Android build on windowsAndroid build on windows
Android build on windows
Addweup
 
Introduction to Express and Grunt
Introduction to Express and GruntIntroduction to Express and Grunt
Introduction to Express and Grunt
Peter deHaan
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notes
glen_a_smith
 
沒有 GUI 的 Git
沒有 GUI 的 Git沒有 GUI 的 Git
沒有 GUI 的 Git
Chia Wei Tsai
 
Github basics
Github basicsGithub basics
Github basics
Radoslav Georgiev
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
Bo-Yi Wu
 
Git and github fundamental
Git and github fundamentalGit and github fundamental
Git and github fundamental
Rajesh Kumar
 
Deploy Node.js application in Heroku using Eclipse
Deploy Node.js application in Heroku using EclipseDeploy Node.js application in Heroku using Eclipse
Deploy Node.js application in Heroku using Eclipse
Jitendra Zaa
 
Nebula: Netflix's OSS Gradle Plugins
Nebula: Netflix's OSS Gradle PluginsNebula: Netflix's OSS Gradle Plugins
Nebula: Netflix's OSS Gradle Plugins
Rob Spieldenner
 
How we scaled git lab for a 30k employee company
How we scaled git lab for a 30k employee companyHow we scaled git lab for a 30k employee company
How we scaled git lab for a 30k employee company
Minqi Pan
 
ブログ執筆を支える技術
ブログ執筆を支える技術ブログ執筆を支える技術
ブログ執筆を支える技術
kazuki morita
 
Lean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and DrushLean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and Drush
Pantheon
 
How to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container RegistryHow to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container Registry
Docker, Inc.
 
A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)
Siji Sunny
 
Git and Github workshop
Git and Github workshopGit and Github workshop
Git and Github workshop
Otto Kekäläinen
 
Dev, Staging & Production Workflow with Gitify (at MODXpo 2015 in Munich)
Dev, Staging & Production Workflow with Gitify (at MODXpo 2015 in Munich)Dev, Staging & Production Workflow with Gitify (at MODXpo 2015 in Munich)
Dev, Staging & Production Workflow with Gitify (at MODXpo 2015 in Munich)
Mark Hamstra
 
Git 101 tutorial presentation
Git 101 tutorial presentationGit 101 tutorial presentation
Git 101 tutorial presentationTerry Wang
 
Deep Dive into the AOSP
Deep Dive into the AOSPDeep Dive into the AOSP
Deep Dive into the AOSP
Dr. Ketan Parmar
 
Solving the Workflow (or, how MODX.today is being built with git and Gitify)
Solving the Workflow (or, how MODX.today is being built with git and Gitify)Solving the Workflow (or, how MODX.today is being built with git and Gitify)
Solving the Workflow (or, how MODX.today is being built with git and Gitify)
Mark Hamstra
 

What's hot (20)

Android build on windows
Android build on windowsAndroid build on windows
Android build on windows
 
Introduction to Express and Grunt
Introduction to Express and GruntIntroduction to Express and Grunt
Introduction to Express and Grunt
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notes
 
沒有 GUI 的 Git
沒有 GUI 的 Git沒有 GUI 的 Git
沒有 GUI 的 Git
 
Github basics
Github basicsGithub basics
Github basics
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
Git and github fundamental
Git and github fundamentalGit and github fundamental
Git and github fundamental
 
Deploy Node.js application in Heroku using Eclipse
Deploy Node.js application in Heroku using EclipseDeploy Node.js application in Heroku using Eclipse
Deploy Node.js application in Heroku using Eclipse
 
Nebula: Netflix's OSS Gradle Plugins
Nebula: Netflix's OSS Gradle PluginsNebula: Netflix's OSS Gradle Plugins
Nebula: Netflix's OSS Gradle Plugins
 
Grunt to automate JS build
Grunt to automate JS buildGrunt to automate JS build
Grunt to automate JS build
 
How we scaled git lab for a 30k employee company
How we scaled git lab for a 30k employee companyHow we scaled git lab for a 30k employee company
How we scaled git lab for a 30k employee company
 
ブログ執筆を支える技術
ブログ執筆を支える技術ブログ執筆を支える技術
ブログ執筆を支える技術
 
Lean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and DrushLean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and Drush
 
How to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container RegistryHow to Use Mirroring and Caching to Optimize your Container Registry
How to Use Mirroring and Caching to Optimize your Container Registry
 
A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)
 
Git and Github workshop
Git and Github workshopGit and Github workshop
Git and Github workshop
 
Dev, Staging & Production Workflow with Gitify (at MODXpo 2015 in Munich)
Dev, Staging & Production Workflow with Gitify (at MODXpo 2015 in Munich)Dev, Staging & Production Workflow with Gitify (at MODXpo 2015 in Munich)
Dev, Staging & Production Workflow with Gitify (at MODXpo 2015 in Munich)
 
Git 101 tutorial presentation
Git 101 tutorial presentationGit 101 tutorial presentation
Git 101 tutorial presentation
 
Deep Dive into the AOSP
Deep Dive into the AOSPDeep Dive into the AOSP
Deep Dive into the AOSP
 
Solving the Workflow (or, how MODX.today is being built with git and Gitify)
Solving the Workflow (or, how MODX.today is being built with git and Gitify)Solving the Workflow (or, how MODX.today is being built with git and Gitify)
Solving the Workflow (or, how MODX.today is being built with git and Gitify)
 

Viewers also liked

Nắng quái chiều hôm của các quý ông
Nắng quái chiều hôm của các quý ôngNắng quái chiều hôm của các quý ông
Nắng quái chiều hôm của các quý ôngeddie401
 
20150317 firefox os勉強会
20150317 firefox os勉強会20150317 firefox os勉強会
20150317 firefox os勉強会
Naoki Sekiguchi
 
Nguy cơ tai biến, đột quỵ vào mùa đông trời rét
Nguy cơ tai biến, đột quỵ vào mùa đông trời rétNguy cơ tai biến, đột quỵ vào mùa đông trời rét
Nguy cơ tai biến, đột quỵ vào mùa đông trời rétdonald483
 
resume-david-2016-II
resume-david-2016-IIresume-david-2016-II
resume-david-2016-IIDavid Cahyadi
 
Shestopalova satsuk
Shestopalova satsukShestopalova satsuk
Shestopalova satsuk
shtanya
 
coms203_michaeldennis_ip5
coms203_michaeldennis_ip5coms203_michaeldennis_ip5
coms203_michaeldennis_ip5Michael Dennis
 
Chirimen概要紹介
Chirimen概要紹介Chirimen概要紹介
Chirimen概要紹介
Naoki Sekiguchi
 

Viewers also liked (7)

Nắng quái chiều hôm của các quý ông
Nắng quái chiều hôm của các quý ôngNắng quái chiều hôm của các quý ông
Nắng quái chiều hôm của các quý ông
 
20150317 firefox os勉強会
20150317 firefox os勉強会20150317 firefox os勉強会
20150317 firefox os勉強会
 
Nguy cơ tai biến, đột quỵ vào mùa đông trời rét
Nguy cơ tai biến, đột quỵ vào mùa đông trời rétNguy cơ tai biến, đột quỵ vào mùa đông trời rét
Nguy cơ tai biến, đột quỵ vào mùa đông trời rét
 
resume-david-2016-II
resume-david-2016-IIresume-david-2016-II
resume-david-2016-II
 
Shestopalova satsuk
Shestopalova satsukShestopalova satsuk
Shestopalova satsuk
 
coms203_michaeldennis_ip5
coms203_michaeldennis_ip5coms203_michaeldennis_ip5
coms203_michaeldennis_ip5
 
Chirimen概要紹介
Chirimen概要紹介Chirimen概要紹介
Chirimen概要紹介
 

Similar to 20150317 firefox os_studymtg_engver

OpenShift State of the Union, brought to you by JBoss
OpenShift State of the Union, brought to you by JBossOpenShift State of the Union, brought to you by JBoss
OpenShift State of the Union, brought to you by JBoss
Eric D. Schabell
 
Scaling Development Environments with Docker
Scaling Development Environments with DockerScaling Development Environments with Docker
Scaling Development Environments with Docker
Docker, Inc.
 
Building Dojo in the Cloud
Building Dojo in the CloudBuilding Dojo in the Cloud
Building Dojo in the Cloud
James Thomas
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
biicode
 
Cape Cod Web Technology Meetup - 3
Cape Cod Web Technology Meetup - 3Cape Cod Web Technology Meetup - 3
Cape Cod Web Technology Meetup - 3
Asher Martin
 
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
Leo Lorieri
 
Untangling fall2017 week2_try2
Untangling fall2017 week2_try2Untangling fall2017 week2_try2
Untangling fall2017 week2_try2
Derek Jacoby
 
Untangling fall2017 week2
Untangling fall2017 week2Untangling fall2017 week2
Untangling fall2017 week2
Derek Jacoby
 
Building Embedded Linux UDOONEO
Building Embedded Linux UDOONEOBuilding Embedded Linux UDOONEO
Building Embedded Linux UDOONEO
NEEVEE Technologies
 
habitat at docker bud
habitat at docker budhabitat at docker bud
habitat at docker bud
Mandi Walls
 
Cloud native - CI/CD
Cloud native - CI/CDCloud native - CI/CD
Cloud native - CI/CD
Elad Hirsch
 
Django dev-env-my-way
Django dev-env-my-wayDjango dev-env-my-way
Django dev-env-my-way
Robert Lujo
 
NLUUG Spring 2012 - OpenShift Primer
NLUUG Spring 2012 - OpenShift PrimerNLUUG Spring 2012 - OpenShift Primer
NLUUG Spring 2012 - OpenShift Primer
Eric D. Schabell
 
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
MarcinStachniuk
 
MongoDB on CloudFoundry
MongoDB on CloudFoundryMongoDB on CloudFoundry
MongoDB on CloudFoundry
Yohei Sasaki
 
MongoDB on CloudFoundry
MongoDB on CloudFoundryMongoDB on CloudFoundry
MongoDB on CloudFoundry
Yohei Sasaki
 
ITCamp 2013 - Alessandro Pilotti - Git crash course for Visual Studio devs
ITCamp 2013 - Alessandro Pilotti - Git crash course for Visual Studio devsITCamp 2013 - Alessandro Pilotti - Git crash course for Visual Studio devs
ITCamp 2013 - Alessandro Pilotti - Git crash course for Visual Studio devsITCamp
 
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison DowdneySetting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Weaveworks
 
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
Cisco DevNet
 
Deployment Tactics
Deployment TacticsDeployment Tactics
Deployment Tactics
Ian Barber
 

Similar to 20150317 firefox os_studymtg_engver (20)

OpenShift State of the Union, brought to you by JBoss
OpenShift State of the Union, brought to you by JBossOpenShift State of the Union, brought to you by JBoss
OpenShift State of the Union, brought to you by JBoss
 
Scaling Development Environments with Docker
Scaling Development Environments with DockerScaling Development Environments with Docker
Scaling Development Environments with Docker
 
Building Dojo in the Cloud
Building Dojo in the CloudBuilding Dojo in the Cloud
Building Dojo in the Cloud
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
 
Cape Cod Web Technology Meetup - 3
Cape Cod Web Technology Meetup - 3Cape Cod Web Technology Meetup - 3
Cape Cod Web Technology Meetup - 3
 
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
 
Untangling fall2017 week2_try2
Untangling fall2017 week2_try2Untangling fall2017 week2_try2
Untangling fall2017 week2_try2
 
Untangling fall2017 week2
Untangling fall2017 week2Untangling fall2017 week2
Untangling fall2017 week2
 
Building Embedded Linux UDOONEO
Building Embedded Linux UDOONEOBuilding Embedded Linux UDOONEO
Building Embedded Linux UDOONEO
 
habitat at docker bud
habitat at docker budhabitat at docker bud
habitat at docker bud
 
Cloud native - CI/CD
Cloud native - CI/CDCloud native - CI/CD
Cloud native - CI/CD
 
Django dev-env-my-way
Django dev-env-my-wayDjango dev-env-my-way
Django dev-env-my-way
 
NLUUG Spring 2012 - OpenShift Primer
NLUUG Spring 2012 - OpenShift PrimerNLUUG Spring 2012 - OpenShift Primer
NLUUG Spring 2012 - OpenShift Primer
 
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
 
MongoDB on CloudFoundry
MongoDB on CloudFoundryMongoDB on CloudFoundry
MongoDB on CloudFoundry
 
MongoDB on CloudFoundry
MongoDB on CloudFoundryMongoDB on CloudFoundry
MongoDB on CloudFoundry
 
ITCamp 2013 - Alessandro Pilotti - Git crash course for Visual Studio devs
ITCamp 2013 - Alessandro Pilotti - Git crash course for Visual Studio devsITCamp 2013 - Alessandro Pilotti - Git crash course for Visual Studio devs
ITCamp 2013 - Alessandro Pilotti - Git crash course for Visual Studio devs
 
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison DowdneySetting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
 
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
 
Deployment Tactics
Deployment TacticsDeployment Tactics
Deployment Tactics
 

Recently uploaded

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 

Recently uploaded (20)

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 

20150317 firefox os_studymtg_engver

  • 1. B2G (OSS version of FirefoxOS) Embedded Board @FirefoxOS Study Meeting 17/03/2015 (English version) Naoki Sekiguchi KDDI R&D Laboratories, Inc Mozilla Factory MozOpenHard Project
  • 2. Profile • Naoki Sekiguchi • KDDI R&D Laboratories, Inc • Web Development?
  • 3. Agenda • What is MozOpenHard? • B2G(OSS version of FirefoxOS) Embedded Board “CHIRIMEN” • Development of CHIRIMEN • MWC2015 short report
  • 8. Web of Lanterns(Demos) • Revolving Lantern ~ A Web browser ~ – 360 Rendering – Physical Interface • NyoroNyoro Lantern ~ duplicate and fork physical ~ – Real 3D Transformation – Download the Motion – CSS lighting
  • 9. Collaboration Project Welfare x Web (w/ WATERDESIGN Co.,Ltd.) Satellite x Web (w/ FABSAT project)
  • 10.
  • 11. Spec (2015.03. now) B2G(OSS版FirefoxOS)2.5 Hardware: ● Rockchip RK3066 (1.6Ghz) ● 1GB DDR3 DRAM ● 8GB Nand Flash ● HDMI Micro x 1 ● Micro SD Slot x 1 ● USB (Micro x 2, Full x 1) ● I/O 28pin (incl. I2C, UART, GPIO, SPI, Sound in/out etc)
  • 13. Interface micro USB (OTG) micro HDMI micro UWB (DEBUG) For adb connection AC Power Full USB For serial console For WiFi adapterrecovery key Low level I/Fs (GPIO, I2C, SPI, …)
  • 14. Derivation of “CHIRIMEN” Web Hardware CHIRIMEN = Japanese fabric, crape Weave “Web” and “Hardware (Physical world)” to create innovative “Thing”. Reference: http://ja.wikipedia.org/wiki/%E3%81%A1%E3%82%8A% E3%82%81%E3%82%93
  • 16. Preparation Currently(2015.3), only 5 CHIRIMENs have existed. • Marsboard RK3066 – It is build from the same soc. – A same firmwarea image can be installed. – http://www.marsboard.com/ Alternative board
  • 17. Install B2G Procedure • Build B2G image • Create an update.img • Install the image • tools – https://github.com/MozOpenHard/CHIRIMEN-tools • Detail procedure is available – https://github.com/MozOpenHard/CHIRIMEN- tools/blob/master/doc/installFirefoxOS.pdf
  • 18. Build B2G image • Install all necessary packages for building B2G • Copy the B2G repository ( for Matchstick) • Copy the MozOpenHard repository • Build B2G $ git clone https://github.com/flingone/B2G-FlingOne.git $ cd B2G-FlingOne $ ./config.sh –j 4 rk30sdk $ cd.repo $ git clone https://github.com/MozOpenHard/local_manifests.git $ cd .. $ repo sync –d –j 4 $ ./build.sh –j 4 $ ./flash.sh rockdev/Image/にboot.img, kernel.img, recovery.img, system.img are generated in rockdev/Image/
  • 19. Create an update.img • Copy tools • Put in the boot.img, kernel.img, recovery.img and system.img according to the package-file. • Execute mkupdate.sh -> update.img will be created $ git clone git@github.com:MozOpenHard/CHIRIMEN.git $ cd B2G-FlingOne/rockdev/Image $ cp boot.img kernel.img recovery.img system.img CHIRIMEN/rockdev- rk3066/Image/ $ cd CHIRIMEN/rockdev-rk3066/ $ ./mkupdate.sh
  • 20. Install the image(ubuntu) • Set the PATH to Linux_Upgrade_Tool_v1.2.1 • Connect the CHIRIMEN in loader mode. – Turn on the power with pushing recovery key. – # In case of Marsboard, Vol+ is recovery key. • Install the image. # Wait until automatically rebooting B2G # If your board failed to reboot, you should try ti install two or three times iteratively. $ cd CHIRIMEN $ PATH=${PATH}:`pwd`/Linux_Upgrade_Tool_v1.2.1 $ upgrade_tool uf update.img
  • 21. Control GPIO by Web App node (http server) gecko gonk gaia (Web app) WebGPIOAPI Control GPIO via Gecko API (Future Path) Control GPIO via node.js (Current Path)
  • 22. Control GPIO by sysfs • Check the number of GPIO pins. – In case of CHIRIMEN, a LED on the board can be controlled from GPIO6_B3(gpio363). – 6*32 + 160 + 8+3 = 363 – Reference: http://www.hotmcu.com/wiki/Use_GPIO_in_marsboard_RK3066 • Control GPIO by sysfs # echo 363 > /sys/class/gpio/export # echo “out” > /sys/class/gpio/gpio363/direction # echo 1 > /sys/class/gpio/gpio363/value $ adb shell Login to the CHIRIMEN ledon.sh
  • 23. Install node.js • Push node.js binaries to CHIRIMEN. – Node.js binaries • https://www.facebook.com/groups/305208196333685/353904911464013/ • Execute a script for controlling GPIO by node.js. – # Make a symbolic link from /bin to /system/bin so that shell script can be executed by node.js $ adb root $ adb remount $ adb push node /system/bin/node $ adb shell # mount –o remount, rm / # ln –s /system/bin /bin
  • 24. Sample Code var http = require('http'), url = require("url"); exec = require('child_process').exec; http.createServer(function (req, res) { var path = url.parse(req.url).pathname; if(path.charAt(0) == "/"){ if(path.split("/")[1] == "ledon"){ console.log("ledon"); ledOn(); } } }).listen(8000); console.log('Server running at port 8000'); function ledOn(){ var child = exec("/etc/www/nodeGpio/ledon.sh", function(err, stdout, stderr) { if (!err) { console.log("success"); }else{ } }); } server.js
  • 25. Execute Server Program • Push server.js and ledon.sh to the board • Change the permission of the shell script, and then execute the server program. • Send a request to the server. → A LED on the board will turn on. $ adb push server.js /etc/www/nodeGpio $ adb push ledon.sh /etc/www/nodeGpio $ adb shell # cd /etc/www/nodeGpio # chmod 755 ledon.sh # node server.js # busybox wget http://127.0.0.1:8000/ledon
  • 26. Architecture of Lantern Demo node (http server) gecko gonk gaia (Web app) Arduino Serial communication Browser Other terminal HTTP GPIO、 I2C
  • 28. Working at Barcelona (In MOB/Fabcafe)
  • 29. Firefox Banner fill the aisel
  • 30. Huge fox in the Mozilla booth
  • 31. Fox den (session space) Firefox Logo Our Lantern Device
  • 32. Agenda • What is MozOpenHard? • B2G(OSS version of FirefoxOS) Embedded Board “CHIRIMEN” • Development of CHIRIMEN • MWC2015 short report
  • 33. Future plan • Maker Faire @ all over the world! – Tokyo, NY,…
  • 34. Project Information • MozOpenHard – http://mozopenhard.mozillafactory.org/ • Facebook – https://www.facebook.com/groups/30520819633 3685/?pnref=lhc • CHIRIMEN Technical Information – http://mozopenhard.mozillafactory.org/techinfo# hardspec

Editor's Notes

  1. 今回私達は2つのlanternデバイスを作りました。revolving LanternとNyoroNyoro Lanternです。 まず、こちらのRevlvingLanternですが、 日本の”回り灯籠”をモチーフにしたWebDeviceで、そのインターフェースに2つの特徴を備えています。 まず、ご覧のとおりに、360度全方向にWebコンテンツを表示することができる円筒状のディスプレイを備えています。 また、このランプシェード部分は物理的なインターフェースになっていて、ランプシェードを動かすという物理的な操作がWebコンテンツ にも影響を与え、表示内容が変化します。 このコンテンツやデバイスの制御は全てWeb twist lantern こちらはnyoronyoroランタンです。 にょろにょろというのはへびのような動きを表す日本語で、そのとおりにょろにょろとリアルな変形を行うことができます。 この動きはWebコンテンツとしてダウンロードすることも考えられ、別のランタンとシンクロさせることもできます。 このボードを使うと、こういったデバイスの制御をWebブラウザから行うことができます。 そのため、ランプシェードの動きをイベントとして検出したり、CSSでランタンの動きを制御できるようになっていくでしょう ---- We created two types of “andon” devices using this board. First, Revolving lantern. Second, Twist lantern.   This Revolving lantern has two special features. The first feature is rendering web contents in 360 degrees orientations. Moreover, the second feature is physical user interface to control the web contents with rotating operation. We prepare the puzzle game for the device.   On the other hand, the Twist lantern has a feature to control the form with real 3D transformation. The transformation motion is given as a web content. Moreover, if the same motion are given to the multiple lantern, their motions are synchronized each other.   Please enjoy the new web experience in our exhibition booth. --------------------- We built two “tourou” type browsers using this board. First one is the revolving lantern. It is able to render web contents in 360 degrees directions. It is also able to control by physically moving the display from side to side. We prepare the famous puzzle game, please enjoy it. Second one is the twist lantern. Twist lantern allows the objects to be transformed in “real” 3-dimensional space. It is able to download the transform motion as a web content, and then synchronize their motion between devices. Please enjoy the new web experience in the exhibition booth. ---------------------------- 我々はこのボードを使って“灯籠”型のブラウザを作りました。 revolving lanternはWebコンテンツを360度全方位に投影することができます。 また、この画面は物理的に回転し、画面を左右に動かすことでinteractionができます。 展示ブースでは日本風にアレンジした有名なパズルゲームを用意していますので、 playしてみてください。 Twist lantern allows elements to be transformed in “real” 3-dimensional space. また、transfrom motionをWeb コンテンツとしてダウンロードし、デバイス間での連携を行うことができます。 これらのブラウザで新しいweb体験を味わってください。 -------------------- このブラウザ面白いでしょって感じてもらう 今回私達はこのボードを使ってランタンを作った。 3つの特徴を持っている。 Hardware control by browser-based technology WebアプリからGPIOを制御してランタンの動かし方やセンシングを行っている Service discovery and control from other device これらは手元のスマートフォンにより簡単に発見してコントールすることができる Collaboration with other devices and services 他のデバイスとwebを介して連携したり、すでに広まっているwebコンテンツを表示することも簡単。 ブースでは有名なパズルゲーム(テトリス)や 新しいWebの体験を味わってください。
  2. Now then, Why we call the board CHIRIMEN? (Let me explain the derivation of CHIRIMEN.) In fact, CHIRIMEN is japanese fabric name. crape in English. As you know, Fabrics are made by weaving two different strings, so We infuse the mean that the board weave web and hardware to create innovative “thing”. I expect that a series of fabric name board are produced all over the world by forking this project.