ความรู้แน่น ฟรีสำหรับชุมชน ArduinoAll ที่นี่เท่านั้น

ฟรีและดีที่สุด คอร์สอบรม Arduino + NodeMCU
ทำเพื่อแบ่งปัน ห้ามนำไปจำหน่าย หรือเก็บเงินค่าเรียน
  !!!


  


AllNewStep รับประกันคุณภาพทุกชิ้น วันจันทร์-ศุกร์แจ้งชำระสินค้าก่อน 14.00 จัดส่งทันทีวันนี้ค่ะ

กรุงเทพ /ภาคกลาง ได้พรุ่งนี้


*** สินค้าทุกชิ้น ถ้าสามารถทำรายการสั่งซื้อได้ แสดงว่ามีครบทุกรายการค่ะ *** 

พิมพ์ค้นหาบทความ หัวข้อกระทู้ และสินค้าในเว็บ AllNewStep ได้ที่นี่
QUOTE 

ดูให้หน่อยครับ

pppp

ช่วยดูให้ทีครับ ส่งค่าไม่ได้

**ผมจะให้ esp 8266 ส่งค่า temp ไปที่ thingspeak โดยไม่ใช้คำสั่ง AT Command (เขียนคำสั่งต่อ AP ไปในโค้ดเลย)

ปัญหาคือมันต่อ AP แต่ว่าส่งไป thingspeak ไม่ได้อะครับ ขึ้นว่า AT+CIPCLOSE

คือตอนแรกใช้ AT Command สั่งต่อ AP เสร็จแล้วก็ up code ที่ส่งค่าทับ มันส่งได้อะครับ

__________________________________________

โค้ดครับ

#‎include<TEE_ESP_WIFI.h>

#include <SoftwareSerial.h>

#‎define pinEN 9

#define ESP_Rx 10

#define ESP_Tx 11

#include "DHT.h"

DHT dht;

String apiKey = "3699EKAIV6AFTZ27";

String ssid="kimui";

String pwd="yaranika";

ESP wifi(ESP_Rx,ESP_Tx,pinEN); 

SoftwareSerial ser(10, 11); 

void print_debug(String data)

{ Serial.print(data);} 

void setup()

{

dht.setup(13); 

Serial.begin(9600); 

wifi.begin(9600); 

// ser.begin(9600); ถ้าไม่มีบรรทัดนี้จะต่อ ap ได้

Serial.println("ESP8226"); 

wifi.Event_debug = print_debug; 

wifi.reset(); 

wifi.setmode(STATION); 

wifi.disconnectAP(); 

wifi.connectAP(ssid,pwd); 

wifi.multipleconnect(MULTIPLE); 

String ip = wifi.myip(); 

}

void loop()

{

float temp = dht.getTemperature();

 

// convert to string

char buf[16];

String strTemp = dtostrf(temp, 4, 1, buf);

Serial.println(strTemp);

// TCP connection

String cmd = "AT+CIPSTART=\"TCP\",\"";

cmd += "184.106.153.149"; // api.thingspeak.com

cmd += "\",80";

ser.println(cmd);

if(ser.find("Error")){

Serial.println("AT+CIPSTART error");

return;

}

// prepare GET string

String getStr = "GET /update?api_key=";

getStr += apiKey;

getStr +="&field1=";

getStr += String(strTemp);

getStr += "\r\n\r\n";

// send data length

cmd = "AT+CIPSEND=";

cmd += String(getStr.length());

ser.println(cmd);

if(ser.find(">")){

ser.print(getStr);

}

else{

ser.println("AT+CIPCLOSE");

// alert user

Serial.println("AT+CIPCLOSE");

}

// thingspeak needs 15 sec delay between updates

delay(16000);

 

}

QUOTE 
ความคิดเห็นที่ #1
เจ้าของร้าน

ผมยังไม่ได้ลองเล่นทั้งหมดนี้ ผมหาข้อมูลมาเพิ่มให้ ยังไงลองดูตามนี้ครับ http://www.instructables.com/id/Send-sensor-data-DHT11-BMP180-to-ThingSpeak-with-a/?ALLSTEPS

แสดงความคิดเห็นที่ 1-1 จากทั้งหมด 1 ความคิดเห็น
ขาย ARDUINO
คุณภาพ อันดับ 1

ได้รับรางวัลร้านยอดเยี่ยม
ตั้งแต่ปี 2558
ขาย Arduino
วีดีโอสอน Arduino

สอน esp8266

สอน Arduino IoT
สอน Arduino แบบเร็ว

สอน NodeMCU

อุปกรณ์ Arduino

MEMBER ZONE

พูดคุย-สอบถาม