SlideShare a Scribd company logo
1 of 36
Construíndo robots com Java Embedded
 Suite, REST, Raspberry PI and Arduino

              Vinicius Senger
            Globalcode Founder




                                 Globalcode – Open4education
Agenda
•    Quem somos
•    Embedded Background e Projetos
•    Introdução ao Projeto
•    Detalhes de Arquitetura do Robot
•    Raspberry PI + Arduino
•    Java Embedded Suite + REST Interface
•    Things-API.org
•    Demos

    @vsenger
    @yarasenger
                                       Globalcode – Open4education
Quem somos…
 Vinicius Senger – vinicius@globalcode.com.br
 Trabalhando com Java há mais de 10 anos
 Fundador da Globalcode
 Ajudando a comunidade Java do Brasil
 soujava.org.br
 Rede de escolas de programação em 12 diferentes
 cidades no Brasil;


@vsenger
@yarasenger
                                    Globalcode – Open4education
Globalcode
 Empresa de Treinamentos
     Muitos treinamentos Java
     Agile training, Mobile, Arduino and Robotics training
 Long-term training for individuals and companies
 Oracle Workforce Development Program
 OTN Silver Partner
 Mais de 3500 alunos por ano



@vsenger
@yarasenger
                                                Globalcode – Open4education
Elétron Livre
  Open-source hardware development
  Treinamentos, workshop e conferências de
  Embedded
  Ferramentas e métodos de ensino para escolas
  www.eletronlivre.com.br




 @vsenger
 @yarasenger
                                     Globalcode – Open4education
Open4Education
 Compartilhando conhecimento gratuito desde 2001
 Ofercemos mais de 100 treinamentos gratuitos
 Mais de 45.000 alunos
 Auditório próprio
 Cursos via web ou presencial




@vsenger
@yarasenger
                                    Globalcode – Open4education
The Developers Conference
            TDC 2 0 12 S ão Paulo
                         QUARTA - 04/07          QUINTA - 05/07    SEXTA - 06/07         SÁBADO - 07/07    DOMINGO - 08/07

                                                                       B AN C O
 SALA 1                      J AVA                    J AVA EE                               J AVA             C L OUD C OMP UTIN G
                                                                       DE DADOS
            UNIVERSITY




 SALA 2                      .N ET                    TE S TE S         WEB                  .N E T            MOBIL E

 SALA 3                                               W IN DOW S                                               R OB ÓTIC A E
                             AN DROID                                   AR DUIN O            P HP
                                                      P HON E                                                  DOMÓTIC A
 SALA 4
                             AR QUITETUR A            ALM               J AVA EE             S CAL A           GAMES

 SALA 5                                                                 WIN DOWS
                             IOS                      AN DR OID                              C/ C+ +           EMP R EEN DEDOR IS MO
                                                                        P HON E
 SALA 6
                             AN ÁLIS E 2 .0           N OS QL          TES TE S              P Y THON          AGIL E
 SALA 7                                                                MAR K ETIN G
                             MAN AGEMEN T 3 .0        S OA                                   R UBY             FR ONT-EN D
                                                                       DIGITAL
 SALA 8                      L ADO B                  L ADO B          DADOS AB ER TOS       L ADO B           TV DIGITAL

AUDITÓRIO                    S TADIUM                 S TADIUM         S TADIUM              S TADIUM          S TADIUM




   @vsenger
   @yarasenger
                                                                                                          Globalcode – Open4education
Embedded Roadmap
• 200x: Java ME (phone) / Sun Spot development
• 2009: started to produce educational boards based
  on Arduino / ATMega
• 2010: low cost and open source robotics and home
  automation
• 2011: jHome Automation
• 2012: Things-API.org



 @vsenger
 @yarasenger
                                       Globalcode – Open4education
Neutrons Difractometer




@vsenger
@yarasenger
                         Globalcode – Open4education
Horse Instrumentation




@vsenger
@yarasenger
                        Globalcode – Open4education
Sail Boat Automation




@vsenger
@yarasenger
                       Globalcode – Open4education
Student Satellite




 @vsenger
 @yarasenger
                    Globalcode – Open4education
Low-cost D.I.Y. boards for kids




@vsenger
@yarasenger
                                  Globalcode – Open4education
• Home Automation Platform based on Java EE and
  do it yourself hardware / gadgets
• Allows you to integrate your house with social
  networks like Twitter
• Different usage of Java EE and Glassfish
• Java Enterprise Edition Embedded comes a reality
  with Java Enterprise Suite!




 @vsenger
 @yarasenger
                                      Globalcode – Open4education
Things-API.org
 Home Automation project evolution with more
 abstract approach: Things Automation !?!
 Internet of Things API / Things Automation API:
     Provides a simple, uniform and easy to use API to read
     sensors and control things;
     Java SE, Java EE, Java ME, JavaFX = SAME API!
     Things-API is the "JDBC" for Internet of Things
     Communication Independent: IP, Serial, Bluetooth,
     ZigBee, I2C, USB, etc.
     things.execute("/dev/ttyUSB0", "sensor1");
@vsenger
@yarasenger
                                             Globalcode – Open4education
About this project…
 Part of research road-map for embedded, IoT,
 home automation and robotics
 Java Embedded Suite Experimentation
 Home Automation Project Evolution
 Internet of Things PoC
 Cool demonstration platform
 Just started in last December, +- 80 working hours
 Prototype for a walking machine robot

@vsenger
@yarasenger
                                       Globalcode – Open4education
Video blog "We are Crazy!"
• Funny video documenting the construction process
• For teenagers / young developers
• Motivational + fun + valuable information




                 Play Sample Video
@vsenger
@yarasenger
                                      Globalcode – Open4education
Robots & Internet of Things
 Robot = sensor, actuator and processing
 IoT = sensor, actuator, processing + …
      communication
      integration
      interoperation
      security
      massive update (even changing firmwares and
      drivers)

@vsenger
@yarasenger
                                     Globalcode – Open4education
The Robot….




@vsenger
@yarasenger
              Globalcode – Open4education
Overview




@vsenger
@yarasenger
              Globalcode – Open4education
This Robot
 Based in reusable layers:
  1. Robot base / mechanics and dedicated controller board
  2. Intelligence, security and integration layear
  3. Accessory layers:
         Rotational Sensors
         Arms
         Cameras




@vsenger
@yarasenger
                                            Globalcode – Open4education
Hardware List
•    Raspberry PI
•    Arduino based board with AVR ATMega328
•    L293D as h-bridge
•    2 DC motors 12volts / 1 servo medium size
•    2 LIPO Batteries 1.5amp 11.1 volts
•    1 wifi router
•    1 UBEC for Raspberry power supply
•    2 Parallax distance sensor
•    1 LDR and 1 LM35
    @vsenger
    @yarasenger
                                         Globalcode – Open4education
Software List
 Debian Default Raspberry PI
 Java Embedded Suite x
 Things-API.org
     Things Embedded Gateway
     Things4Arduino Serial Driver




@vsenger
@yarasenger
                                    Globalcode – Open4education
Layer 1: Arduino + h-bridge + sensors
 Using our own Program-ME board with Atmega328
 + L293D + LDR + LM35 + 4 transistors




@vsenger
@yarasenger
                                   Globalcode – Open4education
Layer 2: Raspberry PI + Router
• LiPo Battery + UBEC (5 volts regulator – 3 amps)




 @vsenger
 @yarasenger
                                       Globalcode – Open4education
Layer 3: rotational sensors
• Servo + 2 Parallax Distance Sensor




 @vsenger
 @yarasenger
                                       Globalcode – Open4education
Raspberry PI vs Arduino
• Arduino is the baby steps to embedded and limited
  microcontroller programming;
• Raspberry PI is the baby step for ARM
  microcontroller programming;
• Arduinos (or Atmegas) are very useful as a
  dedicated actuator / sensor control / driver;
• Raspberry PI will provide powerful processing,
  security, integration, full TCP/IP and so on..
• Prototyping platform + TCP/IP = EXPENSIVE!
 @vsenger
 @yarasenger
                                       Globalcode – Open4education
Raspberry PI + Arduino: how?
 Serial RXTX
     Easy and simple
     Sync issues
     Limited speedy
 I2C: our next step using Device Access API
 SPI: for faster communication




@vsenger
@yarasenger
                                      Globalcode – Open4education
Things-API.org
 The project Things-API.org




@vsenger
@yarasenger
                              Globalcode – Open4education
Things-API.org
 Things-API
     Simple abstraction:
         Device: the thing
         Component: some part of the thing
     Component = Input / Output:
         Input = Sensor : light, temperature, accelerometer, gyro, etc..;
         Output = Actuator : motor, led, relay, buzzer;
     Sensors = read
     Actuator = write


@vsenger
@yarasenger
                                                         Globalcode – Open4education
Things Gateway: Server of Things
 Proxy for Things that doesn't have TCP/IP:
     USB / Serial
     ZigBee
     Infrared
     Bluetooth




@vsenger
@yarasenger
                                       Globalcode – Open4education
Things-API.org
 Things-API for Java SE, EE and ME
 Things-Gateway Java EE
 Things-Gateway Embedded Suite
 Things-Driver
 Things-Automation
 jHome Automation: reference implementation




@vsenger
@yarasenger
                                    Globalcode – Open4education
Gateway Things
                                               Things
                                               Gateway

                                               Servidor Java EE




               Ethernet              ZigBee                  Bluetooth

   Thing #1               Thing #2              Thing #3
   Luzes / Portão Casa    Sensor Temperatura    Robot aspirador pó

@vsenger
@yarasenger
                                                 Globalcode – Open4education
Things-API.org
 DEMO & CODE




@vsenger
@yarasenger
                 Globalcode – Open4education
Things-API.org
Links and References
  www.things-api.org
  www.globalcode.com.br
  jhome.globalcode.com.br
  www.eletronlivre.com.br
  blog.eletronlivre.com.br



 @vsenger
 @yarasenger
                             Globalcode – Open4education
Thanks!
    Q&A

    vinicius@globalcode.com.br - @vsenger
    yara@globalcode.com.br - @yarasenger




@vsenger
@yarasenger
                                     Globalcode – Open4education

More Related Content

What's hot

Arduino as an embedded industrial controller
Arduino as an embedded industrial controllerArduino as an embedded industrial controller
Arduino as an embedded industrial controller
Jose Luis Poza Luján
 
Arduino and Internet of Thinks: ShareIT TM: march 2010, TM
Arduino and Internet of Thinks: ShareIT TM: march 2010, TMArduino and Internet of Thinks: ShareIT TM: march 2010, TM
Arduino and Internet of Thinks: ShareIT TM: march 2010, TM
Alexandru IOVANOVICI
 

What's hot (20)

The Rise of Maker Movement in Indonesia
The Rise of Maker Movement in IndonesiaThe Rise of Maker Movement in Indonesia
The Rise of Maker Movement in Indonesia
 
Internet of Things - Technological Perspective
Internet of Things - Technological PerspectiveInternet of Things - Technological Perspective
Internet of Things - Technological Perspective
 
Connecting outsideworld with Android and Arduino
Connecting outsideworld with Android and ArduinoConnecting outsideworld with Android and Arduino
Connecting outsideworld with Android and Arduino
 
Raspbeery PI IoT
Raspbeery PI IoTRaspbeery PI IoT
Raspbeery PI IoT
 
Mobile + Cloud + IoT = Future
Mobile + Cloud + IoT = FutureMobile + Cloud + IoT = Future
Mobile + Cloud + IoT = Future
 
ARDUIO BASIC TUTORIAL
ARDUIO BASIC TUTORIALARDUIO BASIC TUTORIAL
ARDUIO BASIC TUTORIAL
 
Arduino as an embedded industrial controller
Arduino as an embedded industrial controllerArduino as an embedded industrial controller
Arduino as an embedded industrial controller
 
Home Automation Using RPI
Home Automation Using  RPIHome Automation Using  RPI
Home Automation Using RPI
 
Workshop: Arduino for makers - Strumenti SW per la prototipazione elettronica...
Workshop: Arduino for makers - Strumenti SW per la prototipazione elettronica...Workshop: Arduino for makers - Strumenti SW per la prototipazione elettronica...
Workshop: Arduino for makers - Strumenti SW per la prototipazione elettronica...
 
Arduino and Internet of Thinks: ShareIT TM: march 2010, TM
Arduino and Internet of Thinks: ShareIT TM: march 2010, TMArduino and Internet of Thinks: ShareIT TM: march 2010, TM
Arduino and Internet of Thinks: ShareIT TM: march 2010, TM
 
Road to RIoT 2017 Medan
Road to RIoT 2017 MedanRoad to RIoT 2017 Medan
Road to RIoT 2017 Medan
 
Hands-on Labs: Raspberry Pi 2 + Windows 10 IoT Core
Hands-on Labs: Raspberry Pi 2 + Windows 10 IoT CoreHands-on Labs: Raspberry Pi 2 + Windows 10 IoT Core
Hands-on Labs: Raspberry Pi 2 + Windows 10 IoT Core
 
Scaling IoT: Telemetry, Command & Control, Analytics and the Cloud
Scaling IoT: Telemetry, Command & Control, Analytics and the CloudScaling IoT: Telemetry, Command & Control, Analytics and the Cloud
Scaling IoT: Telemetry, Command & Control, Analytics and the Cloud
 
java-ring
 java-ring java-ring
java-ring
 
Smartphone++
Smartphone++Smartphone++
Smartphone++
 
Ruby Arduino (RubyConfIndia 2013)
Ruby Arduino (RubyConfIndia 2013)Ruby Arduino (RubyConfIndia 2013)
Ruby Arduino (RubyConfIndia 2013)
 
Bandung IoT Maker Day #3 - Maker Movement
Bandung IoT Maker Day #3 - Maker MovementBandung IoT Maker Day #3 - Maker Movement
Bandung IoT Maker Day #3 - Maker Movement
 
Arduino day
Arduino dayArduino day
Arduino day
 
Raspberry Pi 2 + Windows 10 IoT Core + Node.js
Raspberry Pi 2 + Windows 10 IoT Core + Node.jsRaspberry Pi 2 + Windows 10 IoT Core + Node.js
Raspberry Pi 2 + Windows 10 IoT Core + Node.js
 
Elektor 0304-2020
Elektor 0304-2020Elektor 0304-2020
Elektor 0304-2020
 

Similar to Contruindo Robots com Java Embedded Suite, Raspberry PI, Arduino e Things API

Eclipse IoT Edje project: the software foundation for IoT devices
Eclipse IoT Edje project: the software foundation for IoT devicesEclipse IoT Edje project: the software foundation for IoT devices
Eclipse IoT Edje project: the software foundation for IoT devices
MicroEJ
 
Building Connected IoT Gadgets with Particle.io & Azure
Building Connected IoT Gadgets with Particle.io & AzureBuilding Connected IoT Gadgets with Particle.io & Azure
Building Connected IoT Gadgets with Particle.io & Azure
Nick Landry
 
Open IoT Made Easy - Introduction to OGC SensorThings API
Open IoT Made Easy - Introduction to OGC SensorThings APIOpen IoT Made Easy - Introduction to OGC SensorThings API
Open IoT Made Easy - Introduction to OGC SensorThings API
SensorUp
 

Similar to Contruindo Robots com Java Embedded Suite, Raspberry PI, Arduino e Things API (20)

Hacking with the Raspberry Pi and Windows 10 IoT Core
Hacking with the Raspberry Pi and Windows 10 IoT CoreHacking with the Raspberry Pi and Windows 10 IoT Core
Hacking with the Raspberry Pi and Windows 10 IoT Core
 
Sunspot
SunspotSunspot
Sunspot
 
Sunspot
SunspotSunspot
Sunspot
 
Eating Fruit - Combining Robots & Apps
Eating Fruit - Combining Robots & AppsEating Fruit - Combining Robots & Apps
Eating Fruit - Combining Robots & Apps
 
Eclipse IoT Edje project: the software foundation for IoT devices
Eclipse IoT Edje project: the software foundation for IoT devicesEclipse IoT Edje project: the software foundation for IoT devices
Eclipse IoT Edje project: the software foundation for IoT devices
 
Meeting-Room-Alert-System
Meeting-Room-Alert-SystemMeeting-Room-Alert-System
Meeting-Room-Alert-System
 
I Love APIs 2015: IOT Lab
I Love APIs 2015: IOT LabI Love APIs 2015: IOT Lab
I Love APIs 2015: IOT Lab
 
Building a Thought Controlled Drone
Building a Thought Controlled DroneBuilding a Thought Controlled Drone
Building a Thought Controlled Drone
 
Getting Started with Raspberry Pi and Arduino
Getting Started with Raspberry Pi and ArduinoGetting Started with Raspberry Pi and Arduino
Getting Started with Raspberry Pi and Arduino
 
Web of Things Book Launch
Web of Things Book LaunchWeb of Things Book Launch
Web of Things Book Launch
 
Talk at the Landelijk Architecure Congress (NL)
Talk at the Landelijk Architecure Congress (NL)Talk at the Landelijk Architecure Congress (NL)
Talk at the Landelijk Architecure Congress (NL)
 
Elements of Connected Products
Elements of Connected ProductsElements of Connected Products
Elements of Connected Products
 
Internet of Things Conference - Bogor city
Internet of Things Conference - Bogor cityInternet of Things Conference - Bogor city
Internet of Things Conference - Bogor city
 
#startathon2.0 - Arduino
#startathon2.0 - Arduino#startathon2.0 - Arduino
#startathon2.0 - Arduino
 
NUS-ISS Learning Day 2019-Building IoT solutions with the Pi
NUS-ISS Learning Day 2019-Building IoT solutions with the PiNUS-ISS Learning Day 2019-Building IoT solutions with the Pi
NUS-ISS Learning Day 2019-Building IoT solutions with the Pi
 
Building Connected IoT Gadgets with Particle.io & Azure
Building Connected IoT Gadgets with Particle.io & AzureBuilding Connected IoT Gadgets with Particle.io & Azure
Building Connected IoT Gadgets with Particle.io & Azure
 
Poster IOTROBOT vatsalnshah_ec_indusuniversity
Poster IOTROBOT vatsalnshah_ec_indusuniversityPoster IOTROBOT vatsalnshah_ec_indusuniversity
Poster IOTROBOT vatsalnshah_ec_indusuniversity
 
Internet of Things & Open Hardware (LeanCamp Madrid 2012)
Internet of Things & Open Hardware (LeanCamp Madrid 2012)Internet of Things & Open Hardware (LeanCamp Madrid 2012)
Internet of Things & Open Hardware (LeanCamp Madrid 2012)
 
ARTIFICIAL INTELLIGENCE DESKTOP VOICE ASSISTANT IN PYTHON
ARTIFICIAL INTELLIGENCE DESKTOP VOICE ASSISTANT IN PYTHONARTIFICIAL INTELLIGENCE DESKTOP VOICE ASSISTANT IN PYTHON
ARTIFICIAL INTELLIGENCE DESKTOP VOICE ASSISTANT IN PYTHON
 
Open IoT Made Easy - Introduction to OGC SensorThings API
Open IoT Made Easy - Introduction to OGC SensorThings APIOpen IoT Made Easy - Introduction to OGC SensorThings API
Open IoT Made Easy - Introduction to OGC SensorThings API
 

More from Globalcode

More from Globalcode (15)

Use scratch para aprender a programar se divertindo
Use scratch para aprender a programar se divertindoUse scratch para aprender a programar se divertindo
Use scratch para aprender a programar se divertindo
 
Campus Party 2014 - Internet das Coisas com coisas reais
Campus Party 2014 - Internet das Coisas com coisas reaisCampus Party 2014 - Internet das Coisas com coisas reais
Campus Party 2014 - Internet das Coisas com coisas reais
 
Java, Internet das Coisas, Things API e Arquiteturas de Inovação
Java, Internet das Coisas, Things API e Arquiteturas de InovaçãoJava, Internet das Coisas, Things API e Arquiteturas de Inovação
Java, Internet das Coisas, Things API e Arquiteturas de Inovação
 
Internet das Coisas com Coisas Reais: Java , Things API, Raspberry PI e Toys!
Internet das Coisas com Coisas Reais:  Java , Things API, Raspberry PI e Toys!Internet das Coisas com Coisas Reais:  Java , Things API, Raspberry PI e Toys!
Internet das Coisas com Coisas Reais: Java , Things API, Raspberry PI e Toys!
 
Internet das Coisas com Java e Things API
Internet das Coisas com Java e Things APIInternet das Coisas com Java e Things API
Internet das Coisas com Java e Things API
 
Enterprise JavaBeans simples e descomplicado, na prática
Enterprise JavaBeans simples e descomplicado, na práticaEnterprise JavaBeans simples e descomplicado, na prática
Enterprise JavaBeans simples e descomplicado, na prática
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open Source
 
Palestra sobre Carreira Java / JavaEE - TDC2012 - Trlha Java
Palestra sobre Carreira Java / JavaEE - TDC2012 - Trlha JavaPalestra sobre Carreira Java / JavaEE - TDC2012 - Trlha Java
Palestra sobre Carreira Java / JavaEE - TDC2012 - Trlha Java
 
Android com Arduino: como integrar via bluetooth, Google ADK ou wi-fi
Android com Arduino: como integrar via bluetooth, Google ADK ou wi-fiAndroid com Arduino: como integrar via bluetooth, Google ADK ou wi-fi
Android com Arduino: como integrar via bluetooth, Google ADK ou wi-fi
 
Placa Tomada - Controlando Tomadas com Arduino
Placa Tomada - Controlando Tomadas com ArduinoPlaca Tomada - Controlando Tomadas com Arduino
Placa Tomada - Controlando Tomadas com Arduino
 
Academia do Arquiteto Globalcode
Academia do Arquiteto GlobalcodeAcademia do Arquiteto Globalcode
Academia do Arquiteto Globalcode
 
Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!
 
33 design patterns com Java
33 design patterns com Java33 design patterns com Java
33 design patterns com Java
 
O futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java EnterpriseO futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java Enterprise
 
Academia do Arquiteto - Introdução a ALM e Redmine
Academia do Arquiteto - Introdução a ALM e RedmineAcademia do Arquiteto - Introdução a ALM e Redmine
Academia do Arquiteto - Introdução a ALM e Redmine
 

Recently uploaded

Orientation Canvas Course Presentation.pdf
Orientation Canvas Course Presentation.pdfOrientation Canvas Course Presentation.pdf
Orientation Canvas Course Presentation.pdf
Elizabeth Walsh
 
SPLICE Working Group: Reusable Code Examples
SPLICE Working Group:Reusable Code ExamplesSPLICE Working Group:Reusable Code Examples
SPLICE Working Group: Reusable Code Examples
Peter Brusilovsky
 
SURVEY I created for uni project research
SURVEY I created for uni project researchSURVEY I created for uni project research
SURVEY I created for uni project research
CaitlinCummins3
 

Recently uploaded (20)

HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
Orientation Canvas Course Presentation.pdf
Orientation Canvas Course Presentation.pdfOrientation Canvas Course Presentation.pdf
Orientation Canvas Course Presentation.pdf
 
Details on CBSE Compartment Exam.pptx1111
Details on CBSE Compartment Exam.pptx1111Details on CBSE Compartment Exam.pptx1111
Details on CBSE Compartment Exam.pptx1111
 
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdfFICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
 
SPLICE Working Group: Reusable Code Examples
SPLICE Working Group:Reusable Code ExamplesSPLICE Working Group:Reusable Code Examples
SPLICE Working Group: Reusable Code Examples
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
 
Model Attribute _rec_name in the Odoo 17
Model Attribute _rec_name in the Odoo 17Model Attribute _rec_name in the Odoo 17
Model Attribute _rec_name in the Odoo 17
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Rich Dad Poor Dad ( PDFDrive.com )--.pdf
Rich Dad Poor Dad ( PDFDrive.com )--.pdfRich Dad Poor Dad ( PDFDrive.com )--.pdf
Rich Dad Poor Dad ( PDFDrive.com )--.pdf
 
Ernest Hemingway's For Whom the Bell Tolls
Ernest Hemingway's For Whom the Bell TollsErnest Hemingway's For Whom the Bell Tolls
Ernest Hemingway's For Whom the Bell Tolls
 
SURVEY I created for uni project research
SURVEY I created for uni project researchSURVEY I created for uni project research
SURVEY I created for uni project research
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
dusjagr & nano talk on open tools for agriculture research and learning
dusjagr & nano talk on open tools for agriculture research and learningdusjagr & nano talk on open tools for agriculture research and learning
dusjagr & nano talk on open tools for agriculture research and learning
 
UGC NET Paper 1 Unit 7 DATA INTERPRETATION.pdf
UGC NET Paper 1 Unit 7 DATA INTERPRETATION.pdfUGC NET Paper 1 Unit 7 DATA INTERPRETATION.pdf
UGC NET Paper 1 Unit 7 DATA INTERPRETATION.pdf
 
Including Mental Health Support in Project Delivery, 14 May.pdf
Including Mental Health Support in Project Delivery, 14 May.pdfIncluding Mental Health Support in Project Delivery, 14 May.pdf
Including Mental Health Support in Project Delivery, 14 May.pdf
 
Play hard learn harder: The Serious Business of Play
Play hard learn harder:  The Serious Business of PlayPlay hard learn harder:  The Serious Business of Play
Play hard learn harder: The Serious Business of Play
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
8 Tips for Effective Working Capital Management
8 Tips for Effective Working Capital Management8 Tips for Effective Working Capital Management
8 Tips for Effective Working Capital Management
 
What is 3 Way Matching Process in Odoo 17.pptx
What is 3 Way Matching Process in Odoo 17.pptxWhat is 3 Way Matching Process in Odoo 17.pptx
What is 3 Way Matching Process in Odoo 17.pptx
 

Contruindo Robots com Java Embedded Suite, Raspberry PI, Arduino e Things API

  • 1. Construíndo robots com Java Embedded Suite, REST, Raspberry PI and Arduino Vinicius Senger Globalcode Founder Globalcode – Open4education
  • 2. Agenda • Quem somos • Embedded Background e Projetos • Introdução ao Projeto • Detalhes de Arquitetura do Robot • Raspberry PI + Arduino • Java Embedded Suite + REST Interface • Things-API.org • Demos @vsenger @yarasenger Globalcode – Open4education
  • 3. Quem somos… Vinicius Senger – vinicius@globalcode.com.br Trabalhando com Java há mais de 10 anos Fundador da Globalcode Ajudando a comunidade Java do Brasil soujava.org.br Rede de escolas de programação em 12 diferentes cidades no Brasil; @vsenger @yarasenger Globalcode – Open4education
  • 4. Globalcode Empresa de Treinamentos Muitos treinamentos Java Agile training, Mobile, Arduino and Robotics training Long-term training for individuals and companies Oracle Workforce Development Program OTN Silver Partner Mais de 3500 alunos por ano @vsenger @yarasenger Globalcode – Open4education
  • 5. Elétron Livre Open-source hardware development Treinamentos, workshop e conferências de Embedded Ferramentas e métodos de ensino para escolas www.eletronlivre.com.br @vsenger @yarasenger Globalcode – Open4education
  • 6. Open4Education Compartilhando conhecimento gratuito desde 2001 Ofercemos mais de 100 treinamentos gratuitos Mais de 45.000 alunos Auditório próprio Cursos via web ou presencial @vsenger @yarasenger Globalcode – Open4education
  • 7. The Developers Conference TDC 2 0 12 S ão Paulo QUARTA - 04/07 QUINTA - 05/07 SEXTA - 06/07 SÁBADO - 07/07 DOMINGO - 08/07 B AN C O SALA 1 J AVA J AVA EE J AVA C L OUD C OMP UTIN G DE DADOS UNIVERSITY SALA 2 .N ET TE S TE S WEB .N E T MOBIL E SALA 3 W IN DOW S R OB ÓTIC A E AN DROID AR DUIN O P HP P HON E DOMÓTIC A SALA 4 AR QUITETUR A ALM J AVA EE S CAL A GAMES SALA 5 WIN DOWS IOS AN DR OID C/ C+ + EMP R EEN DEDOR IS MO P HON E SALA 6 AN ÁLIS E 2 .0 N OS QL TES TE S P Y THON AGIL E SALA 7 MAR K ETIN G MAN AGEMEN T 3 .0 S OA R UBY FR ONT-EN D DIGITAL SALA 8 L ADO B L ADO B DADOS AB ER TOS L ADO B TV DIGITAL AUDITÓRIO S TADIUM S TADIUM S TADIUM S TADIUM S TADIUM @vsenger @yarasenger Globalcode – Open4education
  • 8. Embedded Roadmap • 200x: Java ME (phone) / Sun Spot development • 2009: started to produce educational boards based on Arduino / ATMega • 2010: low cost and open source robotics and home automation • 2011: jHome Automation • 2012: Things-API.org @vsenger @yarasenger Globalcode – Open4education
  • 9. Neutrons Difractometer @vsenger @yarasenger Globalcode – Open4education
  • 10. Horse Instrumentation @vsenger @yarasenger Globalcode – Open4education
  • 11. Sail Boat Automation @vsenger @yarasenger Globalcode – Open4education
  • 12. Student Satellite @vsenger @yarasenger Globalcode – Open4education
  • 13. Low-cost D.I.Y. boards for kids @vsenger @yarasenger Globalcode – Open4education
  • 14. • Home Automation Platform based on Java EE and do it yourself hardware / gadgets • Allows you to integrate your house with social networks like Twitter • Different usage of Java EE and Glassfish • Java Enterprise Edition Embedded comes a reality with Java Enterprise Suite! @vsenger @yarasenger Globalcode – Open4education
  • 15. Things-API.org Home Automation project evolution with more abstract approach: Things Automation !?! Internet of Things API / Things Automation API: Provides a simple, uniform and easy to use API to read sensors and control things; Java SE, Java EE, Java ME, JavaFX = SAME API! Things-API is the "JDBC" for Internet of Things Communication Independent: IP, Serial, Bluetooth, ZigBee, I2C, USB, etc. things.execute("/dev/ttyUSB0", "sensor1"); @vsenger @yarasenger Globalcode – Open4education
  • 16. About this project… Part of research road-map for embedded, IoT, home automation and robotics Java Embedded Suite Experimentation Home Automation Project Evolution Internet of Things PoC Cool demonstration platform Just started in last December, +- 80 working hours Prototype for a walking machine robot @vsenger @yarasenger Globalcode – Open4education
  • 17. Video blog "We are Crazy!" • Funny video documenting the construction process • For teenagers / young developers • Motivational + fun + valuable information Play Sample Video @vsenger @yarasenger Globalcode – Open4education
  • 18. Robots & Internet of Things Robot = sensor, actuator and processing IoT = sensor, actuator, processing + … communication integration interoperation security massive update (even changing firmwares and drivers) @vsenger @yarasenger Globalcode – Open4education
  • 19. The Robot…. @vsenger @yarasenger Globalcode – Open4education
  • 20. Overview @vsenger @yarasenger Globalcode – Open4education
  • 21. This Robot Based in reusable layers: 1. Robot base / mechanics and dedicated controller board 2. Intelligence, security and integration layear 3. Accessory layers: Rotational Sensors Arms Cameras @vsenger @yarasenger Globalcode – Open4education
  • 22. Hardware List • Raspberry PI • Arduino based board with AVR ATMega328 • L293D as h-bridge • 2 DC motors 12volts / 1 servo medium size • 2 LIPO Batteries 1.5amp 11.1 volts • 1 wifi router • 1 UBEC for Raspberry power supply • 2 Parallax distance sensor • 1 LDR and 1 LM35 @vsenger @yarasenger Globalcode – Open4education
  • 23. Software List Debian Default Raspberry PI Java Embedded Suite x Things-API.org Things Embedded Gateway Things4Arduino Serial Driver @vsenger @yarasenger Globalcode – Open4education
  • 24. Layer 1: Arduino + h-bridge + sensors Using our own Program-ME board with Atmega328 + L293D + LDR + LM35 + 4 transistors @vsenger @yarasenger Globalcode – Open4education
  • 25. Layer 2: Raspberry PI + Router • LiPo Battery + UBEC (5 volts regulator – 3 amps) @vsenger @yarasenger Globalcode – Open4education
  • 26. Layer 3: rotational sensors • Servo + 2 Parallax Distance Sensor @vsenger @yarasenger Globalcode – Open4education
  • 27. Raspberry PI vs Arduino • Arduino is the baby steps to embedded and limited microcontroller programming; • Raspberry PI is the baby step for ARM microcontroller programming; • Arduinos (or Atmegas) are very useful as a dedicated actuator / sensor control / driver; • Raspberry PI will provide powerful processing, security, integration, full TCP/IP and so on.. • Prototyping platform + TCP/IP = EXPENSIVE! @vsenger @yarasenger Globalcode – Open4education
  • 28. Raspberry PI + Arduino: how? Serial RXTX Easy and simple Sync issues Limited speedy I2C: our next step using Device Access API SPI: for faster communication @vsenger @yarasenger Globalcode – Open4education
  • 29. Things-API.org The project Things-API.org @vsenger @yarasenger Globalcode – Open4education
  • 30. Things-API.org Things-API Simple abstraction: Device: the thing Component: some part of the thing Component = Input / Output: Input = Sensor : light, temperature, accelerometer, gyro, etc..; Output = Actuator : motor, led, relay, buzzer; Sensors = read Actuator = write @vsenger @yarasenger Globalcode – Open4education
  • 31. Things Gateway: Server of Things Proxy for Things that doesn't have TCP/IP: USB / Serial ZigBee Infrared Bluetooth @vsenger @yarasenger Globalcode – Open4education
  • 32. Things-API.org Things-API for Java SE, EE and ME Things-Gateway Java EE Things-Gateway Embedded Suite Things-Driver Things-Automation jHome Automation: reference implementation @vsenger @yarasenger Globalcode – Open4education
  • 33. Gateway Things Things Gateway Servidor Java EE Ethernet ZigBee Bluetooth Thing #1 Thing #2 Thing #3 Luzes / Portão Casa Sensor Temperatura Robot aspirador pó @vsenger @yarasenger Globalcode – Open4education
  • 34. Things-API.org DEMO & CODE @vsenger @yarasenger Globalcode – Open4education
  • 35. Things-API.org Links and References www.things-api.org www.globalcode.com.br jhome.globalcode.com.br www.eletronlivre.com.br blog.eletronlivre.com.br @vsenger @yarasenger Globalcode – Open4education
  • 36. Thanks! Q&A vinicius@globalcode.com.br - @vsenger yara@globalcode.com.br - @yarasenger @vsenger @yarasenger Globalcode – Open4education