SlideShare una empresa de Scribd logo
David
@David_SanFal
www.biicode.com
Biicode:
1. Empezar con Arduino.
2. Crear un proyecto.
3. Biicode & Eclipse.
4. Reutilizacion de codigo.
5. Publica de manera rápida.
Internet of Things:
1. Ethernet / WiFi.
2. Temboo.
3. Carriot.
4. C/C++ & IoT: Desktop apps.
5. GTest: prueba tu código.
Índice
internet of things day 2014 (taller)
Como empezar: Arduino
1. Registro en la web
2. Descarga e instalación del cliente bii
https://www.biicode.com/downloads
$ bii init
$ bii setup:arduino
$ bii new
Code as usual
$ bii arduino:upload
Regístrate
https://www.biicode.com/downloads
Descarga el cliente
La carpeta donde se colocan todos tus
proyectos.
En biicode los proyectos se denominan
hives.
Workspace
$ mkdir biicode_workspace
$ cd biicode_workspace
~/biicode_workspace$ bii initUsername:
your_user_namePassword for your_user_name:
your_password
Initialization correct, now you can create your first
hive
$ bii setup:arduino
Crea tu Workspace
Instala todo con un comando
$ bii setup:arduino
Hive
Son los proyectos en
biicode.
Puedes tener tantos
hives como quieras.
$ bii new iot_day
Select language: (java/node/fortran/python/cpp/arduino/None)
Introduce lang: arduino
How would you like to name your first block?
Introduce block name: my_blink
INFO: Selected block name: my_blink
Generate default firmware? (YES/no): [ENTER]
Introduce board: uno
Arduino detected on port COM17
Select IDE: (eclipse/none)
Introduce ide (default:None) (/o list options): [ENTER]
Crea tu Hive
Blink & biicode
#include "Arduino.h"
int led = 13;
void setup(){
pinMode(led, OUTPUT);
}
void loop(){
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
}
Única
diferencia
$ cd iot_day
~/iot_day$ bii arduino:build
...
~/iot_day$ bii
arduino:upload
Tus settings
$ cd iot_day
~/iot_day$ bii arduino:settings
Introduce board: uno
Arduino detected on port COM17
Select IDE: (eclipse/none)Introduce ide
(default:None) (/o list options): eclipse
~/iot_day$ bii arduino:configure
https://www.eclipse.org/downloads
Usemos Eclipse
Importa tu hive en Eclipse
Importa tu hive en Eclipse
Vamos a programar
#include "Arduino.h"
int led = 13;
void setup(){
Serial.begin(9600);
pinMode(led, OUTPUT);
}
void loop(){
Serial.println(F("Led ON"));
digitalWrite(led, HIGH);
delay(1000);
Serial.println(F("Led OFF"));
digitalWrite(led, LOW);
delay(1000);
}
$ cd iot_day
~/iot_day$ bii
arduino:monitor
~/iot_day$ bii arduino:upload
Monitor serie
Reuse code
hive_name$ bii find
hive_name$ bii arduino:update
www.biicode.com/fenix
main.cpp
Reuse code
#include "fenix/blink/blink.h"
Blink my_blink;
void setup(){
my_blink.setup (13, 1000);
}
void loop(){
my_blink.loop();
}
blink.cpp
hive_name$ bii find
hive_name$ bii arduino:update
iot_day$ bii publish
block: my_blinkIntroduce tag: STABLE
Introduce msg: My first block
INFO: Successfully published user_name/hello(user_name/master):
0
publica tu código
internet of things day 2014 (taller)
https://www.biicode.com/lasote
arduino_http
https://www.biicode.com/diego
ardunet
Ethernet / WiFi
https://www.biicode.com/lasote
weather
• Arduino.h
• LiquidCrystal.h
• stdlib.h
• lasote/arduino_http/http_client.h
• lasote/stream_processor/stream_json_processor.h
• lasote/weather/weather_client.h
• ntruchsess/arduino_uip/uipethernet.h
HTTP Client: Weather
bii deps --graph
https://www.biicode.com/lasote
Cliente HTTP para el envío de la
temperatura usando Carriots y
Ethernet.
DEVICE_ID
API_KEY
Posibles errores
No envia el email:
Error al escribir el listenera
Error 401: No tenemos vien puesto el ID o la
Key
https://www.biicode.com/diego
Envía un email con temboo y
adafruit cc3000 WiFi
Créate una cuenta en Temboo https://www.temboo.com/
Entra en tu cuenta en Temboo, y mira tus settings
TEMBOO_ACCOUNT
TEMBOO_APP_KEY_NAME
TEMBOO_APP_KEY
Créate una nueva credencial en Temboo para enviar
mensajes a tu cuenta de Gmail
Vemos que nuestra nueva credencial está correctamente
guardada:
TEMBOO_MYMAIL_CREDENTIAL
Definimos las variables que son necesarias acerca del WiFi y
de nuestra cuenta en Temboo
main.cpp
//This file, located in your hive root folder define your wifi settings. Do not publish it!
//mywifidetails.h
//#define WLAN_SSID "YOUR_SSID" // cannot be longer than 32 characters!
//#define WLAN_PASS "your_password"
//#define WLAN_SECURITY YOUR_WIFI_SECURITY //WLAN_SEC_UNSEC, WLAN_SEC_WEP,
WLAN_SEC_WPA or WLAN_SEC_WPA2
//This file will contain your TEMBOO_MYMAIL_CREDENTIAL, TEMBOO_ACCOUNT, TEMBOO_APP_KEY_NAME,
TEMBOO_APP_KEY, do not publish it with your block
//tembooaccount.h
//#define TEMBOO_ACCOUNT "name_account"
//#define TEMBOO_APP_KEY_NAME "application_account_name"
//#define TEMBOO_APP_KEY "application_account_name_key"
//#define TEMBOO_MYMAIL_CREDENTIAL "credential_name"
Abrimos el arduino monitor y cargamos el código:
GTest: Prueba tu código
#include "google/gtest/gtest.h"
int sum(int a, int b){
return a + b;
}
TEST(sum, Normal){
EXPECT_EQ(5, sum(2, 3));
}
void main(int argc, char **argv){
testing::InitGoogleTest(&argc,
argv);
return RUN_ALL_TESTS();
}

Más contenido relacionado

PDF
internet of things day 2014 (presentación)
PPTX
Meet up arduino madrid: Biicode
PDF
Tutorial CodeIgniter + Netbeans 7
PPT
Arduino
PDF
Interfaz visual basic 6 y arduino
PDF
Interfaz visual basic 6 y arduino
PDF
Biicode hacklab bq
PDF
inLab FIB MeteorJS workshop by uLab UPC - Telefonica I+D
internet of things day 2014 (presentación)
Meet up arduino madrid: Biicode
Tutorial CodeIgniter + Netbeans 7
Arduino
Interfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduino
Biicode hacklab bq
inLab FIB MeteorJS workshop by uLab UPC - Telefonica I+D

Similar a internet of things day 2014 (taller) (20)

PPTX
Charla Hello Real World para PHPmad
PPTX
SVQXDG - Introducción a Embeddinator-4000
PDF
CROL - Proyecto CoDiCe TIC Robótica Arduino.pdf
PDF
CREATE_AP CANAIMA
PDF
Desarrollo de aplicaciones multiplataforma 1/2
PDF
Instalacion de biicode
PPT
Extending titanium
PDF
Arán Lora - Análisis dinámico de aplicaciones en iOS sin Jailbreak [rooted2019]
PDF
Tutorial
PDF
raspeberry para domotica.pdf
PDF
Hardware Hacking con Arduino y RAD
PDF
Pinguino aetel
PPT
Desarrollar juegos para Iphone e Ipad con Cocos2D
PDF
Hardware Hacking Rad
PPT
Symfony Parte 2
PDF
Android reversing 101.pdf
PDF
Curso de VoIP / Parte 04: Conceptos avanzados
PPTX
Primeros pasos con Docker
Charla Hello Real World para PHPmad
SVQXDG - Introducción a Embeddinator-4000
CROL - Proyecto CoDiCe TIC Robótica Arduino.pdf
CREATE_AP CANAIMA
Desarrollo de aplicaciones multiplataforma 1/2
Instalacion de biicode
Extending titanium
Arán Lora - Análisis dinámico de aplicaciones en iOS sin Jailbreak [rooted2019]
Tutorial
raspeberry para domotica.pdf
Hardware Hacking con Arduino y RAD
Pinguino aetel
Desarrollar juegos para Iphone e Ipad con Cocos2D
Hardware Hacking Rad
Symfony Parte 2
Android reversing 101.pdf
Curso de VoIP / Parte 04: Conceptos avanzados
Primeros pasos con Docker
Publicidad

Último (9)

PPTX
Conceptos basicos de Base de Datos y sus propiedades
PPTX
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
PPTX
Fundamentos de Python - Curso de Python dia 1
PPTX
Control de seguridad en los sitios web.pptx
PDF
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
PPTX
Implementación equipo monitor12.08.25.pptx
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PPTX
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
PDF
Presentacion de compiladores e interpretes
Conceptos basicos de Base de Datos y sus propiedades
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
Fundamentos de Python - Curso de Python dia 1
Control de seguridad en los sitios web.pptx
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
Implementación equipo monitor12.08.25.pptx
AutoCAD Herramientas para el futuro, Juan Fandiño
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
Presentacion de compiladores e interpretes
Publicidad

internet of things day 2014 (taller)