This document discusses microcontrollers and the Internet of Things (IoT). It provides an overview of IoT basics including common hardware platforms, connectivity options, and energy sources. It also presents several example IoT usage scenarios such as data aggregation and presentation, real-time home automation, and invoking web services. Code examples are provided for collecting sensor data with Arduino and Plotly and controlling devices remotely via a web interface on an ESP8266 microcontroller.
TRA VECCHI DRIVER E I NUOVI PARADIGMI DI CONSUMO DELLA SHARING ECONOMYMartina Vazzoler
Il focus analizza i driver di partenza della nuova “economia di condivisione” attraversando i fondamenti del movimento del Cluetrain. Da qui si passa a verificare perché da questi presupposti si è delineato il Marketing 3.0 di Philip Kotler. Case history di successo e proiezione dei nuovi mercati di conversazione, all'insegna del mito di Prometeo.
TRA VECCHI DRIVER E I NUOVI PARADIGMI DI CONSUMO DELLA SHARING ECONOMYMartina Vazzoler
Il focus analizza i driver di partenza della nuova “economia di condivisione” attraversando i fondamenti del movimento del Cluetrain. Da qui si passa a verificare perché da questi presupposti si è delineato il Marketing 3.0 di Philip Kotler. Case history di successo e proiezione dei nuovi mercati di conversazione, all'insegna del mito di Prometeo.
Uber on Using Horovod for Distributed Deep Learning (AIM411) - AWS re:Invent ...Amazon Web Services
One of the main challenges customers face is running efficient deep learning training over multiple nodes. In this chalk talk, Uber discusses how to use Horovod, a distributed training framework, to speed up deep learning training on TensorFlow and PyTorch.
Cars and Computers: Building a Java CarputerIndicThreads
The average family car of today has significantly more computing power than got the first astronauts to the moon and back. Modern cars contain more and more computers to monitor and control every aspect of driving, from anti-lock brakes to engine management to satellite navigation.
This session will look at how Java can (and is) used in cars to add more data collection. This will cover a project that was written to collect a variety of data from a car whilst driving (including video) and then play it back later so driving style and performance could be evaluated. There will be plenty of demonstrations.
Session at the IndicThreads.com Confence held in Pune, India on 27-28 Feb 2015
http://www.indicthreads.com
http://pune15.indicthreads.com
Uber on Using Horovod for Distributed Deep Learning (AIM411) - AWS re:Invent ...Amazon Web Services
One of the main challenges customers face is running efficient deep learning training over multiple nodes. In this chalk talk, Uber discusses how to use Horovod, a distributed training framework, to speed up deep learning training on TensorFlow and PyTorch.
Cars and Computers: Building a Java CarputerIndicThreads
The average family car of today has significantly more computing power than got the first astronauts to the moon and back. Modern cars contain more and more computers to monitor and control every aspect of driving, from anti-lock brakes to engine management to satellite navigation.
This session will look at how Java can (and is) used in cars to add more data collection. This will cover a project that was written to collect a variety of data from a car whilst driving (including video) and then play it back later so driving style and performance could be evaluated. There will be plenty of demonstrations.
Session at the IndicThreads.com Confence held in Pune, India on 27-28 Feb 2015
http://www.indicthreads.com
http://pune15.indicthreads.com
The Qualcomm® Snapdragon™ LLVM, a product of Qualcomm Technologies, Inc. is an optimizing compiler tuned for 32- and 64-bit Snapdragon processors. In this session you will learn how to use Snapdragon LLVM to build your Android app’s native code. We’ll provide guidelines on how to target your C and C++ code to exploit Snapdragon LLVM and sample code demonstrating areas of acceleration.
Learn more about Snapdragon LLVM Compiler for Android: https://developer.qualcomm.com/mobile-development/increase-app-performance/snapdragon-llvm-compiler-android
Watch this presentation on YouTube:
https://www.youtube.com/watch?v=6lKOY2_Bg70
Dart on Arm - Flutter Bangalore June 2021Chris Swan
Running Dart on Arm servers, covering the trade offs between JIT and AOT. The dependencies needed for building and running AOT binaries, and how to cross compile Arm binaries.
How to Introduce Telemetry Streaming (gNMI) in Your Network with SNMP with Te...InfluxData
How to Introduce Telemetry Streaming (gNMI) in Your Network with SNMP with Telegraf
Network to Code, LLC is a network automation solution provider that helps companies transform the way their networks are deployed, managed, and consumed on a day-to-day basis by leveraging network automation, software development, and DevOps technologies and principles. They provide highly sought-after training and consulting services that integrate and deploy network automation technology solutions to improve reliability, security, efficiency, time to market, and customer satisfaction while reducing operational costs.
In this session Josh VanDeraa and David Flores from Network to Code will present how to monitor your network devices with Telegraf using both the SNMP and the gNMI input plugins. They will also present what the challenges are with ingesting the same type of data from different sources and how to remediate that by normalizing the data in Telegraf using processors.
Virgin Hyperloop One is the leader in realizing a Hyperloop mass transportation system (VHOMTS), which will bring the cities and people closer together than ever before while reducing pollution, emission of greenhouse gases, transit times, etc. To build a safe and user friendly Hyperloop, we need to answer key technical and business questions, including: – ‘What is the safe maximum speed the hyperloop can go?’ – ‘How many pods (the vehicles that carry people) do we need to fulfill a given demand?’
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...Codemotion
Codemotion Rome 2015 - Gli anni passati a veder nascere e crescere tecnologie e tendenze ci aiutano a comprendere come l'Internet delle Cose sia diventata matura per il mercato delle imprese. L’intervento, che include una panoramica sulle tendenze attuali e future dell’IoT, è centrato sullo sviluppo di soluzioni basate su standard industriali in ascesa (eg. Z-Wave), mettendo in evidenza gli inevitabili vantaggi e limiti derivanti dall’adozione di una metodologia industriale: solo un approccio industriale può rappresentare il vero e proprio salto di qualità per proporre prodotti efficaci per un mercato a doppia cifra.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Why React Native as a Strategic Advantage for Startup Innovation.pdfayushiqss
Do you know that React Native is being increasingly adopted by startups as well as big companies in the mobile app development industry? Big names like Facebook, Instagram, and Pinterest have already integrated this robust open-source framework.
In fact, according to a report by Statista, the number of React Native developers has been steadily increasing over the years, reaching an estimated 1.9 million by the end of 2024. This means that the demand for this framework in the job market has been growing making it a valuable skill.
But what makes React Native so popular for mobile application development? It offers excellent cross-platform capabilities among other benefits. This way, with React Native, developers can write code once and run it on both iOS and Android devices thus saving time and resources leading to shorter development cycles hence faster time-to-market for your app.
Let’s take the example of a startup, which wanted to release their app on both iOS and Android at once. Through the use of React Native they managed to create an app and bring it into the market within a very short period. This helped them gain an advantage over their competitors because they had access to a large user base who were able to generate revenue quickly for them.
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
CyanicLab, an offshore custom software development company based in Sweden,India, Finland, is your go-to partner for startup development and innovative web design solutions. Our expert team specializes in crafting cutting-edge software tailored to meet the unique needs of startups and established enterprises alike. From conceptualization to execution, we offer comprehensive services including web and mobile app development, UI/UX design, and ongoing software maintenance. Ready to elevate your business? Contact CyanicLab today and let us propel your vision to success with our top-notch IT solutions.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
Advanced Flow Concepts Every Developer Should KnowPeter Caitens
Tim Combridge from Sensible Giraffe and Salesforce Ben presents some important tips that all developers should know when dealing with Flows in Salesforce.
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Hivelance Technology
Cryptocurrency trading bots are computer programs designed to automate buying, selling, and managing cryptocurrency transactions. These bots utilize advanced algorithms and machine learning techniques to analyze market data, identify trading opportunities, and execute trades on behalf of their users. By automating the decision-making process, crypto trading bots can react to market changes faster than human traders
Hivelance, a leading provider of cryptocurrency trading bot development services, stands out as the premier choice for crypto traders and developers. Hivelance boasts a team of seasoned cryptocurrency experts and software engineers who deeply understand the crypto market and the latest trends in automated trading, Hivelance leverages the latest technologies and tools in the industry, including advanced AI and machine learning algorithms, to create highly efficient and adaptable crypto trading bots
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
1. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
W H E N W E B H I T M I C R O C O N T R O L L E R S
Making IOT
2. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
Agenda
A Bit About Me
Intro
Basics
Usage Scenarios
3. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
Ex
Dev
4. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
זאת ובכל,עבודה
ולוחצים לחוצים לקוחות
משעממים פרוייקטים
13. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
14. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
15. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
G E T T I N G S T A R T E D W I T H A R D U I N O
IOT Intro
16. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
Internet
Computers, connected through Internet protocols
Display or manipulate documents
17. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
Internet of Things (IoT)
Computers, sensors and actuators connected
through Internet protocols
Measure or manipulate physical properties
18. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
IoT Reference Model
19. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
IOT Basics
20. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
Ardu-XXX
low performance microcontrollers
IO: GPIOs
Arduino, PIC, Basic Stamp, …
ARM-based
high performance microcontrollers
IO: GPIOs
Teensy, Arduino ZERO, …
XXX-Berry
Trimmed down Linux Distros
IO: usb, hdmi, ...
Raspie, Hackberry, ..
High Rollers
Full Linux Players
IO: whatever
Intel Galileo & Edison, Google (Android/Brillo), Samsung ARTIK
Hardware
21. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
IoT hardware has a pretty basic interface to the real
world
GPIO: read/write boolean voltage levels
Analog input: sensors
Fast switching
Interaction
Measure:
read sensor value from input pin
Process:
translate data models
Manipulate:
write actuator value to output pin
Hardware
22. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
Ethernet (built-in or shield), plug it in anywhere
Wi-Fi (module), configured once per location
3G (module), configured once, easy to use
Bluetooth/BLE (module), via 3G/Wi-Fi of phone
ZigBee (module), via ZigBee gateway
USB (built-in), via desktop computer
Connectivity
23. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
Energy
Wall socket, Power over Ethernet (w/ adapters),
batteries (direct or Minty Boost USB charger), LiPo
batteries (also shields), solar panels, …
Low power: lets hardware sleep to save energy
Future: new battery technologies, ultra low power
hardware, energy harvesting
Note: Moore’s law does not apply to batteries
24. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
Usage Scenarios
25. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
Accelerometer were only the beginning
Remember “Smart Alarm Clocks”?
QS
Physical - accelerometers
Cognitive: EEG sensors
Behavioral Correlation Analyzers?
Heuristical/Neural
[[User Story]]
Data Aggregation, Harvesting &
Presentation
26. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
Xively
Plot.ly
Data Aggregation, Harvesting &
Presentation
27. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
Pachube / Xively
The Pachube (now Xively) service lets you store,
monitor and share sensor data in open formats
PUT /v2/feeds/<your feed id>.csv HTTP/1.1rn
Host: api.xively.comrn
X-ApiKey: <your API key>rn
Content-Length: <content length>rn
rn
<sensor name>,<sensor value>
GET /v2/feeds/<feed id>.json HTTP/1.1rn
Host and X-ApiKey as above…rnrn
28. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
#include <Ethernet.h>
#include <SPI.h>
#include "plotly_streaming_ethernet.h"
// Sign up to plotly here: https://plot.ly
// View your API key and stream tokens here: https://plot.ly/settings
#define nTraces 2
// View your tokens here: https://plot.ly/settings
// Supply as many tokens as data traces
// e.g. if you want to ploty A0 and A1 vs time, supply two tokens
char *tokens[nTraces] = {"a1b1c1d1e1f1", "a2b2c2d2e2f2"};
// arguments: username, api key, streaming token, filename
plotly graph = plotly("zvika.markfeld", “********", tokens, "analog", nTraces);
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte my_ip[] = { 199, 168, 222, 18 }; // google will tell you: "public ip address"
void startEthernet(){
Serial.println("... Initializing ethernet");
if(Ethernet.begin(mac) == 0){
Serial.println("... Failed to configure Ethernet using DHCP");
// no point in carrying on, so do nothing forevermore:
// try to congifure using IP address instead of DHCP:
Ethernet.begin(mac, my_ip);
}
Serial.println("... Done initializing ethernet");
delay(1000);
}
Plot.ly
29. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
startEthernet();
graph.fileopt = "overwrite"; // See the "Usage" section in https://github.com/plotly/arduino-api
for details
bool success;
success = graph.init();
if(!success) {
Serial.println("Error! ");
while(true);
}
graph.openStream();
}
unsigned long x;
int y;
void loop() {
graph.plot(millis(), analogRead(A0), tokens[0]);
graph.plot(millis(), analogRead(A1), tokens[1]);
delay(50);
}
Plot.ly
30. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
We people LOVE remote control!
Realtime Home Automation
31. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
Firmata
S4A, IOIO, NodeJS/Johnny5
Teleduino
Web / JS / Bookmark Scripting
Realtime Home Automation
32. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
Teleduino
33. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
Game Changer
Super low cost (~3 USD)
LUA compliant
Arduino compliant
Complete Solution
Forkable: NodeMCU
ESP8266
34. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
wifi.setmode(wifi.STATION)
wifi.sta.config("YOUR_NETWORK_NAME","YOUR_NETWORK_PASSWORD")
print(wifi.sta.getip())
led1 = 3
led2 = 4
gpio.mode(led1, gpio.OUTPUT)
gpio.mode(led2, gpio.OUTPUT)
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
conn:on("receive", function(client,request)
local buf = "";
local _, _, method, path, vars = string.find(request, "([A-Z]+) (.+)?(.+) HTTP");
if(method == nil)then
_, _, method, path = string.find(request, "([A-Z]+) (.+) HTTP");
end
local _GET = {}
if (vars ~= nil)then
for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do
_GET[k] = v
end
end
LUA
37. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
/* Setup shield-specific #include statements */
#include <SPI.h>
#include <Dhcp.h>
#include <Dns.h>
#include <Ethernet.h>
#include <EthernetClient.h>
#include <Temboo.h>
#include "TembooAccount.h" // Contains Temboo account information
byte ethernetMACAddress[] = ETHERNET_SHIELD_MAC;
EthernetClient client;
int numRuns = 1; // Execution count, so this doesn't run forever
int maxRuns = 10; // Maximum number of times the Choreo should be executed
Arduino Mail Sender
38. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
void setup() {
Serial.begin(9600);
// For debugging, wait until the serial console is connected
delay(4000);
while(!Serial);
Serial.print("DHCP:");
if (Ethernet.begin(ethernetMACAddress) == 0) {
Serial.println("FAIL");
while(true);
}
Serial.println("OK");
delay(5000);
Serial.println("Setup complete.n");
}
Arduino Mail Sender
39. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
void loop() {
if (numRuns <= maxRuns) {
Serial.println("Running SendMessage - Run #" + String(numRuns++));
TembooChoreo SendMessageChoreo(client);
// Invoke the Temboo client
SendMessageChoreo.begin();
// Set Temboo account credentials
SendMessageChoreo.setAccountName(TEMBOO_ACCOUNT);
SendMessageChoreo.setAppKeyName(TEMBOO_APP_KEY_NAME);
SendMessageChoreo.setAppKey(TEMBOO_APP_KEY);
// Set Choreo inputs
String ClientIDValue = "zakakflemvrid";
SendMessageChoreo.addInput("ClientID", ClientIDValue);
Arduino Mail Sender
40. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
// Identify the Choreo to run
SendMessageChoreo.setChoreo("/Library/Google/Gmailv2/Messages/SendMessage");
// Run the Choreo; when results are available, print them to serial
SendMessageChoreo.run();
while(SendMessageChoreo.available()) {
char c = SendMessageChoreo.read();
Serial.print(c);
}
SendMessageChoreo.close();
}
Serial.println("nWaiting...n"); delay(30000);
}
Arduino Mail Sender
42. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
Add physical dimension to your social feed
Send E-Mail alerts for home security system
Read newspapers and decide whether it’s going to be
a good day…
Order an Uber cab whenever leaving the house
Physical Trader
Choreo Example Scenarios
43. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
NodeMCU / Spark Core
44. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
Connect to the wireless network
print(wifi.sta.getip())
--nil
wifi.setmode(wifi.STATION)
wifi.sta.config("SSID","password")
print(wifi.sta.getip())
--192.168.18.110
Arduino like IO access
pin = 1
gpio.mode(pin,gpio.OUTPUT)
gpio.write(pin,gpio.HIGH)
gpio.mode(pin,gpio.INPUT)
print(gpio.read(pin))
NodeMCU
45. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
HTTP Client
-- A simple http client
conn=net.createConnection(net.TCP, false)
conn:on("receive", function(conn, pl) print(pl) end)
conn:connect(80,"121.41.33.127")
conn:send("GET / HTTP/1.1rnHost: www.nodemcu.comrn"
.."Connection: keep-alivernAccept: */*rnrn")
HTTP Server
-- a simple http server
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
conn:on("receive",function(conn,payload)
print(payload)
conn:send("<h1> Hello, NodeMCU.</h1>")
end)
end)
HTTP
46. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
Mash-ups
A mash-up combines two or more Web services
47. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
Mash-ups
Once devices have APIs, they become scriptable
Logic moves out of device, into the Cloud
e.g. Web-enabled LED + Yahoo Weather API =
ambient weather notification
IoT enables physical mash-ups of things
48. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
Online Physical Chess?
Custom Apps
49. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
Advanced Data Analysis
Mobile “Things”
Future
50. ForReal Team 2014-15 | All rights reserved | www.forrealteam.com | learn.forrealteam.com
Thank You!