วันอาทิตย์ที่ 15 กันยายน พ.ศ. 2562

โปรเจค IoT ESP8266 แสดงตำแหน่งจาก GPS ด้วย App Blynk



โปรเจค ESP8266 WeMos  แสดงตำแหน่งจาก GPS Module ด้วย App Blynk  โดย GPS ย่อมาจาก Global Positioning System  ใช้เพื่อค้นหาตำแหน่งต่างๆบนโลก อ่านค่าเป็น ละติจูด ลองจิจูด การใช้งานโดยการเชื่อมต่อโมดูล GPS กับ ESP8266 และให้แสดง ละติจูด ลองจิจูด และนำข้อมูลไปใช้แสดงที่  App Blynk เพื่อให้แสดงรายละเอียดของตำแหน่ง ของบอร์ด ESP8266 ผ่านเครือข่ายอินเทอร์เน็ต 




### อุปกรณ์ที่ใช้ ###


1. WeMos D1 R2 V2.1.0 WiFi UNO Based ESP8266

2. Micro USB Cable Wire 1m for NodeMCU

3. GY-NEO6MV2 NEO-6M GPS Module

4. 2.54 mm Right Angle Single Row Pin Male Header

5. Jumper (F2M) 20cm Female to Male




โดยการทำโปรเจคมีขั้นตอนดังนี้


1. การใช้งาน ESP8266 WeMos เบื้องต้น

     
       ลิงค์ โปรแกรมแรก กับ ESP8266 WeMos D1 R2





2. เชื่อมต่อ GPS Module


2.1 ใช้ตะกั่วบัดกรี ขา Right Angle เข้ากับ GPS Module






2.2 เชื่อมต่อ ตัวรับสัญญาณ GPS และเสาอากาศ






2.3 เชื่อมต่อ  ESP8266  กับ GPS Module









3.ติดตั้ง ไลบรารี่ Blynk สำหรับ Arduino IDE


3.1.1 ดาวน์โหลด ไลบรารี่ Blynk ได้ที่



https://github.com/blynkkk/blynk-library



3.1.2  คลิกที่ Clone or download






3.1.2  คลิกที่ Download ZIP





3.2 เปิด โปรแกรม Arduino IDE 






3.3 ไปที่ Skecth -> Include Library -> Add .ZIP Library...






3.4 ไปที่ ไลบรารี blynk-library-master.zip ที่เรา ดาวน์โหลด มา -> Open





3.5 ตรวจสอบที่ Skecth -> Include Library  จะพบ ไลบรารี Blynk เพิ่มเข้ามาใน Arduino IDE ของเรา








4.ติดตั้ง ไลบรารี่ Tiny GPS++ สำหรับ Arduino IDE 


 4.1 ดาวน์โหลด ไลบรารี่ Tiny GPS++ได้ที่


https://github.com/mikalhart/TinyGPSPlus/archive/v1.0.2.zip



4.2 เปิด โปรแกรม Arduino IDE ไปที่ Skecth -> Include Library -> Add .ZIP Library...







4.3 ไปที่ ไลบรารี TinyGPSPlus-1.0.2.zip ที่เรา ดาวน์โหลด มา -> Open





ตรวจสอบที่ Skecth -> Include Library  จะพบ ไลบรารี TinyGPS++ เพิ่มเข้ามาใน Arduino IDE ของเรา






5. สร้าง App Blynk


5.1 ใช้สมาร์ทโฟน ไปที่ Play store ค้นหา "blynk" เลือกติดตั้ง




5.2 เปิด Blynk Application ขึ้นมา




5.3 ถ้ายังไม่เคยมี Account ให้เลือก Create New Account




5.4 กรอก อีเมล และ พาสเวิด -> Sign Up



5.5 เลือก Cool! Got it.





5.6 เลือก New Project




5.7  เลือก CHOOSE DEVICE เลือกเป็น WeMos D1 mini 

ตั้งชื่อ Project ในตัวอย่างชื่อ GPS Tracker -> Create




5.8 โปรแกรม จะส่ง Auth Token ไปที่ อีเมล ที่เรากรอกไว้ เลือก -> OK




5.9 เลือก  เครื่องหมาย +




5.10  เลือกเพิ่ม Map





5.11 เลือก อนุญาต




5.12 เลือก แผนที่ เพื่อตั้งค่า







5.13 ที่ INPUT เลือก PIN
      




5.14 เลือก Virtual -> V0 -> OK




5.15 เลือก <- เพื่อกลับสู่หน้าแรก





5.16 แอพ ของเรา พร้อมใช้งานแล้ว




5.17 ไปที่ อีเมล ที่เรากรอกไว้ โปรแกรม จะส่ง Auth Token มาให้




5.18 คลิกเข้าไปดู จะพบ Auth Token 





6. อัพโหลดโปรแกรม


6.1 เปิดโปรแกรม Arduino (IDE) และ ก็อปปี้ โค้ดด้านล่างนี้ ไปวางไว้ในส่วนเขียนโปรแกรม




#define BLYNK_PRINT Serial
#include <SPI.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

char auth[] ="YourAuthToken";
char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";

WidgetMap myMap(V0);

void setup()
{
  Serial.begin(9600);

  Blynk.begin(auth, ssid, pass);

  int index = 1;
  float lat = 51.5074;
  float lon = 0.1278;
  myMap.location(index, lat, lon, "value");
}

void loop()
{
  Blynk.run();
}



6.2 ก่อนการอัพโหลดต้องแก้ไขโค้ด ตรงตัวอักษรสีแดงให้ถูกต้องตาม Auth Token จากอีเมล และ  ตามเครือข่าย WiFi ที่เลือกใช้งาน โดย



char auth[] = "YourAuthToken";  // Auth Token จากอีเมล ในขั้นตอนการทำงาน ที่ 5.18
char ssid[] = "YourNetworkName";  // เครือข่าย Wi-Fi ที่ต้องการเชื่อมต่อ
char pass[] = "YourPassword";  // รหัสผ่านเครือข่าย


6.3 ตรวจความถูกต้องแบบละเอียด เช่น...ตัวพิมพ์เล็ก , ตัวพิมพ์ใหญ่ อักขระต่างๆ ให้ถูกต้อง





6.4 เลือกชนิดของบอร์ด : ไปที่ Tools > Board : เลือกเป็น  LOLIN(WEMOS) D1 R2 & mini


6.5 เลือกความเร็วในการอัพโหลด : ไปที่ Tools > Upload Speed: แล้วเลือกเป็น "115200"

6.6 เลือกพอร์ตการใช้งาน : ไปที่ Tools > Port แล้วเลือกพอร์ตที่ปรากฏ ในตัวอย่างเลือกเป็น "COM8"





6.7 กดปุ่ม   เพื่ออัพโหลด ตั้งชื่อไฟล์ -> Save โปรแกรม จะทำการ อัพโหลด




6.8 หากสามารถอัพโหลดโปรแกรมลงบอร์ดได้สำเร็จ จะแสดงคำว่า Done uploading. ที่แถบด้านล่าง



7. ทดสอบการทำงาน


7.1 ไปที่ App ที่สร้าง เลือกเครื่องหมายสามเหลี่ยม






7.2 เลือกที่ 4 ลูกศร





7.3  App จะแสดงตำแหน่างปัจจุบันของ ESP8266







credit : https://www.hackster.io/sarful/nodemcu-gps-tracker-blynk-app-in-iot-platform-3b002d

โปรเจค IoT ESP8266 วัดอุณหภูมิความชื้น บันทึกลงดาต้าเบส MySQL

เป้าหมายของโปรเจคนี้คือเราต้องดูข้อมูลด้วยการเข้าถึงโดเมน ของเราเอง ไม่ว่าจะอยู่ส่วนไหนของโลก โดย ESP8266 จะสร้างไคลเอ็นต์  ที่ทำให้คำขอ...