วันเสาร์ที่ 26 มกราคม พ.ศ. 2562

ทฤษฎี สป.6

การส่งข้อมูลหากันระหว่าง

 Arduino กับ Nodemuc Esp8266 โดยผ่าน Serial


การส่งข้อมูลหากันระหว่าง Arduino กับ Nodemuc Esp8266 โดยผ่าน Serial
บทความนี้เป็นการส่งค่า ระว่าง Nodemuc Esp8266 กับ arduino โดยให้หลักการถามตอบ เช่น ถ้า  Nodemuc Esp8266 ส่งค่า Question1 มาให้ arduino  arduino ก็จะส่งค่าตัวแปล a ออกไปให้ Nodemuc Esp8266 เราสามารถให้ arduino ที่สามารถอ่านค่า sensor ต่างๆได้ง่าย ส่งค่าให้  Nodemuc Esp8266 ไปแสดงบนเว็บ หรือ เก็บเข้า server ได้ 


ArduinoNodemcu Esp8266
Pin 10Pin D6
Pin 11Pin D5

Code Arduino
int a = 13;
int b = 25;
#include <SoftwareSerial.h>
SoftwareSerial chat(10, 11); // RX, TX
int i;
void setup()  {
  Serial.begin(9600);
  chat.begin(4800);
}

void loop() {
  if (chat.readString()){
     // chat.print(1);
     if(chat.readString()== "Question1"){ //มีการถามคำถาม Question1 ส่งข้อมูลตัวแปร a ออกไป
      chat.print(a);
     }
     if(chat.readString()== "Question2"){ //มีการถามคำถาม Question2 ส่งข้อมูลตัวแปร b ออกไป
      chat.print(b);
     }
      Serial.print("Send = ");
      Serial.println(i);
  }
  i++;
  delay(1000);

}
 Code Nodemcu
#include <SoftwareSerial.h>
SoftwareSerial chat(D5, D6); // RX, TX
String a;
void setup() {
  Serial.begin(9600);
  chat.begin(4800);

  delay(10);
}
void loop() {
Serial.println("Please wait Serial..");
  while (a == "") {
    chat.print("Question1"); // ส่งหัวข้อคำถาม ว่า Question1 ไปยัง Arduino
    a = chat.readString();  // อ่าน Serial และนำไปเก็บในตัวแปร A
    delay(100);
    Serial.print(".");

  }
}
จากโค๊ดจะเห็นว่า ถ้า Nodecmu ส่งคำว่า Question1 ออกไปหา arduino  arduinoจะส่งค่า 13 มาให้ Nodecmu แต่ถ้า Nodecmu ส่งคำว่า Question/ ออกไปหา arduino  arduinoจะส่งค่า 25 มา Nodecmu
เท่านี้เราก็สามารถให้ arduino อ่านค่า sensor ต่างๆส่งไปให้ Nodecmu esp8266 แสดงค่าในหน้าเว็บ หรือเก็บข้อมูลขึ้น server ได้แล้ว

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

มินิโปรเจค

โปรเจค Arduino เปิด ปิดไฟ AC 220V ด้วยเสียง เปิดปิดไฟ AC 220V ด้วยเสียง          เรียนรู้วิธีควบคุม  Arduino  ด้วยเซ็นเซอร์เส...