forked from community/product-iots
parent
789b6f3a42
commit
9f4d2fed4b
Binary file not shown.
@ -0,0 +1,47 @@
|
|||||||
|
#[[
|
||||||
|
#ifndef FireAlarmAgent_H
|
||||||
|
#define FireAlarmAgent_H
|
||||||
|
|
||||||
|
#if (ARDUINO >= 100)
|
||||||
|
#include "Arduino.h"
|
||||||
|
#else
|
||||||
|
#include "WProgram.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define HTTP_POST "POST"
|
||||||
|
#define HTTP_GET "GET"
|
||||||
|
#define HTTP_VERSION "HTTP/1.1"
|
||||||
|
#define HTTP_CONTENT_TYPE "Content-Type: application/json"
|
||||||
|
#define HTTP_CONTENT_LEN "Content-Length: "
|
||||||
|
#define DEVICE_TYPE "FireAlarm"
|
||||||
|
]]#
|
||||||
|
\#define DEVICE_OWNER "${DEVICE_OWNER}"
|
||||||
|
\#define DEVICE_ID "${DEVICE_ID}"
|
||||||
|
#[[
|
||||||
|
#define PUSH_ALARM_DATA "pushalarmdata"
|
||||||
|
#define READ_CONTROLS "readcontrols/"
|
||||||
|
#define REPLY "reply"
|
||||||
|
|
||||||
|
#define OWNER_JSON "{\"owner\":\""
|
||||||
|
#define DEVICE_ID_JSON "\",\"deviceId\":\""
|
||||||
|
#define REPLY_JSON "\",\"replyMessage\":\""
|
||||||
|
#define TIME_JSON "\",\"time\":\""
|
||||||
|
#define KEY_JSON "\",\"key\":\""
|
||||||
|
#define VALUE_JSON "\",\"value\":\""
|
||||||
|
#define END_JSON "\"}"
|
||||||
|
|
||||||
|
#define SERVICE_PORT 9763
|
||||||
|
#define SERVICE_EPOINT "/WSO2ConnectedDevices/FireAlarmController/"
|
||||||
|
// pushalarmdata - application/json - {"owner":"","deviceId":"","replyMessage":"","time":"","key":"","value":""}
|
||||||
|
// readcontrols/{owner}/{deviceId}
|
||||||
|
// reply - application/json - {"owner":"","deviceId":"","replyMessage":""}
|
||||||
|
|
||||||
|
#define TEMP_PIN 3
|
||||||
|
#define BULB_PIN 4
|
||||||
|
#define FAN_PIN 5
|
||||||
|
|
||||||
|
#define POLL_INTERVAL 1000
|
||||||
|
|
||||||
|
#endif
|
||||||
|
]]#
|
||||||
|
|
@ -0,0 +1,130 @@
|
|||||||
|
#include "FireAlarmAgent.h"
|
||||||
|
|
||||||
|
#include <Ethernet.h>
|
||||||
|
#include <SPI.h>
|
||||||
|
#include "dht.h"
|
||||||
|
|
||||||
|
int digitalPins[] = { TEMP_PIN, BULB_PIN, FAN_PIN };
|
||||||
|
int analogPins[] = { 0, 1, 2, 3, 4, 5 };
|
||||||
|
|
||||||
|
EthernetClient httpClient;
|
||||||
|
String host, jsonPayLoad, replyMsg;
|
||||||
|
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
// Serial.begin(9600);
|
||||||
|
pinMode(BULB_PIN, OUTPUT);
|
||||||
|
pinMode(FAN_PIN, OUTPUT);
|
||||||
|
connectHttp();
|
||||||
|
setupResource();
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
if (httpClient.connected()) {
|
||||||
|
pushDigitalPinData();
|
||||||
|
|
||||||
|
delay(POLL_INTERVAL);
|
||||||
|
|
||||||
|
String responseMsg = readControls();
|
||||||
|
int index = responseMsg.lastIndexOf(":");
|
||||||
|
int newLine = responseMsg.lastIndexOf("\n");
|
||||||
|
String subStrn = responseMsg.substring(index + 1);
|
||||||
|
|
||||||
|
if (subStrn.equals("IN")) {
|
||||||
|
responseMsg = responseMsg.substring(newLine + 1, index);
|
||||||
|
if (responseMsg.equals("TEMPERATURE")) {
|
||||||
|
replyMsg = "Temperature is " + String(getTemperature()) + "C.";
|
||||||
|
reply(replyMsg);
|
||||||
|
} else if (responseMsg.equals("BULB")) {
|
||||||
|
replyMsg = "Bulb was switched " + switchBulb();
|
||||||
|
} else if (responseMsg.equals("FAN")) {
|
||||||
|
replyMsg = "Bulb was switched " + switchFan();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// delay(POLL_INTERVAL);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
// Serial.println("client not found...");
|
||||||
|
// Serial.println("disconnecting.");
|
||||||
|
httpClient.stop();
|
||||||
|
connectHttp();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
String getDataType(int pin){
|
||||||
|
switch(pin){
|
||||||
|
case TEMP_PIN:
|
||||||
|
return "Temperature";
|
||||||
|
case BULB_PIN:
|
||||||
|
return "Bulb";
|
||||||
|
case FAN_PIN:
|
||||||
|
return "Fan";
|
||||||
|
default:
|
||||||
|
return String(pin);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
String switchBulb() {
|
||||||
|
if (digitalRead(BULB_PIN) == HIGH) {
|
||||||
|
digitalWrite(BULB_PIN, LOW);
|
||||||
|
return "OFF";
|
||||||
|
} else {
|
||||||
|
digitalWrite(BULB_PIN, HIGH);
|
||||||
|
return "ON";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String switchFan() {
|
||||||
|
if (digitalRead(FAN_PIN) == HIGH) {
|
||||||
|
digitalWrite(FAN_PIN, LOW);
|
||||||
|
return "OFF";
|
||||||
|
} else {
|
||||||
|
digitalWrite(FAN_PIN, HIGH);
|
||||||
|
return "ON";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
double getTemperature(){
|
||||||
|
dht DHT;
|
||||||
|
// Serial.println("-------------------------------");
|
||||||
|
// Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)");
|
||||||
|
// Serial.print("DHT11, \t");
|
||||||
|
int chk = DHT.read11(TEMP_PIN);
|
||||||
|
switch (chk)
|
||||||
|
{
|
||||||
|
case DHTLIB_OK:
|
||||||
|
// Serial.print("OK,\t");
|
||||||
|
break;
|
||||||
|
case DHTLIB_ERROR_CHECKSUM:
|
||||||
|
// Serial.print("Checksum error,\t");
|
||||||
|
break;
|
||||||
|
case DHTLIB_ERROR_TIMEOUT:
|
||||||
|
// Serial.print("Time out error,\t");
|
||||||
|
break;
|
||||||
|
case DHTLIB_ERROR_CONNECT:
|
||||||
|
// Serial.print("Connect error,\t");
|
||||||
|
break;
|
||||||
|
case DHTLIB_ERROR_ACK_L:
|
||||||
|
// Serial.print("Ack Low error,\t");
|
||||||
|
break;
|
||||||
|
case DHTLIB_ERROR_ACK_H:
|
||||||
|
// Serial.print("Ack High error,\t");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
// Serial.print("Unknown error,\t");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// DISPLAY DATA
|
||||||
|
// Serial.print("\t");
|
||||||
|
// Serial.print(DHT.temperature, 1);
|
||||||
|
// Serial.print(",\t\t");
|
||||||
|
// Serial.println(DHT.humidity, 1);
|
||||||
|
// Serial.println("-------------------------------");
|
||||||
|
return DHT.temperature;
|
||||||
|
}
|
@ -1,39 +0,0 @@
|
|||||||
#[[
|
|
||||||
#ifndef WSO2ArduinoAgent_H
|
|
||||||
#define WSO2ArduinoAgent_H
|
|
||||||
|
|
||||||
#if (ARDUINO >= 100)
|
|
||||||
#include "Arduino.h"
|
|
||||||
#else
|
|
||||||
#include "WProgram.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define HTTP_METHOD "POST"
|
|
||||||
#define HTTP_VERSION "HTTP/1.1"
|
|
||||||
|
|
||||||
#define DEVICE_IP "192.168.1.219"
|
|
||||||
#define DEVICE_TYPE "arduino"
|
|
||||||
]]#
|
|
||||||
\#define DEVICE_OWNER "${DEVICE_OWNER}"
|
|
||||||
\#define DEVICE_ID "${DEVICE_ID}"
|
|
||||||
#[[
|
|
||||||
#define SERVICE_IP "192.168.1.216"
|
|
||||||
#define SERVICE_PORT 9763
|
|
||||||
#define SERVICE_EPOINT "/WSO2ConnectedDevices/DeviceController/pushdata/"
|
|
||||||
// {ip}/{owner}/{type}/{mac}/90/{key}/{value}
|
|
||||||
|
|
||||||
#define MQTT_PROXY SERVICE_IP
|
|
||||||
#define MQTT_PORT 1883
|
|
||||||
#define MQTT_CLIENTID "wso2:iot:arduino:xxxxxxxx"
|
|
||||||
#define MQTT_TOPIC "wso2/iot/shabirmean/arduino/xxxxxxxx"
|
|
||||||
|
|
||||||
#define MQTTCLIENT_QOS2 1
|
|
||||||
#define PUBLISH_INTERVAL 30000
|
|
||||||
|
|
||||||
enum IP_TYPE{
|
|
||||||
SERVER,
|
|
||||||
DEVICE
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
]]#
|
|
@ -1,36 +0,0 @@
|
|||||||
#include "IoTArduinoAgent.h"
|
|
||||||
|
|
||||||
#include <Ethernet.h>
|
|
||||||
#include <SPI.h>
|
|
||||||
#include <IPStack.h>
|
|
||||||
#include <Countdown.h>
|
|
||||||
#include <MQTTClient.h>
|
|
||||||
|
|
||||||
EthernetClient httpClient;
|
|
||||||
int digitalPins[] = { 2, 5, 8, 9, 12 };
|
|
||||||
int analogPins[] = { 0, 1, 2, 3, 4, 5 };
|
|
||||||
|
|
||||||
void setup() {
|
|
||||||
Serial.begin(9600);
|
|
||||||
connectHttp();
|
|
||||||
setupResource();
|
|
||||||
MQTTConnect();
|
|
||||||
}
|
|
||||||
|
|
||||||
void loop() {
|
|
||||||
if (httpClient.connected()) {
|
|
||||||
// pushDigitalPinData();
|
|
||||||
// pushAnalogPinData();
|
|
||||||
} else {
|
|
||||||
Serial.println("client not found...");
|
|
||||||
Serial.println("disconnecting.");
|
|
||||||
httpClient.stop();
|
|
||||||
// connectHttp();
|
|
||||||
// for(;;)
|
|
||||||
// ;
|
|
||||||
}
|
|
||||||
delay(PUBLISH_INTERVAL);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,75 +0,0 @@
|
|||||||
void messageArrived(MQTT::MessageData& md);
|
|
||||||
int arrivedcount = 0;
|
|
||||||
MQTT::Message message;
|
|
||||||
|
|
||||||
EthernetClient mqtt; // replace by a YunClient if running on a Yun
|
|
||||||
IPStack mqttIPStack(mqtt);
|
|
||||||
MQTT::Client<IPStack, Countdown, 100, 1> mqttClient = MQTT::Client<IPStack, Countdown, 100, 1>(mqttIPStack);
|
|
||||||
|
|
||||||
|
|
||||||
void MQTTConnect() {
|
|
||||||
int rc = -1;
|
|
||||||
if (!mqttClient.isConnected()) {
|
|
||||||
Serial.print("Connecting using Registered mode with clientid : ");
|
|
||||||
Serial.println(MQTT_CLIENTID);
|
|
||||||
Serial.print("\tto MQTT Broker : ");
|
|
||||||
Serial.println(MQTT_PROXY);
|
|
||||||
Serial.print("\ton topic : ");
|
|
||||||
Serial.println(MQTT_TOPIC);
|
|
||||||
while (rc != 0) {
|
|
||||||
rc = mqttIPStack.connect(MQTT_PROXY, MQTT_PORT);
|
|
||||||
// rc = mqtt.connect(server, MQTT_PORT);
|
|
||||||
Serial.print("rc from TCP connect is ");
|
|
||||||
Serial.println(rc);
|
|
||||||
}
|
|
||||||
|
|
||||||
Serial.println("MQTT connecting");
|
|
||||||
MQTTPacket_connectData options = MQTTPacket_connectData_initializer;
|
|
||||||
options.MQTTVersion = 3;
|
|
||||||
options.clientID.cstring = MQTT_CLIENTID;
|
|
||||||
// options.username.cstring = "admin";
|
|
||||||
// options.password.cstring = "admin";
|
|
||||||
// options.keepAliveInterval = 10;
|
|
||||||
rc = -1;
|
|
||||||
while ((rc = mqttClient.connect(options)) != 0){
|
|
||||||
Serial.print("rc from MQTT connect is ");
|
|
||||||
Serial.println(rc);
|
|
||||||
}
|
|
||||||
//unsubscribe the topic, if it had subscribed it before.
|
|
||||||
Serial.println("MQTT connected");
|
|
||||||
mqttClient.unsubscribe(MQTT_TOPIC);
|
|
||||||
//Try to subscribe for commands
|
|
||||||
if ((rc = mqttClient.subscribe(MQTT_TOPIC, MQTT::QOS2, messageArrived)) != 0) {
|
|
||||||
Serial.print("Subscribe failed with return code : ");
|
|
||||||
Serial.println(rc);
|
|
||||||
} else {
|
|
||||||
Serial.println("Subscribed\n");
|
|
||||||
}
|
|
||||||
Serial.println("Subscription tried......");
|
|
||||||
Serial.println("Connected successfully\n");
|
|
||||||
Serial.println("____________________________________________________________________________");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void messageArrived(MQTT::MessageData& md)
|
|
||||||
{
|
|
||||||
MQTT::Message &message = md.message;
|
|
||||||
Serial.println("=======================================");
|
|
||||||
Serial.print("Message ");
|
|
||||||
// Serial.print(++arrivedcount);
|
|
||||||
Serial.print(" arrived: qos ");
|
|
||||||
Serial.print(message.qos);
|
|
||||||
Serial.print(", retained ");
|
|
||||||
Serial.print(message.retained);
|
|
||||||
Serial.print(", dup ");
|
|
||||||
Serial.print(message.dup);
|
|
||||||
Serial.print(", packetid ");
|
|
||||||
Serial.println(message.id);
|
|
||||||
Serial.print("Payload ");
|
|
||||||
Serial.println((char*)message.payload);
|
|
||||||
Serial.println("=======================================");
|
|
||||||
delay(1000);
|
|
||||||
}
|
|
@ -0,0 +1,52 @@
|
|||||||
|
String readControls() {
|
||||||
|
String responseMsg;
|
||||||
|
String resource = " " + String(SERVICE_EPOINT) + String(READ_CONTROLS) + String(DEVICE_OWNER) + "/" + String(DEVICE_ID) + " ";
|
||||||
|
|
||||||
|
httpClient.print(HTTP_GET);
|
||||||
|
httpClient.print(resource);
|
||||||
|
httpClient.println(HTTP_VERSION);
|
||||||
|
httpClient.println(host);
|
||||||
|
httpClient.println();
|
||||||
|
delay(1000);
|
||||||
|
|
||||||
|
while (httpClient.available()) {
|
||||||
|
char response = httpClient.read();
|
||||||
|
responseMsg += response;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Serial.print(responseMsg);
|
||||||
|
// Serial.println();
|
||||||
|
// Serial.println("-------------------------------");
|
||||||
|
delay(1000);
|
||||||
|
return responseMsg;
|
||||||
|
}
|
||||||
|
|
||||||
|
void reply(String replyMsg) {
|
||||||
|
String resource = " " + String(SERVICE_EPOINT) + String(REPLY) + " ";
|
||||||
|
String payLoad = jsonPayLoad + replyMsg + String(END_JSON);
|
||||||
|
|
||||||
|
httpClient.print(HTTP_POST);
|
||||||
|
httpClient.print(resource);
|
||||||
|
httpClient.println(HTTP_VERSION);
|
||||||
|
httpClient.println(host);
|
||||||
|
httpClient.println(HTTP_CONTENT_TYPE);
|
||||||
|
httpClient.print(HTTP_CONTENT_LEN);
|
||||||
|
httpClient.println(payLoad.length());
|
||||||
|
httpClient.println();
|
||||||
|
httpClient.println(payLoad);
|
||||||
|
httpClient.println();
|
||||||
|
delay(1000);
|
||||||
|
|
||||||
|
while (httpClient.available()) {
|
||||||
|
char response = httpClient.read();
|
||||||
|
// Serial.print(response);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Serial.println();
|
||||||
|
// Serial.println("-------------------------------");
|
||||||
|
delay(1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,91 +1,78 @@
|
|||||||
String resource, tempResource, host;
|
|
||||||
String myIP = "";
|
|
||||||
String hostIP = "";
|
|
||||||
|
|
||||||
void setupResource(){
|
|
||||||
|
|
||||||
setHostIP(server);
|
|
||||||
String port = String(SERVICE_PORT);
|
|
||||||
|
|
||||||
host = "Host: " + hostIP + ":" + port;
|
|
||||||
Serial.println(host);
|
|
||||||
|
|
||||||
myIP = String(Ethernet.localIP()[0]);
|
|
||||||
|
|
||||||
for ( int index = 1; index < 4; index++) {
|
|
||||||
myIP += "." + String(Ethernet.localIP()[index]);
|
|
||||||
}
|
|
||||||
|
|
||||||
resource = String(SERVICE_EPOINT) + myIP + "/" + String(DEVICE_OWNER) + "/" +
|
|
||||||
String(DEVICE_TYPE) + "/" + String(DEVICE_ID) + "/";
|
|
||||||
|
|
||||||
resource = resource + 30;
|
|
||||||
Serial.println(resource);
|
|
||||||
Serial.println("-------------------------------");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void setHostIP(byte server[4]){
|
|
||||||
hostIP = String(server[0]);
|
|
||||||
|
|
||||||
for ( int index = 1; index < 4; index++) {
|
|
||||||
hostIP += "." + String(server[index]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void pushDigitalPinData(){
|
void pushDigitalPinData(){
|
||||||
for ( int pin = 0; pin < (sizeof(digitalPins)/sizeof(int)); pin++) {
|
for ( int pin = 0; pin < (sizeof(digitalPins)/sizeof(int)); pin++) {
|
||||||
tempResource = " " + resource + "/D" + digitalPins[pin] + "/";
|
String resource = " " + String(SERVICE_EPOINT) + String(PUSH_ALARM_DATA) + " ";
|
||||||
|
|
||||||
|
String payLoad = jsonPayLoad + "DigitalPinData";
|
||||||
|
payLoad = payLoad + String(TIME_JSON) + "9999";
|
||||||
|
payLoad = payLoad + String(KEY_JSON) + getDataType(digitalPins[pin]);
|
||||||
|
payLoad += String(VALUE_JSON);
|
||||||
|
|
||||||
if ( digitalRead(digitalPins[pin]) == HIGH) {
|
|
||||||
tempResource += "HIGH ";
|
if ( digitalPins[pin] == TEMP_PIN ) {
|
||||||
|
payLoad += String(getTemperature());
|
||||||
|
} else if ( digitalRead(digitalPins[pin]) == HIGH ) {
|
||||||
|
payLoad += "ON";
|
||||||
} else if ( digitalRead(digitalPins[pin]) == LOW ) {
|
} else if ( digitalRead(digitalPins[pin]) == LOW ) {
|
||||||
tempResource += "LOW ";
|
payLoad += "OFF";
|
||||||
}
|
}
|
||||||
|
|
||||||
httpClient.print(HTTP_METHOD);
|
payLoad = payLoad + String(END_JSON);
|
||||||
httpClient.print(tempResource);
|
httpClient.print(HTTP_POST);
|
||||||
|
httpClient.print(resource);
|
||||||
httpClient.println(HTTP_VERSION);
|
httpClient.println(HTTP_VERSION);
|
||||||
httpClient.println(host);
|
httpClient.println(host);
|
||||||
|
httpClient.println(HTTP_CONTENT_TYPE);
|
||||||
|
httpClient.print(HTTP_CONTENT_LEN);
|
||||||
|
httpClient.println(payLoad.length());
|
||||||
|
httpClient.println();
|
||||||
|
httpClient.println(payLoad);
|
||||||
httpClient.println();
|
httpClient.println();
|
||||||
delay(2000);
|
delay(1000);
|
||||||
|
|
||||||
while (httpClient.available()) {
|
while (httpClient.available()) {
|
||||||
char response = httpClient.read();
|
char response = httpClient.read();
|
||||||
Serial.print(response);
|
// Serial.print(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
Serial.println();
|
// Serial.println();
|
||||||
Serial.println("-------------------------------");
|
// Serial.println("-------------------------------");
|
||||||
tempResource = "";
|
delay(1000);
|
||||||
delay(2000);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void pushAnalogPinData(){
|
void pushAnalogPinData(){
|
||||||
for ( int pin = 0; pin < (sizeof(analogPins)/sizeof(int)); pin++) {
|
for ( int pin = 0; pin < (sizeof(analogPins)/sizeof(int)); pin++) {
|
||||||
tempResource = " " + resource + "/A" + analogPins[pin] + "/" + analogRead(analogPins[pin]) + " ";
|
String resource = " " + String(SERVICE_EPOINT) + String(PUSH_ALARM_DATA) + " ";
|
||||||
|
|
||||||
httpClient.print(HTTP_METHOD);
|
String payLoad = jsonPayLoad + "AnalogPinData";
|
||||||
httpClient.print(tempResource);
|
payLoad = payLoad + String(TIME_JSON) + "9999";
|
||||||
|
payLoad = payLoad + String(KEY_JSON) + getDataType(analogPins[pin]);
|
||||||
|
payLoad = payLoad + String(VALUE_JSON) + analogRead(analogPins[pin]);
|
||||||
|
payLoad = payLoad + String(END_JSON);
|
||||||
|
|
||||||
|
httpClient.print(HTTP_POST);
|
||||||
|
httpClient.print(resource);
|
||||||
httpClient.println(HTTP_VERSION);
|
httpClient.println(HTTP_VERSION);
|
||||||
httpClient.println(host);
|
httpClient.println(host);
|
||||||
|
httpClient.println(HTTP_CONTENT_TYPE);
|
||||||
|
httpClient.print(HTTP_CONTENT_LEN);
|
||||||
|
httpClient.println(payLoad.length());
|
||||||
|
httpClient.println();
|
||||||
|
httpClient.println(payLoad);
|
||||||
httpClient.println();
|
httpClient.println();
|
||||||
delay(1000);
|
delay(1000);
|
||||||
|
|
||||||
while (httpClient.available()) {
|
while (httpClient.available()) {
|
||||||
char response = httpClient.read();
|
char response = httpClient.read();
|
||||||
Serial.print(response);
|
// Serial.print(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
Serial.println();
|
// Serial.println();
|
||||||
Serial.println("-------------------------------");
|
// Serial.println("-------------------------------");
|
||||||
tempResource = "";
|
|
||||||
delay(1000);
|
delay(1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in new issue