IoT with Esquilo and JavaScript · IoT with Esquilo and JavaScript + What is Esquilo? IoT...

Preview:

Citation preview

IoT with Esquilo and JavaScript

+

What is Esquilo?

● IoT connectivity + Arduino usability + KISS philosophy● NOT a Linux & Arduino mashup● NOT a cloud-controlled widget● Complete IoT solution (hardware + software + cloud)

Everything is Built In

Web IDEStored in flashMulti-file source editorSyntax highlightingSource level debugger

BreakpointsSteppingWatchesBacktrace

File managerLive console

Squirrel LanguageEmbedded application is programmed in SquirrelVery similar syntax to JavaScript or C++Includes hardware libraries plus Arduino emulationYour functions are callable as web services (from JavaScript, Python,

Java, C, etc.)Runs in isolated VM

Esquilo RPCEmbedded functions are automatically brought out as web service

endpointsData transferred in both directions with JSONEasy with any language that has an HTTP client (JavaScript, Python,

Java, C, Ruby, etc.)

Weather Station Demo

Weather Station Squirrel Code

Import sensor drivers

Create I2C instance on bus 0

Create sensor instances

Read sensors, populate return object

getWeather() callable with POSTand GET automatically

Weather Station HTML

Esquilo RPC

Weather Station JavaScript1) ERPC POST to call getWeather() embedded code

4) Populate view

3) Readings returned as JSON object

2) Embedded Squirrel code runs on device{

Grove Demo

Async Events & WebSockets (Squirrel)

Send async update to web app

Register pin change callback

Control LED based on physical and web app button

Accept websocket connections

Async Events & WebSockets (JavaScript)

Send web app button change to board

Get button press change events over websocket

Match screen background to LED

Secure Cloud Access

Esquilo connects to the Nest via a TLS tunnelMutual X.509 certificate authenticationHardware-accelerated AES-128/256Tunnel ANY protocol (HTTP, CoAP, MQTT, etc.)HTTP secure proxy via device URL

Esquilo Nest

Esquilo cloud site

Manage Esquilos

Find my Esquilo

Esquilo Hardware

120 MHz ARM Cortex-M4F – Freescale Kinetis K64F1MB flash, 256KB SRAM, 8KB EEPROM802.11b/g/n Wi-FiArduino UNO R3 shieldsHardware cryptography engineHardware floating point6-17V DC power input (or 5V via USB)Micro-USB (OTG device or host)MicroSD (up to 32 GB)

46 digital I/OsSerial buses: 2 x SPI, 2 x I2C, 5 x UART, 1 x CAN18 PWM outputsQuadrature digital input16 x 16-bit analog inputs (4 differential)Analog output with 12-bit resolutionPrecision voltage referenceAnalog comparator

Thank youhttp://esquilo.io

RGB LED Demo

Recommended