38

Fab10: arduino & biicode

Embed Size (px)

DESCRIPTION

biicode technology gives you several advantages for enriching your Arduino experience: -> Save your project in different folders for a better organization. -> Reuse yours and other users´ code. Reusing made easy: just #include the file you need and you get it. No more copy and paste files from project to project or dowloading zip files from tutorials. -> This is a simple and fast way to compile and upload your code in your Arduino. -> You can use the text editors of your choice, also we provide Eclipse integration. -> We are hosting adafruit, sparkfun and many other libraries, you won’t need to download and install libraries in your SDK anymore. https://www.biicode.com/ http://docs.biicode.com/arduino.html

Citation preview

Page 1: Fab10: arduino & biicode
Page 2: Fab10: arduino & biicode

Biicode:

1. Begin with Arduino.

2. Create your workspace.

3. Biicode & Eclipse.

4. How to reuse code.

5. Publish your code.

IoT examples:

1. temboo & twitter.a. temboo.b. adafruit cc3000.c. adafruit 10dof.d. LCD.

2. temboo & nexmo.a. temboo.b. adafruit cc3000.c. adafruit 10dof.d. Smartphone.

Index

Page 3: Fab10: arduino & biicode
Page 4: Fab10: arduino & biicode

How to begin: Arduino

1. Create a web account.2. Download biicode client. https://www.biicode.

com/downloads

$ bii init

$ bii setup:arduino

$ bii new

Code as usual

$ bii arduino:upload

Page 5: Fab10: arduino & biicode

Register

Page 6: Fab10: arduino & biicode

https://www.biicode.com/downloads

Download biicode

Page 7: Fab10: arduino & biicode

$ mkdir biicode_workspace

$ cd biicode_workspace

~/biicode_workspace$ bii init

Username: your_user_name

Password for your_user_name: your_password

Initialization correct, now you can create your first hive

$ bii setup:arduino

Create your Workspace

Page 8: Fab10: arduino & biicode

The workspace is folder where all project are placed.

In biicode, we call hives to the projects.

Workspace

Page 9: Fab10: arduino & biicode

All tools with one command

$ bii setup:arduino

Page 10: Fab10: arduino & biicode

$ bii new fab10

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]

Create your Hive

Page 11: Fab10: arduino & biicode

Hive

there are the biicode projects.

You can have all the hive you like.

Page 12: Fab10: arduino & biicode

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);

}

All you need to change

$ cd fab10

~/fab10$ bii arduino:build

...

~/fab10$ bii arduino:upload

Page 13: Fab10: arduino & biicode

your settings

$ cd fab10

~/fab10$ 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

Page 14: Fab10: arduino & biicode

https://www.eclipse.org/downloads

Eclipse

Page 15: Fab10: arduino & biicode

Import your hive into Eclipse

Page 16: Fab10: arduino & biicode

Build your hive in Eclipse

Page 17: Fab10: arduino & biicode

Lets code#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);

}

Page 18: Fab10: arduino & biicode

$ cd fab10

~/fab10$ bii arduino:monitor

~/fab10$ bii arduino:upload

Serial monitor

Page 19: Fab10: arduino & biicode

Reuse code

hive_name$ bii find

hive_name$ bii arduino:update

www.biicode.com/fenix

main.cpp

Page 20: Fab10: arduino & biicode

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

Page 21: Fab10: arduino & biicode

~/fab10$ bii publish

block: my_blinkIntroduce tag: STABLE

Introduce msg: My first block

INFO: Successfully published user_name/hello(user_name/master): 0

Publish your code

Page 22: Fab10: arduino & biicode

bii deps --graph

Page 23: Fab10: arduino & biicode

IoT Examples

Page 26: Fab10: arduino & biicode

Create an account in Temboo https://www.temboo.com/

Page 27: Fab10: arduino & biicode

See your Temboo settings.

TEMBOO_ACCOUNT

TEMBOO_APP_KEY_NAME

TEMBOO_APP_KEY

Page 28: Fab10: arduino & biicode

Create a new Temboo credential to send an email to a Gmail account.

Page 29: Fab10: arduino & biicode

See that all are correctly saved.

TEMBOO_MYMAIL_CREDENTIAL

Page 30: Fab10: arduino & biicode

Define the necessary variables to WiFi and to 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"

Page 31: Fab10: arduino & biicode

Use the serial monitor to upload your code.

Page 34: Fab10: arduino & biicode

Create an account in Nexmo: https://www.nexmo.com/

Page 35: Fab10: arduino & biicode

Enter your mobile number to receive a SMS to activate your account

Page 36: Fab10: arduino & biicode

See your Nexmo API settings.

NEXMO_API_KEYNEXMO_API_SECRET

Page 37: Fab10: arduino & biicode

Define the necessary variables to WiFi and to 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 NEXMO_API_KEY "api_key"

//#define NEXMO_API_SECRET “api_secret”

//#define NUMBER_TO “number”

Page 38: Fab10: arduino & biicode

Use the serial monitor to upload your code.