// ARDUINO IDE 1.6.7,,,scratch mDNS_Web_Server਀⼀⼀昀漀爀 䔀匀倀㠀㈀㘀㘀ⰀⰀⰀⰀⰀ䤀昀 愀爀搀甀椀渀漀 ⴀ 礀漀甀 挀栀愀渀最攀 挀漀搀攀 昀漀爀 圀䤀䘀䤀 愀渀搀 ⸀⸀⸀ //functions:਀⼀⼀ 琀攀洀瀀攀爀愀琀甀爀攀 漀渀 琀栀椀渀最猀瀀攀愀欀 // find out public ip਀⼀⼀ 攀砀琀爀愀挀琀 椀瀀 漀爀 洀愀挀 愀搀搀爀攀猀猀 漀渀 瀀愀爀琀猀 // sending external IP address on Thingspeak to four fields਀⼀⼀ 猀攀渀搀椀渀最 琀攀猀琀 洀猀最 漀渀 吀䠀䤀一䜀匀倀䔀䄀䬀 匀琀愀琀甀猀 // read from thingspeak-- no complet=example // read one field਀⼀⼀ 搀攀攀瀀 猀氀攀攀瀀椀渀最 昀漀爀 䔀匀倀㠀㈀㈀㘀 ⴀ 椀昀 礀漀甀 攀渀愀戀氀攀 //source:਀⼀⼀栀琀琀瀀猀㨀⼀⼀猀琀愀挀欀漀瘀攀爀昀氀漀眀⸀挀漀洀⼀焀甀攀猀琀椀漀渀猀⼀㌀㔀㈀㈀㜀㐀㐀㤀⼀挀漀渀瘀攀爀琀ⴀ椀瀀ⴀ漀爀ⴀ洀愀挀ⴀ愀搀搀爀攀猀猀ⴀ昀爀漀洀ⴀ猀琀爀椀渀最ⴀ琀漀ⴀ戀礀琀攀ⴀ愀爀爀愀礀ⴀ愀爀搀甀椀渀漀ⴀ漀爀ⴀ挀 //https://www.ipify.org਀⼀⼀栀琀琀瀀猀㨀⼀⼀最椀琀栀甀戀⸀挀漀洀⼀洀愀琀栀眀漀爀欀猀⼀琀栀椀渀最猀瀀攀愀欀ⴀ愀爀搀甀椀渀漀 //https://uk.mathworks.com/help/thingspeak/get-a-channel-feed.html਀⼀⼀ ਀⼀⼀猀攀琀琀椀渀最 昀漀爀 䄀刀䐀唀䤀一伀 椀搀攀 // boards http://arduino.esp8266.com/package_esp8266com_index.json਀⼀⼀ 戀漀愀爀搀㨀   䜀䔀一䔀刀䤀䌀 䔀匀倀㠀㈀㘀㘀 䴀伀䐀唀䰀䔀 漀爀 䄀䐀䄀䘀刀唀䤀吀 䠀唀娀娀䄀䠀 䔀匀倀㠀㈀㘀㘀 漀爀 昀漀爀 一伀䐀䔀䴀䌀唀 // settings QIO 40MHz SERIAL 80MHz 4M ck 115200 com? AVRSIPmkll਀ ਀⼀⼀猀氀攀攀瀀椀渀最 昀漀爀 䔀匀倀㠀㈀㘀㘀 䔀㄀㈀ 㨀 椀琀 椀猀 漀渀 攀渀搀 漀昀 䰀伀伀倀 //ESP.deepSleep(100e6); // 20e6 is 20 seconds,connect pin GPIO16=D0 on RST਀ /*਀  䔀匀倀㠀㈀㘀㘀 洀䐀一匀 爀攀猀瀀漀渀搀攀爀 猀愀洀瀀氀攀 ਀  吀栀椀猀 椀猀 愀渀 攀砀愀洀瀀氀攀 漀昀 愀渀 䠀吀吀倀 猀攀爀瘀攀爀 琀栀愀琀 椀猀 愀挀挀攀猀猀椀戀氀攀 via http://esp8266.local URL thanks to mDNS responder.਀ Instructions:਀  ⴀ 唀瀀搀愀琀攀 圀椀䘀椀 匀匀䤀䐀 愀渀搀 瀀愀猀猀眀漀爀搀 愀猀 渀攀挀攀猀猀愀爀礀⸀ - Flash the sketch to the ESP8266 board਀  ⴀ 䤀渀猀琀愀氀氀 栀漀猀琀 猀漀昀琀眀愀爀攀㨀 - For Linux, install Avahi (http://avahi.org/).਀    ⴀ 䘀漀爀 圀椀渀搀漀眀猀Ⰰ 椀渀猀琀愀氀氀 䈀漀渀樀漀甀爀 ⠀栀琀琀瀀㨀⼀⼀眀眀眀⸀愀瀀瀀氀攀⸀挀漀洀⼀猀甀瀀瀀漀爀琀⼀戀漀渀樀漀甀爀⼀⤀⸀ - For Mac OSX and iOS support is built in through Bonjour already.਀  ⴀ 倀漀椀渀琀 礀漀甀爀 戀爀漀眀猀攀爀 琀漀 栀琀琀瀀㨀⼀⼀攀猀瀀㠀㈀㘀㘀⸀氀漀挀愀氀Ⰰ 礀漀甀 猀栀漀甀氀搀 猀攀攀 愀 爀攀猀瀀漀渀猀攀⸀ ਀ ⨀⼀ ਀⌀椀渀挀氀甀搀攀 㰀䔀匀倀㠀㈀㘀㘀圀攀戀匀攀爀瘀攀爀⸀栀㸀 #include ਀⌀椀渀挀氀甀搀攀 㰀䔀匀倀㠀㈀㘀㘀洀䐀一匀⸀栀㸀 #include ਀ ਀ ਀⌀椀渀挀氀甀搀攀 㰀伀渀攀圀椀爀攀⸀栀㸀  #include ਀⼀⼀搀攀昀椀渀攀 䐀愀琀愀 吀礀瀀攀猀 byte bytes[4];਀匀琀爀椀渀最 搀搀搀 㴀 ∀㄀㄀㄀⸀㄀㄀㄀⸀㄀㄀㄀⸀㄀㄀㄀∀㬀 ⼀⼀愀昀琀攀爀 瀀漀眀攀爀 漀渀㴀爀攀猀攀琀 漀渀氀礀 String line = "";਀ // replace with your channel’s thingspeak API key,਀匀琀爀椀渀最 愀瀀椀䬀攀礀 㴀 ∀堀㈀㜀㐀䘀圀㔀一䤀吀㌀䈀䄀䠀圀㐀∀㬀 ਀⼀⼀ 爀攀瀀氀愀挀攀 眀椀琀栀 礀漀甀爀 一䄀䴀䔀㴀匀匀䤀䐀 愀渀搀 倀䄀匀匀圀伀刀䐀 昀漀爀 爀漀甀琀攀爀ⰀⰀ眀椀琀栀 ∀ ∀ const char* ssid = "virginmedia3878031";਀挀漀渀猀琀 挀栀愀爀⨀ 瀀愀猀猀眀漀爀搀 㴀 ∀栀戀洀稀砀氀甀爀∀㬀 ਀⼀⼀猀攀爀瘀攀爀 吀䠀䤀一䜀匀倀䔀䄀䬀 const char* server = "api.thingspeak.com";਀ // DS18B20 plug to pin GPIO12 ESP8266-12 = D6(MISO)਀⌀搀攀昀椀渀攀 伀一䔀开圀䤀刀䔀开䈀唀匀 ㈀ // define resolution for sensors 9bit/0.5 10bit/0.25 11bit/0.125 12bit/0.0625 ਀⌀搀攀昀椀渀攀 吀䔀䴀倀䔀刀䄀吀唀刀䔀开倀刀䔀䌀䤀匀䤀伀一 ㄀㄀ ਀⼀⼀ 匀攀琀甀瀀 愀 漀渀攀圀椀爀攀 椀渀猀琀愀渀挀攀 琀漀 挀漀洀洀甀渀椀挀愀琀攀 眀椀琀栀 愀渀礀 伀渀攀圀椀爀攀 搀攀瘀椀挀攀猀 ⠀渀漀琀 樀甀猀琀 䴀愀砀椀洀⼀䐀愀氀氀愀猀 琀攀洀瀀攀爀愀琀甀爀攀 䤀䌀猀⤀ OneWire oneWire(ONE_WIRE_BUS);਀ // Pass our oneWire reference to Dallas Temperature. ਀䐀愀氀氀愀猀吀攀洀瀀攀爀愀琀甀爀攀 猀攀渀猀漀爀猀⠀☀漀渀攀圀椀爀攀⤀㬀 ਀⼀⼀ 愀爀爀愀礀猀 琀漀 栀漀氀搀 搀攀瘀椀挀攀 愀搀搀爀攀猀猀攀猀 DeviceAddress insideThermometer, outsideThermometer;਀ float teplota;਀匀琀爀椀渀最 琀攀爀洀伀唀吀㬀 String termIN;਀ WiFiClient client;਀ void setup() {਀  匀攀爀椀愀氀⸀戀攀最椀渀⠀㄀㄀㔀㈀  ⤀㬀 delay(10);਀  圀椀䘀椀⸀戀攀最椀渀⠀猀猀椀搀Ⰰ 瀀愀猀猀眀漀爀搀⤀㬀 Serial.println("");਀  匀攀爀椀愀氀⸀瀀爀椀渀琀氀渀⠀⤀㬀 Serial.println();਀  匀攀爀椀愀氀⸀瀀爀椀渀琀⠀∀䌀漀渀渀攀挀琀椀渀最 琀漀 ∀⤀㬀 Serial.println(ssid);਀  圀椀䘀椀⸀戀攀最椀渀⠀猀猀椀搀Ⰰ 瀀愀猀猀眀漀爀搀⤀㬀 ਀  眀栀椀氀攀 ⠀圀椀䘀椀⸀猀琀愀琀甀猀⠀⤀ ℀㴀 圀䰀开䌀伀一一䔀䌀吀䔀䐀⤀ 笀 delay(500);਀  匀攀爀椀愀氀⸀瀀爀椀渀琀⠀∀⸀∀⤀㬀 }਀  匀攀爀椀愀氀⸀瀀爀椀渀琀氀渀⠀∀∀⤀㬀 Serial.println("WiFi connected");਀ Serial.println("");਀  匀攀爀椀愀氀⸀瀀爀椀渀琀⠀∀䌀漀渀渀攀挀琀攀搀 琀漀 ∀⤀㬀 Serial.println(ssid);਀  匀攀爀椀愀氀⸀瀀爀椀渀琀⠀∀䤀倀 愀搀搀爀攀猀猀㨀 ∀⤀㬀 Serial.println(WiFi.localIP());਀ // Start up the library਀  猀攀渀猀漀爀猀⸀戀攀最椀渀⠀⤀㬀 ਀  ⼀⼀ 氀漀挀愀琀攀 搀攀瘀椀挀攀猀 漀渀 琀栀攀 戀甀猀 Serial.print("Found ");਀  匀攀爀椀愀氀⸀瀀爀椀渀琀⠀猀攀渀猀漀爀猀⸀最攀琀䐀攀瘀椀挀攀䌀漀甀渀琀⠀⤀Ⰰ 䐀䔀䌀⤀㬀 Serial.println(" devices.");਀  ⼀⼀ 爀攀瀀漀爀琀 瀀愀爀愀猀椀琀攀 瀀漀眀攀爀 爀攀焀甀椀爀攀洀攀渀琀猀 Serial.print("Parasite power is: "); ਀  椀昀 ⠀猀攀渀猀漀爀猀⸀椀猀倀愀爀愀猀椀琀攀倀漀眀攀爀䴀漀搀攀⠀⤀⤀ 匀攀爀椀愀氀⸀瀀爀椀渀琀氀渀⠀∀伀一∀⤀㬀 else Serial.println("OFF");਀  ⼀⼀ 猀攀愀爀挀栀 昀漀爀 搀攀瘀椀挀攀猀 漀渀 琀栀攀 戀甀猀 愀渀搀 愀猀猀椀最渀 戀愀猀攀搀 漀渀 愀渀 椀渀搀攀砀⸀ if (!sensors.getAddress(insideThermometer, 0)) Serial.println("Unable to find address for Device 0"); ਀  椀昀 ⠀℀猀攀渀猀漀爀猀⸀最攀琀䄀搀搀爀攀猀猀⠀漀甀琀猀椀搀攀吀栀攀爀洀漀洀攀琀攀爀Ⰰ ㄀⤀⤀ 匀攀爀椀愀氀⸀瀀爀椀渀琀氀渀⠀∀唀渀愀戀氀攀 琀漀 昀椀渀搀 愀搀搀爀攀猀猀 昀漀爀 䐀攀瘀椀挀攀 ㄀∀⤀㬀  ਀ // set the resolution to 9 bit਀  猀攀渀猀漀爀猀⸀猀攀琀刀攀猀漀氀甀琀椀漀渀⠀椀渀猀椀搀攀吀栀攀爀洀漀洀攀琀攀爀Ⰰ 吀䔀䴀倀䔀刀䄀吀唀刀䔀开倀刀䔀䌀䤀匀䤀伀一⤀㬀 sensors.setResolution(outsideThermometer, TEMPERATURE_PRECISION);਀ Serial.print("Device 0 Resolution: ");਀  匀攀爀椀愀氀⸀瀀爀椀渀琀⠀猀攀渀猀漀爀猀⸀最攀琀刀攀猀漀氀甀琀椀漀渀⠀椀渀猀椀搀攀吀栀攀爀洀漀洀攀琀攀爀⤀Ⰰ 䐀䔀䌀⤀㬀  Serial.println();਀ Serial.print("Device 1 Resolution: ");਀  匀攀爀椀愀氀⸀瀀爀椀渀琀⠀猀攀渀猀漀爀猀⸀最攀琀刀攀猀漀氀甀琀椀漀渀⠀漀甀琀猀椀搀攀吀栀攀爀洀漀洀攀琀攀爀⤀Ⰰ 䐀䔀䌀⤀㬀  Serial.println();਀紀 ਀⼀⼀ 昀甀渀挀琀椀漀渀 琀漀 瀀爀椀渀琀 愀 搀攀瘀椀挀攀 愀搀搀爀攀猀猀 void printAddress(DeviceAddress deviceAddress)਀笀 for (uint8_t i = 0; i < 8; i++)਀  笀 if (deviceAddress[i] < 16) Serial.print("0");਀    匀攀爀椀愀氀⸀瀀爀椀渀琀⠀搀攀瘀椀挀攀䄀搀搀爀攀猀猀嬀椀崀Ⰰ 䠀䔀堀⤀㬀 }਀紀 ਀ // function to print the temperature for a device਀瘀漀椀搀 瀀爀椀渀琀吀攀洀瀀攀爀愀琀甀爀攀⠀䐀攀瘀椀挀攀䄀搀搀爀攀猀猀 搀攀瘀椀挀攀䄀搀搀爀攀猀猀⤀ {਀  昀氀漀愀琀 琀攀洀瀀䌀 㴀 猀攀渀猀漀爀猀⸀最攀琀吀攀洀瀀䌀⠀搀攀瘀椀挀攀䄀搀搀爀攀猀猀⤀㬀 Serial.print("Temp C: ");਀  匀攀爀椀愀氀⸀瀀爀椀渀琀⠀琀攀洀瀀䌀⤀㬀 Serial.print(" Temp F: ");਀  匀攀爀椀愀氀⸀瀀爀椀渀琀⠀䐀愀氀氀愀猀吀攀洀瀀攀爀愀琀甀爀攀㨀㨀琀漀䘀愀栀爀攀渀栀攀椀琀⠀琀攀洀瀀䌀⤀⤀㬀 }਀ void printResolution(DeviceAddress deviceAddress)਀笀 Serial.print("Resolution: ");਀  匀攀爀椀愀氀⸀瀀爀椀渀琀⠀猀攀渀猀漀爀猀⸀最攀琀刀攀猀漀氀甀琀椀漀渀⠀搀攀瘀椀挀攀䄀搀搀爀攀猀猀⤀⤀㬀 Serial.println(); ਀紀 ਀⼀⼀ 洀愀椀渀 昀甀渀挀琀椀漀渀 琀漀 瀀爀椀渀琀 椀渀昀漀爀洀愀琀椀漀渀 愀戀漀甀琀 愀 搀攀瘀椀挀攀 void printData(DeviceAddress deviceAddress)਀笀 Serial.print("Device Address: ");਀  瀀爀椀渀琀䄀搀搀爀攀猀猀⠀搀攀瘀椀挀攀䄀搀搀爀攀猀猀⤀㬀 Serial.print(" ");਀  瀀爀椀渀琀吀攀洀瀀攀爀愀琀甀爀攀⠀搀攀瘀椀挀攀䄀搀搀爀攀猀猀⤀㬀 Serial.print(" ");਀  瀀爀椀渀琀刀攀猀漀氀甀琀椀漀渀⠀搀攀瘀椀挀攀䄀搀搀爀攀猀猀⤀㬀 Serial.println();਀   }਀ ਀瘀漀椀搀 氀漀漀瀀⠀瘀漀椀搀⤀ { ਀ // call sensors.requestTemperatures() to issue a global temperature ਀  ⼀⼀ 爀攀焀甀攀猀琀 琀漀 愀氀氀 搀攀瘀椀挀攀猀 漀渀 琀栀攀 戀甀猀 Serial.print("Requesting temperatures...");਀  猀攀渀猀漀爀猀⸀爀攀焀甀攀猀琀吀攀洀瀀攀爀愀琀甀爀攀猀⠀⤀㬀 Serial.println("DONE");਀    ⼀⼀ 瀀爀椀渀琀 琀栀攀 搀攀瘀椀挀攀 椀渀昀漀爀洀愀琀椀漀渀 Serial.print("Teplota vnutri: ");਀  瀀爀椀渀琀䐀愀琀愀⠀椀渀猀椀搀攀吀栀攀爀洀漀洀攀琀攀爀⤀㬀 Serial.print("Teplota vonku: ");਀  瀀爀椀渀琀䐀愀琀愀⠀漀甀琀猀椀搀攀吀栀攀爀洀漀洀攀琀攀爀⤀㬀 float tint = sensors.getTempC(insideThermometer);਀  昀氀漀愀琀 琀漀甀琀 㴀 猀攀渀猀漀爀猀⸀最攀琀吀攀洀瀀䌀⠀漀甀琀猀椀搀攀吀栀攀爀洀漀洀攀琀攀爀⤀㬀 ਀  ⼀⼀ 琀栀椀渀最猀瀀攀愀欀 渀攀攀搀猀 洀椀渀椀洀甀洀 ㄀㔀 猀攀挀 搀攀氀愀礀 戀攀琀眀攀攀渀 甀瀀搀愀琀攀猀 //change delay for next update਀搀攀氀愀礀⠀㈀    ⤀㬀 ਀⼀⼀ 昀椀渀搀 漀甀琀 瀀甀戀氀椀挀 椀瀀 // it finds out ext.IP address with html for arduino,,It should only send an address without html text,,,read more on ipify.org਀⼀⼀礀漀甀 挀愀渀 甀猀攀 漀琀栀攀爀 䤀倀 挀栀攀挀欀 猀攀爀瘀攀爀猀 琀漀 昀椀渀搀 漀甀琀 攀砀琀攀爀渀愀氀 䤀倀 愀搀搀爀攀猀猀 if (client.connect("api.ipify.org", 80)) {਀    ⼀⼀匀攀爀椀愀氀⸀瀀爀椀渀琀氀渀⠀∀挀漀渀渀攀挀琀攀搀∀⤀㬀 client.println("GET /?format=txt HTTP/1.0");਀    挀氀椀攀渀琀⸀瀀爀椀渀琀氀渀⠀∀䠀漀猀琀㨀 愀瀀椀⸀椀瀀椀昀礀⸀漀爀最∀⤀㬀 client.println();਀  紀 攀氀猀攀 笀 Serial.println("connection failed");਀  紀 delay(50);਀  椀渀琀 戀 㴀 ㄀㬀 while (client.connected()) {਀    戀 㴀 戀 ⬀ ㄀㬀 line = client.readStringUntil('\n');਀      ⼀⼀ 瀀愀爀琀 昀漀爀 䤀倀 愀搀搀爀攀猀猀 Serial.println(line);਀紀 // find out public ip--end਀ ਀⼀⼀ 匀琀爀椀渀最 琀漀 挀栀愀爀 昀漀爀 䤀倀 //how it works---see sketch "extract ip or mac address on parts.txt"਀挀栀愀爀 椀瀀猀琀爀嬀㈀ 崀㬀 line.toCharArray(ipstr, 20);਀挀漀渀猀琀 挀栀愀爀⨀ 猀琀爀 㴀 椀瀀猀琀爀㬀 char sep = '.';਀椀渀琀 洀愀砀䈀礀琀攀猀 㴀 㐀㬀 int base = 10;਀    昀漀爀 ⠀椀渀琀 椀 㴀  㬀 椀 㰀 洀愀砀䈀礀琀攀猀㬀 椀⬀⬀⤀ 笀 bytes[i] = strtoul(str, NULL, base); // Convert byte਀        匀攀爀椀愀氀⸀瀀爀椀渀琀氀渀⠀戀礀琀攀猀嬀椀崀⤀㬀 ਀ str = strchr(str, sep); // Find next separator਀        椀昀 ⠀猀琀爀 㴀㴀 一唀䰀䰀 簀簀 ⨀猀琀爀 㴀㴀 ✀尀 ✀⤀ 笀 break; // No more separators, exit਀        紀 str++; // Point to next character after separator਀    紀 // String to char for IP--end਀ //preparing string - IP to String for Thingspeak਀ String abc = "&field5=";਀愀戀挀 ⬀㴀 匀琀爀椀渀最⠀戀礀琀攀猀嬀 崀⤀㬀 abc +="&field6=";਀愀戀挀 ⬀㴀 匀琀爀椀渀最⠀戀礀琀攀猀嬀㄀崀⤀㬀 abc +="&field7=";਀愀戀挀 ⬀㴀 匀琀爀椀渀最⠀戀礀琀攀猀嬀㈀崀⤀㬀 abc +="&field8=";਀愀戀挀 ⬀㴀 匀琀爀椀渀最⠀戀礀琀攀猀嬀㌀崀⤀㬀 // if it does not find out IP,it will not send ZERO਀⼀⼀䌀䠀䄀一䜀䔀 挀漀搀攀 椀昀 礀漀甀 眀愀渀琀 琀漀 猀攀渀搀 渀攀眀 䤀倀 愀搀搀爀攀猀猀 愀琀 愀 挀栀愀渀最攀 漀渀氀礀 眀椀琀栀漀甀琀 洀椀渀甀琀攀 甀瀀搀愀琀攀 if (bytes[0] > 0 ) {਀  搀搀搀 㴀 愀戀挀㬀 }਀ client.stop();਀⼀⼀ 昀椀渀搀 漀甀琀 瀀甀戀氀椀挀 椀瀀ⴀⴀⴀ攀渀搀 ਀⼀⼀ 搀愀琀愀 琀漀 琀栀椀渀最猀瀀攀愀欀 if (client.connect(server,80)) { // "184.106.153.149" or api.thingspeak.com਀匀琀爀椀渀最 瀀漀猀琀匀琀爀 㴀 愀瀀椀䬀攀礀㬀 postStr +="&field1=";਀瀀漀猀琀匀琀爀 ⬀㴀 匀琀爀椀渀最⠀琀椀渀琀⤀㬀 postStr +="&field2=";਀瀀漀猀琀匀琀爀 ⬀㴀 匀琀爀椀渀最⠀琀漀甀琀⤀㬀 //add IP਀瀀漀猀琀匀琀爀 ⬀㴀 搀搀搀㬀 //you can write msg on THINGSPEAK, max 255 characters,,enable status on THINGSPEAK਀瀀漀猀琀匀琀爀 ⬀㴀 ∀☀猀琀愀琀甀猀㴀∀㬀 postStr += "I love you";਀ ਀瀀漀猀琀匀琀爀 ⬀㴀 ∀尀爀尀渀尀爀尀渀∀㬀 ਀挀氀椀攀渀琀⸀瀀爀椀渀琀⠀∀倀伀匀吀 ⼀甀瀀搀愀琀攀 䠀吀吀倀⼀㄀⸀㄀尀渀∀⤀㬀 client.print("Host: api.thingspeak.com\n");਀挀氀椀攀渀琀⸀瀀爀椀渀琀⠀∀䌀漀渀渀攀挀琀椀漀渀㨀 挀氀漀猀攀尀渀∀⤀㬀 client.print("X-THINGSPEAKAPIKEY: "+apiKey+"\n");਀挀氀椀攀渀琀⸀瀀爀椀渀琀⠀∀䌀漀渀琀攀渀琀ⴀ吀礀瀀攀㨀 愀瀀瀀氀椀挀愀琀椀漀渀⼀砀ⴀ眀眀眀ⴀ昀漀爀洀ⴀ甀爀氀攀渀挀漀搀攀搀尀渀∀⤀㬀 client.print("Content-Length: ");਀挀氀椀攀渀琀⸀瀀爀椀渀琀⠀瀀漀猀琀匀琀爀⸀氀攀渀最琀栀⠀⤀⤀㬀 client.print("\n\n");਀挀氀椀攀渀琀⸀瀀爀椀渀琀⠀瀀漀猀琀匀琀爀⤀㬀 }਀ Serial.println("thing text");਀  挀氀椀攀渀琀⸀猀琀漀瀀⠀⤀㬀  // data to thingspeak - end਀ // read from thingspeak਀匀攀爀椀愀氀⸀瀀爀椀渀琀氀渀⠀∀爀攀愀搀 吀匀☀∠⤀㬀 if (client.connect(server,80)){਀挀氀椀攀渀琀⸀瀀爀椀渀琀氀渀⠀∀䜀䔀吀 ⼀挀栀愀渀渀攀氀猀⼀㄀㜀㤀㤀㘀㌀⼀昀椀攀氀搀猀⼀㠀⼀氀愀猀琀∀⤀ 㬀 client.println("Host: api.thingspeak.com");਀挀氀椀攀渀琀⸀瀀爀椀渀琀氀渀⠀⤀㬀 } else {਀    匀攀爀椀愀氀⸀瀀爀椀渀琀氀渀⠀∀挀漀渀渀攀挀琀椀漀渀 昀愀椀氀攀搀∀⤀㬀 }਀  搀攀氀愀礀⠀㔀 ⤀㬀 int a = 1;਀  眀栀椀氀攀 ⠀挀氀椀攀渀琀⸀挀漀渀渀攀挀琀攀搀⠀⤀⤀ 笀 a = a + 1;਀    匀琀爀椀渀最 琀栀椀渀最愀 㴀 挀氀椀攀渀琀⸀爀攀愀搀匀琀爀椀渀最唀渀琀椀氀⠀✀尀渀✀⤀㬀 ਀      匀攀爀椀愀氀⸀瀀爀椀渀琀氀渀⠀琀栀椀渀最愀⤀㬀 }਀挀氀椀攀渀琀⸀猀琀漀瀀⠀⤀㬀 Serial.println("stop connection…");਀ // read from thingspeak - end਀ //sleeping enable/disable਀⼀⼀ ㈀ 攀㘀 椀猀 ㈀  猀攀挀漀渀搀猀Ⰰ挀漀渀渀攀挀琀 瀀椀渀  䜀倀䤀伀㄀㘀㴀䐀  漀渀 刀匀吀 //ESP.deepSleep(100e6);਀紀 ਀�