-
Notifications
You must be signed in to change notification settings - Fork 279
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ba43c2e
commit 685bc0b
Showing
4 changed files
with
190 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
/* | ||
This a simple example of the aREST Library for the ESP8266 WiFi chip. | ||
This example illustrate the cloud part of aREST that makes the board accessible from anywhere | ||
See the README file for more details. | ||
Written in 2016 by Marco Schwartz under a GPL license. | ||
*/ | ||
|
||
// Import required libraries | ||
#include <ESP8266WiFi.h> | ||
#include <PubSubClient.h> | ||
#include <aREST.h> | ||
|
||
// Clients | ||
WiFiClient espClient; | ||
PubSubClient client(espClient); | ||
|
||
// Create aREST instance | ||
aREST rest = aREST(client); | ||
|
||
// aREST Pro key (that you can get at dashboard.arest.io) | ||
char * key = "your_arest_key"; | ||
|
||
// WiFi parameters | ||
const char* ssid = "your_wifi_network_name"; | ||
const char* password = "your_wifi_network_password"; | ||
|
||
// Variables to be exposed to the API | ||
int temperature; | ||
int humidity; | ||
|
||
// Functions | ||
void callback(char* topic, byte* payload, unsigned int length); | ||
|
||
void setup(void) | ||
{ | ||
// Start Serial | ||
Serial.begin(115200); | ||
|
||
// Set aREST key | ||
rest.setKey(key, client); | ||
|
||
// Set callback | ||
client.setCallback(callback); | ||
|
||
// Init variables and expose them to REST API | ||
temperature = 24; | ||
humidity = 40; | ||
rest.variable("temperature",&temperature); | ||
rest.variable("humidity",&humidity); | ||
|
||
// Give name to device | ||
rest.set_name("esp8266"); | ||
|
||
// Connect to WiFi | ||
WiFi.begin(ssid, password); | ||
while (WiFi.status() != WL_CONNECTED) { | ||
delay(500); | ||
Serial.print("."); | ||
} | ||
Serial.println(""); | ||
Serial.println("WiFi connected"); | ||
|
||
// Set output topic | ||
char* out_topic = rest.get_topic(); | ||
|
||
} | ||
|
||
void loop() { | ||
|
||
// Connect to the cloud | ||
rest.handle(client); | ||
|
||
} | ||
|
||
// Handles message arrived on subscribed topic(s) | ||
void callback(char* topic, byte* payload, unsigned int length) { | ||
|
||
rest.handle_callback(client, topic, payload, length); | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
/* | ||
This a simple example of the aREST Library for the Arduino/Genuino MKR1000 board. | ||
See the README file for more details. | ||
Written in 2016 by Marco Schwartz under a GPL license. | ||
*/ | ||
|
||
// Import required libraries | ||
#include <SPI.h> | ||
#include <WiFi101.h> | ||
#include <PubSubClient.h> | ||
#include <aREST.h> | ||
|
||
// Status | ||
int status = WL_IDLE_STATUS; | ||
|
||
// Clients | ||
WiFiClient wifiClient; | ||
PubSubClient client(wifiClient); | ||
|
||
// Create aREST instance | ||
aREST rest = aREST(client); | ||
|
||
// aREST Pro key (that you can get at dashboard.arest.io) | ||
char * key = "your_arest_key"; | ||
|
||
// WiFi parameters | ||
char ssid[] = "your_wifi_network_name"; | ||
char password[] = "your_wifi_network_password"; | ||
|
||
// Variables to be exposed to the API | ||
int temperature; | ||
int humidity; | ||
|
||
// Declare functions to be exposed to the API | ||
int ledControl(String command); | ||
|
||
// Callback function for the cloud connection | ||
void callback(char* topic, byte* payload, unsigned int length); | ||
|
||
void setup(void) | ||
{ | ||
// Start Serial | ||
Serial.begin(115200); | ||
|
||
// Set aREST key | ||
rest.setKey(key, client); | ||
|
||
// Set callback | ||
client.setCallback(callback); | ||
|
||
// Init variables and expose them to REST API | ||
temperature = 24; | ||
humidity = 40; | ||
rest.variable("temperature",&temperature); | ||
rest.variable("humidity",&humidity); | ||
|
||
// Function to be exposed | ||
rest.function("led",ledControl); | ||
|
||
// Give name to device | ||
rest.set_name("mkr1000"); | ||
|
||
// Connect to WiFi | ||
while (status != WL_CONNECTED) { | ||
Serial.print("Attempting to connect to SSID: "); | ||
Serial.println(ssid); | ||
status = WiFi.begin(ssid, password); | ||
|
||
// Wait 10 seconds for connection: | ||
delay(10000); | ||
} | ||
Serial.println("WiFi connected"); | ||
|
||
} | ||
|
||
void loop() { | ||
|
||
// Connect to the cloud | ||
rest.handle(client); | ||
|
||
} | ||
|
||
// Custom function accessible by the API | ||
int ledControl(String command) { | ||
|
||
// Get state from command | ||
int state = command.toInt(); | ||
|
||
digitalWrite(6,state); | ||
return 1; | ||
} | ||
|
||
|
||
// Handles message arrived on subscribed topic(s) | ||
void callback(char* topic, byte* payload, unsigned int length) { | ||
|
||
// Handle | ||
rest.handle_callback(client, topic, payload, length); | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
name=aREST | ||
version=2.4.0 | ||
version=2.4.1 | ||
author=Marco Schwartz | ||
maintainer=Marco Schwartz <[email protected]> | ||
sentence=RESTful API for the Arduino platform. | ||
|