สารบัญ:
- ขั้นตอนที่ 1: การสร้างและลงชื่อเข้าใช้แพลตฟอร์ม THINGSIO
- ขั้นตอนที่ 2: การสร้างโครงการใหม่
- ขั้นตอนที่ 3: การสร้างอุปกรณ์ใหม่
- ขั้นตอนที่ 4: การกำหนดพารามิเตอร์อุปกรณ์
- ขั้นตอนที่ 5: การอัปเดตอุปกรณ์
- ขั้นตอนที่ 6: การเข้ารหัส
- ขั้นตอนที่ 7: การเลือกบอร์ดและพอร์ตคอม
- ขั้นตอนที่ 8: การเชื่อมต่อวงจร
- ขั้นตอนที่ 9: รวบรวมและอัปโหลด
- ขั้นตอนที่ 10: การตรวจสอบแบบอนุกรม
- ขั้นตอนที่ 11: การอ่าน
- ขั้นตอนที่ 12: การแสดงกราฟิก
- ขั้นตอนที่ 13:
วีดีโอ: LDR การใช้ Thingsai Cloud: 13 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
เฮ้…..วันนี้เราจะมาเรียนรู้เกี่ยวกับการวัดความเข้มของแสงและการโพสต์ค่าลงในแพลตฟอร์มคลาวด์ THINGSAI IOT โดยใช้ ESP32
ข้อกำหนดในการทำโครงการนี้คือ
1. บอร์ดพัฒนา ESP32 (ฉันเคยใช้ ESP32 DEVKIT V1)
2. เซ็นเซอร์ LDR
3. สายจัมเปอร์
4. บัญชีใน THINGSAI IOT PLATFORM
ขั้นตอนที่ 1: การสร้างและลงชื่อเข้าใช้แพลตฟอร์ม THINGSIO
เข้าสู่ระบบบัญชี THINGS AI หากคุณยังใหม่อยู่ ให้ลงทะเบียนกับบัญชีโดยกดปุ่มลงทะเบียนและกรอกข้อมูลรับรองทั้งหมด บัญชีของคุณจะถูกสร้างขึ้น จากนั้นคุณจะสามารถทำงานบนแพลตฟอร์มระบบคลาวด์และสร้างโครงการที่กำหนดเองได้
ขั้นตอนที่ 2: การสร้างโครงการใหม่
หลังจากเข้าสู่ระบบบัญชี ในการสร้างโครงการ เพียงแค่คลิกที่โครงการใหม่แล้วระบุชื่อโครงการ
ขั้นตอนที่ 3: การสร้างอุปกรณ์ใหม่
หลังจากสร้างโครงการแล้ว สิ่งต่อไปที่คุณต้องทำคือสร้างอุปกรณ์ใหม่ ระบุชื่ออุปกรณ์และป้อนรหัสอุปกรณ์ด้วยตนเองหรือสร้างโดยระบบ
ขั้นตอนที่ 4: การกำหนดพารามิเตอร์อุปกรณ์
ระบุพารามิเตอร์อุปกรณ์แล้วเลือกประเภทของพารามิเตอร์
ขั้นตอนที่ 5: การอัปเดตอุปกรณ์
เลือกพารามิเตอร์แล้วอัปเดตอุปกรณ์
ขั้นตอนที่ 6: การเข้ารหัส
จากโค้ดตัวอย่าง ให้เลือกโค้ดของ esp32 คัดลอกแล้ววางลงใน arduino IDE และทำการเปลี่ยนแปลงที่จำเป็นตามความต้องการ ฉันได้ให้รหัสด้านล่าง
#รวม #รวม
#รวม
จำนวน int=0, i, m, j, k;
int เสื้อ; int outputpin= A0;//ds18b20
ค่าเซ็นเซอร์ int;
/////////////////////////////////////// ประกาศทั้งหมดสำหรับ CLOUD ////// ///////////////////////
const char* host = "api.thingsai.io"; // หรือ
โฮสต์ = devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // หรือ /api/v2/thingscloud2/_table/data_ac
const char* time_server = "baas.thethingscloud.com"; //นี่คือการแปลงการประทับเวลา
const int httpPort = 80;
const int https Port = 443;
const char* เซิร์ฟเวอร์ = "api.thingsai.io"; // URL เซิร์ฟเวอร์
ถ่านประทับเวลา[10];
WiFiMulti WiFi Multi;
// ใช้คลาส WiFiClient เพื่อสร้างการเชื่อมต่อ TCP
ไคลเอนต์ WiFiClient;
////////////////////////////////////// ฟังก์ชันการคำนวณเวลา//////// /////////////////////////////// int GiveMeTimestamp () { หมดเวลานานที่ไม่ได้ลงนาม = มิลลิวินาที (); // ไคลเอนต์ WiFiClient;
ในขณะที่ (client.available() == 0)
{
ถ้า (มิลลิวินาที () - หมดเวลา > 50000)
{
client.stop(); กลับ 0;
}
}
ในขณะที่ (client.available())
{
สตริงบรรทัด = client.readStringUntil('\r'); //indexOf() เป็นฟังก์ชันสำหรับค้นหา smthng มันจะคืนค่า -1 หากไม่พบ
int pos = line.indexOf("\"ประทับเวลา\""); //ค้นหา "\"ประทับเวลา\"" จากจุดเริ่มต้นของการตอบสนองที่ได้รับและคัดลอกข้อมูลทั้งหมดหลังจากนั้น จะเป็นการประทับเวลาของคุณ
ถ้า (ตำแหน่ง >= 0)
{
int j = 0;
สำหรับ(j=0;j<10;j++)
{
เวลาประทับ[j] = บรรทัด[pos + 12 + j];
}
}
}
} ////////////////////////////////////////////////////////////////////////////////////////////////////////
การตั้งค่าเป็นโมฆะ ()
{
Serial.begin(115200);
ล่าช้า(10);
// เราเริ่มต้นด้วยการเชื่อมต่อกับเครือข่าย WiFi
WiFiMulti.addAP("wifi", "pswrd");
Serial.println();
Serial.println();
Serial.print("รอ WiFi… ");
ในขณะที่ (WiFiMulti.run() != WL_CONNECTED)
{
Serial.print(".");
ล่าช้า (500);
}
Serial.println("");
Serial.println ("เชื่อมต่อ WiFi");
Serial.println("ที่อยู่ IP:"); Serial.println(WiFi.localIP());
ล่าช้า (500);
}
วงเป็นโมฆะ ()
{
int analogValue = analogRead (เอาต์พุต);
{ ////////////////////////////////////// ส่งคำถามและรับคำตอบ /// ///////////////////
ค่าเซ็นเซอร์ = analogRead (A0); // อ่านพินอินพุตแบบอะนาล็อก 0
ค่าเซ็นเซอร์=ค่าเซ็นเซอร์/100;
Serial.print (ค่าเซ็นเซอร์ ธ.ค.); // พิมพ์ค่า read
Serial.print(" \n"); // พิมพ์ช่องว่างระหว่างตัวเลข
ล่าช้า (1000); // รอ 100ms สำหรับการอ่านครั้งต่อไป
Serial.print("กำลังเชื่อมต่อกับ"); Serial.println (โฮสต์); // กำหนด upside:- host = devapi2.thethingscloud.com หรือ 139.59.26.117
///////////////////////////////////// ข้อมูลโค้ดการประทับเวลา ////////// ///////////////
Serial.println("inside get timestamp\n");
ถ้า (!client.connect(time_server, { กลับ; //*-*-*-*-*-*-*-*-*-* }
client.println("GET /api/timestamp HTTP/1.1"); //ส่วนนี้ทำอะไรอยู่ ฉันไม่ได้รับ client.println("Host: baas.thethingscloud.com");
client.println("การควบคุมแคช: ไม่มีแคช");
client.println("บุรุษไปรษณีย์โทเค็น: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println();
GiveMeTimestamp(); //มันจะเรียกใช้ฟังก์ชันซึ่งจะได้รับการตอบสนองการประทับเวลาจากเซิร์ฟเวอร์ Serial.println("timestamp receieved");
Serial.println (ประทับเวลา);
Serial.println("ภายใน ThingsCloudPost");
สตริง PostValue = "{"device_id\": 61121695844, \"slave_id\": 2";
PostValue = PostValue + ", \"dts\":" +ประทับเวลา;
PostValue = PostValue +", \"data\":{"INTENSITY\":" + \sensorvalue +"}"+"}";
Serial.println (PostValue);
/* สร้างอินสแตนซ์ของ WiFiClientSecure */ ไคลเอนต์ WiFiClientSecure;
Serial.println("เชื่อมต่อกับเซิร์ฟเวอร์ผ่านพอร์ต 443");
ถ้า (!client.connect(เซิร์ฟเวอร์, 443))
{
Serial.println("การเชื่อมต่อล้มเหลว!");
}
อื่น
{ Serial.println("เชื่อมต่อกับเซิร์ฟเวอร์แล้ว!"); /* สร้างคำขอ HTTP */
client.println( POST /devices/deviceData
client.println("โฮสต์: api.thingsai.io"); //client.println("การเชื่อมต่อ: ปิด"); cl
ient.println("ประเภทเนื้อหา: แอปพลิเคชัน/json");
client.println("การควบคุมแคช: ไม่มีแคช");
client.println("การอนุญาต: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PtKa" client.print("เนื้อหา-ความยาว: ");
client.println(PostValue.length());
client.println();
client.println(PostValue); ////////////////////////////////// โพสต์ข้อมูลบนระบบคลาวด์จะทำและขณะนี้ได้รับคลาวด์รูปแบบการตอบสนอง เซิฟเวอร์//////////////////
Serial.print("รอการตอบกลับ");
ในขณะที่ (!client.available()){
ล่าช้า (50); //
Serial.print(".");
} /* หากมีข้อมูล ให้รับและพิมพ์ไปยัง Terminal */
ในขณะที่ (client.available())
{
ถ่าน c = client.read();
Serial.write(c);
}
/* หากเซิร์ฟเวอร์ถูกตัดการเชื่อมต่อ ให้หยุดไคลเอนต์ */
ถ้า (!client.connected())
{
Serial.println();
Serial.println("เซิร์ฟเวอร์ถูกตัดการเชื่อมต่อ");
client.stop();
}
} Serial.println("////////////////////// สิ้นสุด //////////////////// /");
ล่าช้า (3000); } }
ขั้นตอนที่ 7: การเลือกบอร์ดและพอร์ตคอม
จากเครื่องมือ เลือกบอร์ด แล้วเลือกคอมพอร์ต
ขั้นตอนที่ 8: การเชื่อมต่อวงจร
การเข้ารหัสเสร็จสิ้นแล้วทำการเชื่อมต่อดังต่อไปนี้ตามที่กล่าวไว้ด้านล่าง
การเชื่อมต่อ:
GND ของ esp32 ถึง GND ของเซ็นเซอร์ LDR
3V3 0f esp32 ถึง Vcc ของ LDR
รองประธาน esp32 ถึง A0 ของ LDR
ขั้นตอนที่ 9: รวบรวมและอัปโหลด
รวบรวมและอัปโหลดโค้ดลงใน esp32 แล้วอ่านค่าที่อ่านได้จากมอนิเตอร์แบบอนุกรม มันก็จะแสดงผลออกมาประมาณนี้
ขั้นตอนที่ 10: การตรวจสอบแบบอนุกรม
ค่าจะได้รับจากมอนิเตอร์แบบอนุกรม จากนั้นจะถูกส่งไปยังแพลตฟอร์ม THINGSAI IOT Cloud
ขั้นตอนที่ 11: การอ่าน
แสดงค่าที่ได้รับจากบอร์ด esp32
ขั้นตอนที่ 12: การแสดงกราฟิก
นี่คือการแสดงแบบกราฟิกของค่าที่ได้รับ นั่นคือจุดสิ้นสุดของบทช่วยสอน หวังว่าคุณจะเข้าใจ ขอบคุณ
แนะนำ:
การใช้ Pimoroni Enviro+ FeatherWing กับ Adafruit Feather NRF52840 Express: 8 ขั้นตอน
การใช้ Pimoroni Enviro+ FeatherWing กับ Adafruit Feather NRF52840 Express: Pimoroni Enviro+ FeatherWing เป็นบอร์ดที่อัดแน่นไปด้วยเซ็นเซอร์ที่ออกแบบมาเพื่อทำงานร่วมกับบอร์ดรุ่น Adafruit Feather เป็นจุดเริ่มต้นที่มีประโยชน์สำหรับทุกคนที่สนใจในการตรวจสอบด้านสิ่งแวดล้อม มลภาวะในชั้นบรรยากาศ และการทำลายข้อมูล ผม
การใช้ Guitar Hero Guitar เพื่อควบคุมการซูม (Windows เท่านั้น): 9 ขั้นตอน
การใช้กีตาร์ฮีโร่กีตาร์เพื่อควบคุมการซูม (เฉพาะ Windows): เนื่องจากเราอยู่ท่ามกลางการระบาดใหญ่ทั่วโลก พวกเราหลายคนติดอยู่กับการทำความสะอาดบ้านและเข้าร่วมการประชุมบน Zoom หลังจากนี้ไปสักพัก มันอาจจะดูจืดชืดและน่าเบื่อหน่าย ขณะทำความสะอาดบ้าน ฉันพบกีตาร์ Guitar Hero ตัวเก่าที่ถูกโยนทิ้งใ
[2020] การใช้ IPhone หรือ IPad และ Micro:bit Game Pad App เพื่อควบคุมรถ RC: 23 ขั้นตอน
[2020] การใช้ IPhone หรือ IPad และแอพเกมแพด Micro:bit เพื่อควบคุมรถ RC: คุณเคยคิดหรือไม่ว่าจะใช้ iPhone หรือ iPad เพื่อควบคุม micro:bit ของคุณ คุณรู้หรือไม่ว่า Micro:bit Educational Foundation มีแอพ iOS ใน แอพสโตร์? ค้นหา "micro:bit" ใน App Store และคุณสามารถดาวน์โหลดแอปได้ฟรี NS
เครื่องตรวจจับความเคลื่อนไหวโดยใช้แพลตฟอร์ม Thingsai.io Iot Cloud: 6 ขั้นตอน
Motion Detector โดยใช้ Thingsai.io Iot Cloud Platform: ในบทช่วยสอนนี้ ฉันจะอธิบายเกี่ยวกับการตรวจจับการเคลื่อนไหวโดยใช้เซ็นเซอร์ PIR และ Esp32 พร้อมกับแพลตฟอร์มคลาวด์ IOT Thingai.io
IOT Weather Cloud - การใช้ OpenWeatherMaps: 11 ขั้นตอน (พร้อมรูปภาพ)
IOT Weather Cloud - การใช้ OpenWeatherMaps: นี่คือเมฆที่ห้อยลงมาจากเพดานของห้องและเล่นรูปแบบบางอย่างตามผลลัพธ์ที่ส่งคืนจากอินเทอร์เน็ต มันดึงข้อมูลสภาพอากาศจาก OpenWeatherMaps สามารถควบคุมได้ด้วยตนเองผ่านเว็บอินเตอร์เฟสหรืออัตโนมัติ