SlideShare uma empresa Scribd logo
1 de 58
Baixar para ler offline
Hardware Free
Hackeando um SmartBOX e instalando Linux & JAVA gráfico
Ricardo JL Rufino
rjlr@cin.ufpe.br
ricardo@criativasoft.com.br
AgendaApresentação
Ricardo JL Rufino
➔ Esp. em Engenharia de Software
➔ Mestrando em Gestão de TI (UFPE)
➔ Sócio fundador da CriativaSoft.
➔ Atuo no desenvolvimento de Software desde 2007, focado em
soluções empresariais sobre plataforma JavaEE.
Desenvolvedor de softwares open-source como Framework
Web MVC Mentawai, ProjectNCode e instrutor de cursos de
Java.
Qual o Alvo ?
Qual o Alvo ?
● ANDROID TELEVISION BOX
– DealExtreme: AT-758 Box de TV Smart Android 4.2.2
● Fabricante: Sunchip
● SoC A20 @ 1Ghz ( ARM Cortex-A7)
● 512MiB DDR3 @ 384MHz
● FLASH (NAND) - 4 GB
● HDMI
● WiFi 802.11 b/g/n
● Ethernet
● Micro-SD
● 1 USB2.0 Host, 1 USB2.0 OTG
● IRDA (Infra-Vermelho)
● VALOR: ~ $45 / R$128
http://linux-sunxi.org/Sunchip_SDK-758
SoC (A20) – Visão Geral
Outros Similares
● Olinuxino Micro
Outros Similares
● Cubietruck (Cubieboard)
http://www.cnx-software.com/2013/06/25/cubietruck-development-board-features-allwinner-a20-
soc-2gb-ram-and-gb-ethernet/
Instalação do Linux
● Fácil e a Difícil
● Fácil: Usando uma imagem já pronta:
– http://linux-sunxi.org/Bootable_OS_images
– LOGO DISPONIBILIZAREI A MINHA !
● Difícil: Compilando e extraindo as informações
do dispositivo.
Instalação do Linux (Fácil)
● Existem já algumas distribuições prontas para
vários dispositivos.
● Se não encontrar a imagem para o dispositivo
idêntico, procura um do mesmo processador
– Foi o que eu fiz !! Usando o Debian para A20
– http://linux-sunxi.org/Bootable_OS_images
Gravação da Imagem
● Linux: Usando DD
– dd bs=4M sd.img of=/dev/sdX
– CUIDADO COM O X !!
● Windows
– http://www.raspberrypi.org/documentation/installatio
n/installing-images/windows.md
Estrutura do SD
● O SD tem duas partições:
– 1 – BOOT (64 MB – FAT)
● uEnv.txt : Parâmetros de Configuração
● script.bin : Configurações do Hardware (binário)
● uimage : Kernel
● SETOR onde fica o u-boot (não visível)
– 2 – LINUX FS / ROOTFS (> 2GB EXT4)
● Sistema de Arquivos do LINUX
● No caso estamos usando o Debian
Entendendo o Processo de BOOT
● Principais envolvidos
– U-BOOT (u-boot-sunxi)
– Kernel / Linux – (linux-sunxi)
● Etapas
– O Processador inicia um chip com software de boot (Boot ROM) / BIOS
– Segundo verifica se tem um SD e a partição de boot (u-boot)
– O u-boot é configurado usando o uEnv.txt e script.bin
– U-boot carrega o kernel(uImage) e passa o comando pra ele.
– Kernel faz todo o processo normal do linux
BOOT pela USB
● É mais rápido (empírica e teoricamente)
● Pode usar a mesma imagem para o SD
●
Alterar arquivo uEnv.txt na partição de Boot do SD:
– root=/dev/sda2 ro rootwait
No caso sda2, porque a imagem tem duas
partições e o linux tá na segunda, mas você
pode usar só uma partição (tem que ser EXT4)
Algumas coisas mais avançadas
● Quando não se tem o mesmo modelo é preciso
extrair algumas informações do dispositivo.
– Script.bin
– Alguns links referentes a isso:
● http://linux-sunxi.org/Identification_guide
● http://linux-sunxi.org/Retrieving_device_information
Script.bin
● É um arquivo que guarda as informações do hardware
● Ele pode ser capturado e descompilado (FEX) usando o Sunxi-
tools
● Quando for usar uma imagem feita para outro equipamento
você deve usar o Script.bin do seu equipamento.
– NOTA: É bom desativar a partição NAND no A20, pois a minha
corrompeu por algum motivo e perdi o S.O original...
– Setar: nand_used = 0
● Guida de Configuração:
– http://linux-sunxi.org/Script.bin
– http://linux-sunxi.org/Fex_Guide
Infra-RED
Deve ser habilitado no Script.bin (fex)
● Carregar módulo
– modprobe sunxi-ir
● Verificar se foi inicializado corretamente
– cat /proc/bus/input/devices
– dmesg | grep IR
● Teste:
– apt-get install input-utils
– Input-events 0
● Aparentemente funciona apenas com protocolo NEC
[ir_para]
ir_used = 1
ir0_rx = port:PB04<2><default><default><default>
WIFI
Deve ser habilitado no Script.bin (fex)
Verificar se tem:
[wifi_para]
wifi_used = 1
wifi_sdc_id = 3
wifi_usbc_id = 2
wifi_usbc_type = 1
Etc...
[usb_wifi_para]
usb_wifi_used = 1
usb_wifi_usbc_num = 2
NOTA: Internamente é ligado em um barramento USB
GPIO
● Deve ser habilitado no Script.bin (fex)
– http://linux-sunxi.org/GPIO
● Carregar módulo
– modprobe gpio-sunxi
● Programação Basica
– # Exportar pino para o usarspace
– echo 1 > /sys/class/gpio/export
– # Configurar direção (Output)
– echo out > /sys/class/gpio/gpio1_ph20/direction
– # Alterar Valores
– echo 1 > /sys/class/gpio/gpio1_ph20/value
– echo 0 > /sys/class/gpio/gpio1_ph20/value
[gpio_para]
gpio_used = 1
gpio_num = 2
gpio_pin_1 = port:PH20<1><default><default><0>
gpio_pin_2 = port:PH10<0><default><default><0>
JAVA
JAVA 8 ARM
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-
securebackup-cookie"
http://download.oracle.com/otn-pub/java/jdk/8u6-b23/jdk-8u6-linux-arm-vfp-hflt.tar.gz
tar zxvf jdk-8u6-linux-arm-vfp-hflt.tar.gz -C /opt
mv jdk1.8.0_XX jdk1.8.0
update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0/bin/javac 1
update-alternatives --install /usr/bin/java java /opt/jdk1.8.0/bin/java 1
update-alternatives --config javac
update-alternatives --config java
● Verificar se foi instalado corretamente
java -version
JAVA 8 ARM - interface gráfica
Não precisamos de um ambiente gráfico completo como: GNOME , KDE,
LXDE
Podemos rodar diretamente no 'X' sem nenhuma coisa no monitor (nem o
relógio)
● Você pode usar a API da Swing e AWT
– Ainda não funciona o JAVA FX !!! = (
– Precisa fazer o driver da GPU MALI400 funcionar !!
● Instalar o X
– # apt-get install xorg
● Configurar o script: ~/.xsession
● Startar o Servidor gŕafico
– # startx
~/.xsession
xrandr --output VGA1 --mode 1280x720 #For setting a video mode
xrandr --fb 1280x720 #Not always required, sets the framebuffer size
xset -dpms s off
# Sua aplicação !
java -jar /opt/jdk1.8.0/demo/jfc/SwingSet2/SwingSet2.jar
E quando as coisas NÃO dão CERTO ?
Debugar pela UART
● É possível monitorar o processo de BOOT e
saber o que está acontecendo pela porta UART
● Usei um ARDUINO UNO pra isso !!
PS: No Leonardo acho que não da certo !
Tem que ter um chip separado de USB
Placa
Debugando usando o Arduino
Debugando usando o Arduino
● Nessa configuração o arduino está em RESET,
ou seja, ele está funcionando apenas o CHIP
USB (Atmega16U2) para fazer a conversão:
– Serial UART → USB
● Plugue o arduino no seu computador
● Abra um terminal serial (pode ser o putty)
● No Linux:
– # screen /dev/ttyACM{X} 115200
Melhor que Raspberry ?!?!
● Bonitinho (vem com “case”)
● Mais rápido (1Ghz sem overclock)
– FALAR MAIS..
● Micro-SD
● WiFI
● Memória Interna (FLASH)
● MAAAAAsss não tem GPIO !!
Dúvidas ?
OpenDevice
Open IoT (Internet Of Things) Platform and Framework.
“Conjunto de ferramentas e APIs para construção de
soluções de Internet das Coisas”
OpenDevice
● Apis e Ferramentas que permitem construir
sistemas de:
– Automação Residencial
– Monitoramento de Sensores
– Monitoramento de Energia
– Controle de Robôs
– Smart City
OpenDevice
● Objetivo:
O principal objetivo é monitorar e controlar
hardwares baratos como Arduino, RaspberryPI e
plataformas semelhantes, local (offline) ou sobre
a nuvem usando linguagens de programação de
alto nível e com a abstração de protocolos e
detalhes de baixo nível.
Foco no que é importante !
Isso permite que você se concentre em seu
projeto e na inovação, deixar os detalhes
obscuros de protocolos de comunicação e
especificações com OpenDevice, você vai dar um
passo importante para o sucesso de seu
projeto.
Tecnologias Envolvidas
Funcionalidades
● Open API (for: REST, JavaScript, Java, Android, Arduino,
EnergiaIDE)
● Real-time (WebSockets)
● Event-Based
● Async & non-blocking
● Multi-protocolo (Usb, Bluetooth, TCP)
● Independente de Linguagem
● Independente de Plataforma (Windows, Linux, Mac, MIPs on
OpenWRT)
● Lightweight/Built-in Servers (não precisa do tomcat ou glassfish)
Visão Geral
Event-driven and Real-Time
Você não precisa consultar a informação,
ela vem até você quando os dados
estiverem disponíveis
Hands-On/Of
Uma pitada de java...
Blink - Arduino
* C / Arduino
Blink - Java
Blink Java (mais livre)
Blink Java (Comandos)
Incrementando no Arduino
* C / Arduino
Incrementando no JAVA
Definição de Dispositivos
Definição das Conexões
* JAVA
Adicionando Rest !
Adicione essa linha e seja feliz !!!
Você pode acessar pelo navegador
… ou com JavaScript !
Agora ficou sério ! WebSockets !
Adicione essas linhas e fique Real-Time e de quebra servidor http !
Biblioteca de Rest e WebSocket ! (adicione no pom.xml)
Ao adicionar o servidor de W.S automaticamente já é adicionado o servidor de REST
Api JavaScript para WebSocket
Instalação
● Usamos o Maven (arquivo pom.xml)
Substitua: ${opendevice-version} pela ultima versão, atualmente: 0.1.2-SNAPSHOT.
Qualquer dúvida consulte:
https://opendevice.atlassian.net/wiki/display/DOC/A.+First+Steps+with+OpenDevice
Instalação
● Adicionar o repositório da Sonatype
Instalação (lib arduino/similar)
● Baixar ou Clonar o repositório do GIT
– opendevice-hardware-libraries
● Copiar a pasta: arduino/OpenDevice
– Para pasta /libraries da IDE do Arduino
● Reinicie a IDE do Arduino
Github / Sources: https://github.com/OpenDevice
HORÁRIO RESERVADO
À PROGRAMAÇÃO E MÃO NA MASSA
Postura !
Nós somos desenvolvedores, não somos “normais”
ACEITE ISSO.. !!!
Devemos ser agentes de Transformação e Criação.
Atitude !
Não espere a ideia brilhante !
Execute a ideia que você gosta.
Descubra o que você gosta
Não escute os outros
●
Muita gente vai dizer que você não consegue
●
Muita gente vai dizer que já existe
Dúvidas ?
Contatos
● E-mail:
– ricardo@criativasoft.com.br
– rjlr@cin.ufpe.br
● Facebook
– /ricardojlrufino
Link's
● OpenDevice:
– http://opendevice.io
– https://github.com/OpenDevice
– https://opendevice.atlassian.net/wiki
– http://opendevice.criativasoft.com.br
● Facebook
– /opendevice
Link's
● Onde Comprar ? (Gringos):
– www.adafruit.com
– www.sparkfun.com
– www.seeedstudio.com
– imall.iteadstudio.com
– www.dx.com (mercado livre – demora....)
● Brasil
– Lab de Garagem (http://www.labdegaragem.org
– Multilógica Shop (http://multilogica-shop.com/);
– Rlrobotics (http://www.rlrobotics.ind.br/arduino);
– Webtronico (http://www.webtronico.com/)
Obrigado pela sua atenção.

Mais conteúdo relacionado

Mais procurados

Samba4を「ふつうに」使おう!(2015/08/08 OSC 2015 Kansai@Kyoto)
Samba4を「ふつうに」使おう!(2015/08/08 OSC 2015 Kansai@Kyoto)Samba4を「ふつうに」使おう!(2015/08/08 OSC 2015 Kansai@Kyoto)
Samba4を「ふつうに」使おう!(2015/08/08 OSC 2015 Kansai@Kyoto)基信 高橋
 
How to Avoid the Top 5 NGINX Configuration Mistakes
How to Avoid the Top 5 NGINX Configuration MistakesHow to Avoid the Top 5 NGINX Configuration Mistakes
How to Avoid the Top 5 NGINX Configuration MistakesNGINX, Inc.
 
Ceph Tech Talk: Bluestore
Ceph Tech Talk: BluestoreCeph Tech Talk: Bluestore
Ceph Tech Talk: BluestoreCeph Community
 
What’s the Best PostgreSQL High Availability Framework? PAF vs. repmgr vs. Pa...
What’s the Best PostgreSQL High Availability Framework? PAF vs. repmgr vs. Pa...What’s the Best PostgreSQL High Availability Framework? PAF vs. repmgr vs. Pa...
What’s the Best PostgreSQL High Availability Framework? PAF vs. repmgr vs. Pa...ScaleGrid.io
 
会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話Shuji Yamada
 
PWA Beginners 勉強会 #4 A2HSのちょっと深い話v2
PWA Beginners 勉強会 #4 A2HSのちょっと深い話v2PWA Beginners 勉強会 #4 A2HSのちょっと深い話v2
PWA Beginners 勉強会 #4 A2HSのちょっと深い話v2Masahiko Jinno
 
これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月
これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月
これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月VirtualTech Japan Inc.
 
HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法Masahito Zembutsu
 
「仮想マシンからの移⾏先としてPaaSとKaaS、どちらを選ぶか? #ヤフー名古屋」
「仮想マシンからの移⾏先としてPaaSとKaaS、どちらを選ぶか? #ヤフー名古屋」「仮想マシンからの移⾏先としてPaaSとKaaS、どちらを選ぶか? #ヤフー名古屋」
「仮想マシンからの移⾏先としてPaaSとKaaS、どちらを選ぶか? #ヤフー名古屋」Yahoo!デベロッパーネットワーク
 
開発者の生産性向上を妨げる障壁と サイボウズの生産性向上チームの取り組み
開発者の生産性向上を妨げる障壁とサイボウズの生産性向上チームの取り組み開発者の生産性向上を妨げる障壁とサイボウズの生産性向上チームの取り組み
開発者の生産性向上を妨げる障壁と サイボウズの生産性向上チームの取り組みJumpei Miyata
 
詳説データベース輪読会: 分散合意その2
詳説データベース輪読会: 分散合意その2詳説データベース輪読会: 分散合意その2
詳説データベース輪読会: 分散合意その2Sho Nakazono
 
さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築Tomocha Potter
 
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト書こう! 使おう! 単体テスト
書こう! 使おう! 単体テストryohji ikebe
 
はじめての超格安2,500円 Nexus7 2012改造と Android7.1.2 AOSP、postmarketOS in 2020 Beginner...
はじめての超格安2,500円 Nexus7 2012改造と Android7.1.2 AOSP、postmarketOS in 2020 Beginner...はじめての超格安2,500円 Nexus7 2012改造と Android7.1.2 AOSP、postmarketOS in 2020 Beginner...
はじめての超格安2,500円 Nexus7 2012改造と Android7.1.2 AOSP、postmarketOS in 2020 Beginner...Netwalker lab kapper
 
余ったPCをルータに変える、ソフトウェアルータ「SEIL/x86」
余ったPCをルータに変える、ソフトウェアルータ「SEIL/x86」余ったPCをルータに変える、ソフトウェアルータ「SEIL/x86」
余ったPCをルータに変える、ソフトウェアルータ「SEIL/x86」IIJ
 
ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)akira6592
 
OpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesOpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesSamuel Terburg
 
OCIランタイムの筆頭「runc」を俯瞰する
OCIランタイムの筆頭「runc」を俯瞰するOCIランタイムの筆頭「runc」を俯瞰する
OCIランタイムの筆頭「runc」を俯瞰するKohei Tokunaga
 
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化真乙 九龍
 

Mais procurados (20)

Samba4を「ふつうに」使おう!(2015/08/08 OSC 2015 Kansai@Kyoto)
Samba4を「ふつうに」使おう!(2015/08/08 OSC 2015 Kansai@Kyoto)Samba4を「ふつうに」使おう!(2015/08/08 OSC 2015 Kansai@Kyoto)
Samba4を「ふつうに」使おう!(2015/08/08 OSC 2015 Kansai@Kyoto)
 
How to Avoid the Top 5 NGINX Configuration Mistakes
How to Avoid the Top 5 NGINX Configuration MistakesHow to Avoid the Top 5 NGINX Configuration Mistakes
How to Avoid the Top 5 NGINX Configuration Mistakes
 
マスタリングTCP/IP ニフクラ編
マスタリングTCP/IP ニフクラ編マスタリングTCP/IP ニフクラ編
マスタリングTCP/IP ニフクラ編
 
Ceph Tech Talk: Bluestore
Ceph Tech Talk: BluestoreCeph Tech Talk: Bluestore
Ceph Tech Talk: Bluestore
 
What’s the Best PostgreSQL High Availability Framework? PAF vs. repmgr vs. Pa...
What’s the Best PostgreSQL High Availability Framework? PAF vs. repmgr vs. Pa...What’s the Best PostgreSQL High Availability Framework? PAF vs. repmgr vs. Pa...
What’s the Best PostgreSQL High Availability Framework? PAF vs. repmgr vs. Pa...
 
会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話会社にGitHub Enterpriseを導入してみた話
会社にGitHub Enterpriseを導入してみた話
 
PWA Beginners 勉強会 #4 A2HSのちょっと深い話v2
PWA Beginners 勉強会 #4 A2HSのちょっと深い話v2PWA Beginners 勉強会 #4 A2HSのちょっと深い話v2
PWA Beginners 勉強会 #4 A2HSのちょっと深い話v2
 
これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月
これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月
これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月
 
HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法
 
「仮想マシンからの移⾏先としてPaaSとKaaS、どちらを選ぶか? #ヤフー名古屋」
「仮想マシンからの移⾏先としてPaaSとKaaS、どちらを選ぶか? #ヤフー名古屋」「仮想マシンからの移⾏先としてPaaSとKaaS、どちらを選ぶか? #ヤフー名古屋」
「仮想マシンからの移⾏先としてPaaSとKaaS、どちらを選ぶか? #ヤフー名古屋」
 
開発者の生産性向上を妨げる障壁と サイボウズの生産性向上チームの取り組み
開発者の生産性向上を妨げる障壁とサイボウズの生産性向上チームの取り組み開発者の生産性向上を妨げる障壁とサイボウズの生産性向上チームの取り組み
開発者の生産性向上を妨げる障壁と サイボウズの生産性向上チームの取り組み
 
詳説データベース輪読会: 分散合意その2
詳説データベース輪読会: 分散合意その2詳説データベース輪読会: 分散合意その2
詳説データベース輪読会: 分散合意その2
 
さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築
 
書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト書こう! 使おう! 単体テスト
書こう! 使おう! 単体テスト
 
はじめての超格安2,500円 Nexus7 2012改造と Android7.1.2 AOSP、postmarketOS in 2020 Beginner...
はじめての超格安2,500円 Nexus7 2012改造と Android7.1.2 AOSP、postmarketOS in 2020 Beginner...はじめての超格安2,500円 Nexus7 2012改造と Android7.1.2 AOSP、postmarketOS in 2020 Beginner...
はじめての超格安2,500円 Nexus7 2012改造と Android7.1.2 AOSP、postmarketOS in 2020 Beginner...
 
余ったPCをルータに変える、ソフトウェアルータ「SEIL/x86」
余ったPCをルータに変える、ソフトウェアルータ「SEIL/x86」余ったPCをルータに変える、ソフトウェアルータ「SEIL/x86」
余ったPCをルータに変える、ソフトウェアルータ「SEIL/x86」
 
ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~ (2017/07/21開催)
 
OpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesOpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetes
 
OCIランタイムの筆頭「runc」を俯瞰する
OCIランタイムの筆頭「runc」を俯瞰するOCIランタイムの筆頭「runc」を俯瞰する
OCIランタイムの筆頭「runc」を俯瞰する
 
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
 

Semelhante a Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice

OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)Ricardo Rufino
 
ArduinoDay 2015 - OpenDevice
ArduinoDay 2015 -  OpenDeviceArduinoDay 2015 -  OpenDevice
ArduinoDay 2015 - OpenDeviceRicardo Rufino
 
Oficina de IoT conhecendo ESP8266 #CPBR12
Oficina de IoT conhecendo ESP8266 #CPBR12Oficina de IoT conhecendo ESP8266 #CPBR12
Oficina de IoT conhecendo ESP8266 #CPBR12Douglas Esteves
 
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry pi
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry piImpressoes apos 2 dias utilizando o ubuntu io t com raspberry pi
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry piMarcos Aurelio Barranco
 
Arduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoArduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoÁlvaro Justen
 
Internet das coisas, conhecendo plataformas de desenvolvimentos
Internet das coisas, conhecendo plataformas de desenvolvimentosInternet das coisas, conhecendo plataformas de desenvolvimentos
Internet das coisas, conhecendo plataformas de desenvolvimentosDouglas Esteves
 
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014Fabio Souza
 
Introdução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtivaIntrodução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtivaÁlvaro Justen
 
Introdução à plataforma Arduino
Introdução à plataforma ArduinoIntrodução à plataforma Arduino
Introdução à plataforma Arduinoentrebits
 
Noções básicas do Raspberry pi 2/3 na prática
Noções básicas do Raspberry pi 2/3 na práticaNoções básicas do Raspberry pi 2/3 na prática
Noções básicas do Raspberry pi 2/3 na práticaFlavio Ribeiro de Lira
 
TDC2015 - Internet das Coisas - OpenDevice
TDC2015 - Internet das Coisas - OpenDeviceTDC2015 - Internet das Coisas - OpenDevice
TDC2015 - Internet das Coisas - OpenDeviceRicardo Rufino
 
Introdução-à-Programação-Embarcada-com-Arduino.pdf
Introdução-à-Programação-Embarcada-com-Arduino.pdfIntrodução-à-Programação-Embarcada-com-Arduino.pdf
Introdução-à-Programação-Embarcada-com-Arduino.pdfCliverRaimundo2
 
Sindpd introducao arduinodomotica
Sindpd introducao arduinodomoticaSindpd introducao arduinodomotica
Sindpd introducao arduinodomoticaDesiree Santos
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceRicardo Rufino
 

Semelhante a Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice (20)

OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)
 
ArduinoDay 2015 - OpenDevice
ArduinoDay 2015 -  OpenDeviceArduinoDay 2015 -  OpenDevice
ArduinoDay 2015 - OpenDevice
 
Oficina de IoT conhecendo ESP8266 #CPBR12
Oficina de IoT conhecendo ESP8266 #CPBR12Oficina de IoT conhecendo ESP8266 #CPBR12
Oficina de IoT conhecendo ESP8266 #CPBR12
 
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry pi
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry piImpressoes apos 2 dias utilizando o ubuntu io t com raspberry pi
Impressoes apos 2 dias utilizando o ubuntu io t com raspberry pi
 
Tutorial beagleboard
Tutorial beagleboardTutorial beagleboard
Tutorial beagleboard
 
Arduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoArduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremo
 
Cisco ios
Cisco iosCisco ios
Cisco ios
 
Internet das coisas, conhecendo plataformas de desenvolvimentos
Internet das coisas, conhecendo plataformas de desenvolvimentosInternet das coisas, conhecendo plataformas de desenvolvimentos
Internet das coisas, conhecendo plataformas de desenvolvimentos
 
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
 
Introdução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtivaIntrodução a linguagem Python: simples e produtiva
Introdução a linguagem Python: simples e produtiva
 
Arduino
ArduinoArduino
Arduino
 
Introdução à plataforma Arduino
Introdução à plataforma ArduinoIntrodução à plataforma Arduino
Introdução à plataforma Arduino
 
Noções básicas do Raspberry pi 2/3 na prática
Noções básicas do Raspberry pi 2/3 na práticaNoções básicas do Raspberry pi 2/3 na prática
Noções básicas do Raspberry pi 2/3 na prática
 
TDC2015 - Internet das Coisas - OpenDevice
TDC2015 - Internet das Coisas - OpenDeviceTDC2015 - Internet das Coisas - OpenDevice
TDC2015 - Internet das Coisas - OpenDevice
 
Introdução-à-Programação-Embarcada-com-Arduino.pdf
Introdução-à-Programação-Embarcada-com-Arduino.pdfIntrodução-à-Programação-Embarcada-com-Arduino.pdf
Introdução-à-Programação-Embarcada-com-Arduino.pdf
 
Mini Curso IoT - Sieng 2016 - Dia 2
Mini Curso IoT - Sieng 2016 - Dia 2Mini Curso IoT - Sieng 2016 - Dia 2
Mini Curso IoT - Sieng 2016 - Dia 2
 
Sindpd introducao arduinodomotica
Sindpd introducao arduinodomoticaSindpd introducao arduinodomotica
Sindpd introducao arduinodomotica
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDevice
 
Raspberry Pi + Python
Raspberry Pi + PythonRaspberry Pi + Python
Raspberry Pi + Python
 
Pal bpi
Pal bpiPal bpi
Pal bpi
 

Último

ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docxATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Convergência TO e TI nas Usinas - Setor Sucroenergético
Convergência TO e TI nas Usinas - Setor SucroenergéticoConvergência TO e TI nas Usinas - Setor Sucroenergético
Convergência TO e TI nas Usinas - Setor SucroenergéticoMarcio Venturelli
 
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docxATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx2m Assessoria
 
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPalestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPaulo Pagliusi, PhD, CISM
 
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdfAula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdfInocencioHoracio3
 
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINASCOI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINASMarcio Venturelli
 
Entrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiEntrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiPaulo Pagliusi, PhD, CISM
 

Último (8)

ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docxATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Convergência TO e TI nas Usinas - Setor Sucroenergético
Convergência TO e TI nas Usinas - Setor SucroenergéticoConvergência TO e TI nas Usinas - Setor Sucroenergético
Convergência TO e TI nas Usinas - Setor Sucroenergético
 
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docxATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
 
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPalestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
 
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdfAula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
 
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINASCOI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
 
Entrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiEntrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo Pagliusi
 

Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice

  • 1. Hardware Free Hackeando um SmartBOX e instalando Linux & JAVA gráfico Ricardo JL Rufino rjlr@cin.ufpe.br ricardo@criativasoft.com.br
  • 2. AgendaApresentação Ricardo JL Rufino ➔ Esp. em Engenharia de Software ➔ Mestrando em Gestão de TI (UFPE) ➔ Sócio fundador da CriativaSoft. ➔ Atuo no desenvolvimento de Software desde 2007, focado em soluções empresariais sobre plataforma JavaEE. Desenvolvedor de softwares open-source como Framework Web MVC Mentawai, ProjectNCode e instrutor de cursos de Java.
  • 4. Qual o Alvo ? ● ANDROID TELEVISION BOX – DealExtreme: AT-758 Box de TV Smart Android 4.2.2 ● Fabricante: Sunchip ● SoC A20 @ 1Ghz ( ARM Cortex-A7) ● 512MiB DDR3 @ 384MHz ● FLASH (NAND) - 4 GB ● HDMI ● WiFi 802.11 b/g/n ● Ethernet ● Micro-SD ● 1 USB2.0 Host, 1 USB2.0 OTG ● IRDA (Infra-Vermelho) ● VALOR: ~ $45 / R$128 http://linux-sunxi.org/Sunchip_SDK-758
  • 5. SoC (A20) – Visão Geral
  • 7. Outros Similares ● Cubietruck (Cubieboard) http://www.cnx-software.com/2013/06/25/cubietruck-development-board-features-allwinner-a20- soc-2gb-ram-and-gb-ethernet/
  • 8. Instalação do Linux ● Fácil e a Difícil ● Fácil: Usando uma imagem já pronta: – http://linux-sunxi.org/Bootable_OS_images – LOGO DISPONIBILIZAREI A MINHA ! ● Difícil: Compilando e extraindo as informações do dispositivo.
  • 9. Instalação do Linux (Fácil) ● Existem já algumas distribuições prontas para vários dispositivos. ● Se não encontrar a imagem para o dispositivo idêntico, procura um do mesmo processador – Foi o que eu fiz !! Usando o Debian para A20 – http://linux-sunxi.org/Bootable_OS_images
  • 10. Gravação da Imagem ● Linux: Usando DD – dd bs=4M sd.img of=/dev/sdX – CUIDADO COM O X !! ● Windows – http://www.raspberrypi.org/documentation/installatio n/installing-images/windows.md
  • 11. Estrutura do SD ● O SD tem duas partições: – 1 – BOOT (64 MB – FAT) ● uEnv.txt : Parâmetros de Configuração ● script.bin : Configurações do Hardware (binário) ● uimage : Kernel ● SETOR onde fica o u-boot (não visível) – 2 – LINUX FS / ROOTFS (> 2GB EXT4) ● Sistema de Arquivos do LINUX ● No caso estamos usando o Debian
  • 12. Entendendo o Processo de BOOT ● Principais envolvidos – U-BOOT (u-boot-sunxi) – Kernel / Linux – (linux-sunxi) ● Etapas – O Processador inicia um chip com software de boot (Boot ROM) / BIOS – Segundo verifica se tem um SD e a partição de boot (u-boot) – O u-boot é configurado usando o uEnv.txt e script.bin – U-boot carrega o kernel(uImage) e passa o comando pra ele. – Kernel faz todo o processo normal do linux
  • 13. BOOT pela USB ● É mais rápido (empírica e teoricamente) ● Pode usar a mesma imagem para o SD ● Alterar arquivo uEnv.txt na partição de Boot do SD: – root=/dev/sda2 ro rootwait No caso sda2, porque a imagem tem duas partições e o linux tá na segunda, mas você pode usar só uma partição (tem que ser EXT4)
  • 14. Algumas coisas mais avançadas ● Quando não se tem o mesmo modelo é preciso extrair algumas informações do dispositivo. – Script.bin – Alguns links referentes a isso: ● http://linux-sunxi.org/Identification_guide ● http://linux-sunxi.org/Retrieving_device_information
  • 15. Script.bin ● É um arquivo que guarda as informações do hardware ● Ele pode ser capturado e descompilado (FEX) usando o Sunxi- tools ● Quando for usar uma imagem feita para outro equipamento você deve usar o Script.bin do seu equipamento. – NOTA: É bom desativar a partição NAND no A20, pois a minha corrompeu por algum motivo e perdi o S.O original... – Setar: nand_used = 0 ● Guida de Configuração: – http://linux-sunxi.org/Script.bin – http://linux-sunxi.org/Fex_Guide
  • 16. Infra-RED Deve ser habilitado no Script.bin (fex) ● Carregar módulo – modprobe sunxi-ir ● Verificar se foi inicializado corretamente – cat /proc/bus/input/devices – dmesg | grep IR ● Teste: – apt-get install input-utils – Input-events 0 ● Aparentemente funciona apenas com protocolo NEC [ir_para] ir_used = 1 ir0_rx = port:PB04<2><default><default><default>
  • 17. WIFI Deve ser habilitado no Script.bin (fex) Verificar se tem: [wifi_para] wifi_used = 1 wifi_sdc_id = 3 wifi_usbc_id = 2 wifi_usbc_type = 1 Etc... [usb_wifi_para] usb_wifi_used = 1 usb_wifi_usbc_num = 2 NOTA: Internamente é ligado em um barramento USB
  • 18. GPIO ● Deve ser habilitado no Script.bin (fex) – http://linux-sunxi.org/GPIO ● Carregar módulo – modprobe gpio-sunxi ● Programação Basica – # Exportar pino para o usarspace – echo 1 > /sys/class/gpio/export – # Configurar direção (Output) – echo out > /sys/class/gpio/gpio1_ph20/direction – # Alterar Valores – echo 1 > /sys/class/gpio/gpio1_ph20/value – echo 0 > /sys/class/gpio/gpio1_ph20/value [gpio_para] gpio_used = 1 gpio_num = 2 gpio_pin_1 = port:PH20<1><default><default><0> gpio_pin_2 = port:PH10<0><default><default><0>
  • 19. JAVA
  • 20. JAVA 8 ARM wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept- securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u6-b23/jdk-8u6-linux-arm-vfp-hflt.tar.gz tar zxvf jdk-8u6-linux-arm-vfp-hflt.tar.gz -C /opt mv jdk1.8.0_XX jdk1.8.0 update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0/bin/javac 1 update-alternatives --install /usr/bin/java java /opt/jdk1.8.0/bin/java 1 update-alternatives --config javac update-alternatives --config java ● Verificar se foi instalado corretamente java -version
  • 21. JAVA 8 ARM - interface gráfica Não precisamos de um ambiente gráfico completo como: GNOME , KDE, LXDE Podemos rodar diretamente no 'X' sem nenhuma coisa no monitor (nem o relógio) ● Você pode usar a API da Swing e AWT – Ainda não funciona o JAVA FX !!! = ( – Precisa fazer o driver da GPU MALI400 funcionar !! ● Instalar o X – # apt-get install xorg ● Configurar o script: ~/.xsession ● Startar o Servidor gŕafico – # startx
  • 22. ~/.xsession xrandr --output VGA1 --mode 1280x720 #For setting a video mode xrandr --fb 1280x720 #Not always required, sets the framebuffer size xset -dpms s off # Sua aplicação ! java -jar /opt/jdk1.8.0/demo/jfc/SwingSet2/SwingSet2.jar
  • 23. E quando as coisas NÃO dão CERTO ?
  • 24. Debugar pela UART ● É possível monitorar o processo de BOOT e saber o que está acontecendo pela porta UART ● Usei um ARDUINO UNO pra isso !! PS: No Leonardo acho que não da certo ! Tem que ter um chip separado de USB
  • 25. Placa
  • 27. Debugando usando o Arduino ● Nessa configuração o arduino está em RESET, ou seja, ele está funcionando apenas o CHIP USB (Atmega16U2) para fazer a conversão: – Serial UART → USB ● Plugue o arduino no seu computador ● Abra um terminal serial (pode ser o putty) ● No Linux: – # screen /dev/ttyACM{X} 115200
  • 28. Melhor que Raspberry ?!?! ● Bonitinho (vem com “case”) ● Mais rápido (1Ghz sem overclock) – FALAR MAIS.. ● Micro-SD ● WiFI ● Memória Interna (FLASH) ● MAAAAAsss não tem GPIO !!
  • 30. OpenDevice Open IoT (Internet Of Things) Platform and Framework. “Conjunto de ferramentas e APIs para construção de soluções de Internet das Coisas”
  • 31. OpenDevice ● Apis e Ferramentas que permitem construir sistemas de: – Automação Residencial – Monitoramento de Sensores – Monitoramento de Energia – Controle de Robôs – Smart City
  • 32. OpenDevice ● Objetivo: O principal objetivo é monitorar e controlar hardwares baratos como Arduino, RaspberryPI e plataformas semelhantes, local (offline) ou sobre a nuvem usando linguagens de programação de alto nível e com a abstração de protocolos e detalhes de baixo nível.
  • 33. Foco no que é importante ! Isso permite que você se concentre em seu projeto e na inovação, deixar os detalhes obscuros de protocolos de comunicação e especificações com OpenDevice, você vai dar um passo importante para o sucesso de seu projeto.
  • 35. Funcionalidades ● Open API (for: REST, JavaScript, Java, Android, Arduino, EnergiaIDE) ● Real-time (WebSockets) ● Event-Based ● Async & non-blocking ● Multi-protocolo (Usb, Bluetooth, TCP) ● Independente de Linguagem ● Independente de Plataforma (Windows, Linux, Mac, MIPs on OpenWRT) ● Lightweight/Built-in Servers (não precisa do tomcat ou glassfish)
  • 37. Event-driven and Real-Time Você não precisa consultar a informação, ela vem até você quando os dados estiverem disponíveis
  • 39. Blink - Arduino * C / Arduino
  • 44. Incrementando no JAVA Definição de Dispositivos Definição das Conexões * JAVA
  • 45. Adicionando Rest ! Adicione essa linha e seja feliz !!! Você pode acessar pelo navegador … ou com JavaScript !
  • 46. Agora ficou sério ! WebSockets ! Adicione essas linhas e fique Real-Time e de quebra servidor http ! Biblioteca de Rest e WebSocket ! (adicione no pom.xml) Ao adicionar o servidor de W.S automaticamente já é adicionado o servidor de REST
  • 47. Api JavaScript para WebSocket
  • 48. Instalação ● Usamos o Maven (arquivo pom.xml) Substitua: ${opendevice-version} pela ultima versão, atualmente: 0.1.2-SNAPSHOT. Qualquer dúvida consulte: https://opendevice.atlassian.net/wiki/display/DOC/A.+First+Steps+with+OpenDevice
  • 49. Instalação ● Adicionar o repositório da Sonatype
  • 50. Instalação (lib arduino/similar) ● Baixar ou Clonar o repositório do GIT – opendevice-hardware-libraries ● Copiar a pasta: arduino/OpenDevice – Para pasta /libraries da IDE do Arduino ● Reinicie a IDE do Arduino Github / Sources: https://github.com/OpenDevice
  • 52. Postura ! Nós somos desenvolvedores, não somos “normais” ACEITE ISSO.. !!! Devemos ser agentes de Transformação e Criação.
  • 53. Atitude ! Não espere a ideia brilhante ! Execute a ideia que você gosta. Descubra o que você gosta Não escute os outros ● Muita gente vai dizer que você não consegue ● Muita gente vai dizer que já existe
  • 55. Contatos ● E-mail: – ricardo@criativasoft.com.br – rjlr@cin.ufpe.br ● Facebook – /ricardojlrufino
  • 56. Link's ● OpenDevice: – http://opendevice.io – https://github.com/OpenDevice – https://opendevice.atlassian.net/wiki – http://opendevice.criativasoft.com.br ● Facebook – /opendevice
  • 57. Link's ● Onde Comprar ? (Gringos): – www.adafruit.com – www.sparkfun.com – www.seeedstudio.com – imall.iteadstudio.com – www.dx.com (mercado livre – demora....) ● Brasil – Lab de Garagem (http://www.labdegaragem.org – Multilógica Shop (http://multilogica-shop.com/); – Rlrobotics (http://www.rlrobotics.ind.br/arduino); – Webtronico (http://www.webtronico.com/)
  • 58. Obrigado pela sua atenção.