สารบัญ:

การสื่อสาร Arduino กับ Laravel: 4 ขั้นตอน
การสื่อสาร Arduino กับ Laravel: 4 ขั้นตอน

วีดีโอ: การสื่อสาร Arduino กับ Laravel: 4 ขั้นตอน

วีดีโอ: การสื่อสาร Arduino กับ Laravel: 4 ขั้นตอน
วีดีโอ: EP.25 Arduino Esp8266 รับส่งข้อมูลระหว่าง server กับ client : Server-Client Communication 2024, กรกฎาคม
Anonim
Image
Image
Arduino กับ Laravel Communication
Arduino กับ Laravel Communication

สวัสดีทุกคน, ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นว่าคุณสามารถส่งข้อมูลจาก Arduino ไปยังแอปพลิเคชัน Laravel ได้อย่างไร

ขั้นตอนที่ 1: บทนำ

บทนำ
บทนำ
บทนำ
บทนำ

เมื่อใดก็ตามที่เรามีโครงการที่ต้องการการแสดงข้อมูลและการบันทึก โดยปกติแล้วเราต้องมีข้อมูลอยู่บนเว็บ วิธีนี้ทำให้เราสามารถตรวจสอบสถานะของวัตถุจากระยะไกลหรือควบคุมอุปกรณ์ของเราได้จากทุกที่ในโลก

สำหรับโครงการนี้ เราจะใช้บอร์ด NodeMCU v1.0 ที่มีโมดูล ESP8266 12e บนบอร์ด นอกจากนี้ เราจะต้องใช้คอมพิวเตอร์ที่เราสามารถโฮสต์แอปพลิเคชัน Laravel ของเราได้ หากคุณต้องการทราบวิธีตั้งค่าสภาพแวดล้อมดังกล่าว ให้ตรวจสอบวิดีโอของฉัน

ขั้นตอนที่ 2: เตรียมแอปพลิเคชัน Laravel

เตรียมแอพพลิเคชั่น Laravel
เตรียมแอพพลิเคชั่น Laravel
เตรียมแอพพลิเคชั่น Laravel
เตรียมแอพพลิเคชั่น Laravel

ขั้นตอนแรกของเราคือการติดตั้ง Laravel ผ่าน Composer ฉันจะไม่ลงรายละเอียดเกี่ยวกับวิธีการทำเช่นนี้เนื่องจากเอกสารอธิบายรายละเอียดและคุณสามารถค้นหาได้ที่นี่

เพื่อให้การสาธิตนี้ง่ายขึ้น ภายใน Laravel เราจะบันทึกข้อมูลที่ส่งจาก Arduino ไปยังไฟล์ข้อความเพื่อให้เราตรวจสอบได้ในภายหลัง สำหรับสิ่งนั้น เราจะสร้างเส้นทาง POST ใหม่ในไฟล์ " api.php " ก่อน ในการเรียกกลับ เราจะใส่รายละเอียดคำขอเพื่อให้เราสามารถเรียกข้อมูลพารามิเตอร์ที่ส่งไปในภายหลัง

ในการเขียนลงไฟล์ ฉันกำลังใช้ส่วนหน้าการจัดเก็บจาก Laravel ด้วยวิธีผนวกที่สะดวก เมื่อเรียกวิธีนี้จะได้รับชื่อไฟล์และข้อมูลสตริงซึ่งจะเพิ่มข้อมูลนี้ลงในไฟล์ที่ระบุ หากไม่มีไฟล์ แสดงว่ากำลังสร้างไฟล์ในการโทรครั้งแรก

ข้อมูลที่เราเขียนในแต่ละแถวประกอบด้วยวันที่และเวลาปัจจุบัน ตามด้วยค่าที่ต้องการสำหรับอุณหภูมิและความชื้น หากคุณมีค่าดังกล่าวหลายค่า คุณสามารถทำซ้ำขั้นตอนการดึงข้อมูลเดียวกันทั้งหมดได้

ขั้นตอนที่ 3: เตรียม Arduino Sender

เตรียม Arduino Sender
เตรียม Arduino Sender
เตรียม Arduino Sender
เตรียม Arduino Sender

ทีนี้มาดูโค้ด Arduino และการส่งข้อมูลกัน

เพื่อให้บอร์ด NodeMCU สามารถเชื่อมต่อกับ WiFi ของเราและส่งคำขอได้ ก่อนอื่นเราต้องรวมไลบรารีหลายตัวไว้ด้านบน ต่อไปเราต้องระบุ SSID ของเครือข่ายที่เราเชื่อมต่อและรหัสผ่าน หากคุณกำลังใช้ Uno กับอีเทอร์เน็ตชิลด์ กระบวนการของคุณจะแตกต่างออกไป

นอกจากนี้เรายังบันทึก URL รูทของเซิร์ฟเวอร์ Laravel ที่เราเพิ่งสร้างขึ้นที่นี่ ในกรณีของฉัน นี่คือที่อยู่ IP ของคอมพิวเตอร์ในพื้นที่ของฉัน แต่คุณสามารถเพิ่ม URL โฮสต์ใดก็ได้ที่สามารถเข้าถึงรหัสได้

ในฟังก์ชันการตั้งค่า เราเริ่มต้นการสื่อสารแบบอนุกรมเพื่อให้เราสามารถตรวจสอบสิ่งที่เกิดขึ้นได้ นอกจากนี้ เราจำเป็นต้องตั้งค่าบอร์ด NodeMCU เพื่อให้สามารถเชื่อมต่อกับ WiFi ได้อย่างเหมาะสม เมื่อเสร็จแล้ว เราสามารถเริ่มต้นการเชื่อมต่อและรอจนกว่าเราได้รับที่อยู่ IP จากเราเตอร์

สำหรับตัวอย่างนี้ จริงๆ แล้ว ฉันไม่มีเซ็นเซอร์ใดๆ ที่เชื่อมต่อกับบอร์ด แต่ฉันแค่สร้างข้อมูลสุ่มโดยใช้ฟังก์ชันสุ่มและฉันกำลังส่งข้อมูลนั้นไป

ข้อมูลนี้จำเป็นต้องจัดเตรียมในรูปแบบของสตริงการสืบค้น และหลังจากเริ่มคำขอ HTTP เราจำเป็นต้องส่งข้อมูลโดยใช้วิธีการ POST บนไคลเอนต์ HTTP ส่วนหัวที่เราเพิ่มก่อนหน้านี้มีไว้เพื่อให้เซิร์ฟเวอร์ทราบว่ามีข้อมูลในคำขอที่ต้องรวบรวม

ด้วยเหตุนี้ เราจึงได้รับรหัสสถานะ HTTP ก่อนแล้วจึงรับส่วนข้อมูลการตอบกลับ หากทุกอย่างราบรื่น เราควรได้ 200 เป็นรหัส และเนื่องจากเราไม่ได้ส่งคืนสิ่งใดจากแอปพลิเคชัน Laravel ของเรา เพย์โหลดจะว่างเปล่า

หากรหัสสถานะไม่ใช่ 200 ด้วยเหตุผลบางประการ เพย์โหลดมักจะมีข้อความแสดงข้อผิดพลาดของสิ่งที่เกิดขึ้น

ในตอนท้าย เราต้องตรวจสอบให้แน่ใจว่าได้ปิดคำขอและรอสักครู่ในตัวอย่างของเรา 5 วินาทีเพื่อทำขั้นตอนเดิมอีกครั้ง

ผลลัพธ์คือเราได้รับค่าเหล่านั้นที่บันทึกไว้ในไฟล์ข้อความในการวนซ้ำทุกครั้ง เพื่อที่เราจะสามารถใช้ค่านี้เพื่อแสดงหรือแมปบนแผนภูมิได้ในภายหลัง

ขั้นตอนที่ 4: ขั้นตอนต่อไป

ขั้นตอนต่อไป
ขั้นตอนต่อไป

อย่างที่คุณเห็น กระบวนการนี้ค่อนข้างง่ายและสามารถขยายได้อย่างง่ายดายเพื่ออ่านค่าจากเซ็นเซอร์ต่างๆ และอาจเขียนลงในฐานข้อมูล ผลลัพธ์ของสิ่งที่คุณสามารถสร้างได้นั้นถูกจำกัดด้วยจินตนาการของคุณ เพื่อช่วยให้คุณเริ่มต้นได้ ด้านล่างนี้คือลิงก์ไปยังซอร์สโค้ดแบบเต็มที่ใช้ในตัวอย่าง

github.com/bkolicoski/arduino-laravel-comm…

ฉันหวังว่าคุณจะได้เรียนรู้สิ่งใหม่จาก Instructable นี้ และถ้าคุณทำ โปรดแจ้งให้เราทราบในความคิดเห็น ติดตามฉันใน Instructables และอย่าลืมสมัครรับข้อมูลจากช่อง YouTube ของฉัน

ขอบคุณ!

แนะนำ: