Mục lục:

Giao tiếp Arduino với Laravel: 4 bước
Giao tiếp Arduino với Laravel: 4 bước

Video: Giao tiếp Arduino với Laravel: 4 bước

Video: Giao tiếp Arduino với Laravel: 4 bước
Video: Laravel : Truyền dữ liệu trong Route | PHP Laravel Fullstack | TechMaster 2024, Tháng bảy
Anonim
Image
Image
Giao tiếp Arduino với Laravel
Giao tiếp Arduino với Laravel

Chào mọi người, Trong phần Có thể hướng dẫn này, tôi sẽ chỉ cho bạn cách bạn có thể gửi dữ liệu từ Arduino đến ứng dụng Laravel.

Bước 1: Giới thiệu

Giới thiệu
Giới thiệu
Giới thiệu
Giới thiệu

Bất cứ khi nào chúng tôi có một dự án yêu cầu hiển thị và ghi dữ liệu, chúng tôi thường yêu cầu chúng tôi có sẵn dữ liệu trên web. Bằng cách này, chúng tôi có thể theo dõi trạng thái của một đối tượng từ xa hoặc thậm chí điều khiển thiết bị của chúng tôi từ bất kỳ đâu trên thế giới.

Đối với dự án này, chúng tôi sẽ sử dụng bo mạch NodeMCU v1.0 có mô-đun ESP8266 12e trên bo mạch. Ngoài ra, chúng tôi sẽ cần sử dụng một máy tính để có thể lưu trữ ứng dụng Laravel của mình. Nếu bạn muốn tìm hiểu cách bạn có thể thiết lập môi trường như vậy, hãy xem video của tôi về điều đó.

Bước 2: Chuẩn bị ứng dụng Laravel

Chuẩn bị ứng dụng Laravel
Chuẩn bị ứng dụng Laravel
Chuẩn bị ứng dụng Laravel
Chuẩn bị ứng dụng Laravel

Bước đầu tiên của chúng tôi là cài đặt Laravel thông qua Composer. Tôi sẽ không đi vào chi tiết về cách bạn có thể thực hiện việc này vì tài liệu giải thích chi tiết và bạn có thể tìm thấy nó tại đây.

Để giữ cho bản demo này đơn giản, trong Laravel, chúng tôi sẽ ghi lại thông tin được gửi từ Arduino vào một tệp văn bản để chúng tôi có thể xem lại chúng sau. Để làm được điều đó, trước tiên chúng ta sẽ tạo một tuyến POST mới trong tệp "api.php". Trong cuộc gọi lại, chúng tôi sẽ đưa vào các chi tiết yêu cầu để sau này chúng tôi có thể truy xuất các tham số đang được gửi.

Để ghi vào một tệp, tôi đang sử dụng mặt tiền Storage từ Laravel với phương thức nối thêm tiện dụng của nó. Khi được gọi, phương thức này nhận được tên tệp và dữ liệu chuỗi, nơi nó thêm dữ liệu này vào tệp được chỉ định. Nếu tệp không có mặt, thì nó đang được tạo trong lần gọi đầu tiên.

Dữ liệu mà chúng tôi viết trong mỗi hàng bao gồm ngày và giờ hiện tại, theo sau là các giá trị yêu cầu cho nhiệt độ và độ ẩm. Nếu bạn có nhiều giá trị như vậy, bạn có thể lặp lại cùng một quy trình truy xuất cho tất cả chúng.

Bước 3: Chuẩn bị Trình gửi Arduino

Chuẩn bị Trình gửi Arduino
Chuẩn bị Trình gửi Arduino
Chuẩn bị Trình gửi Arduino
Chuẩn bị Trình gửi Arduino

Bây giờ chúng ta hãy xem xét mã Arduino và việc gửi dữ liệu.

Để bảng NodeMCU có thể kết nối với WiFi của chúng tôi và gửi yêu cầu, trước tiên chúng tôi cần đưa một số thư viện vào trên cùng. Tiếp theo, chúng ta cần chỉ định SSID của mạng mà chúng ta kết nối và mật khẩu của nó. Nếu bạn đang sử dụng Uno có lá chắn Ethernet, thì quy trình của bạn sẽ khác.

Ngoài ra, chúng tôi lưu tại đây URL gốc của máy chủ Laravel mà chúng tôi vừa tạo. Trong trường hợp của tôi, đây là địa chỉ IP của máy tính cục bộ của tôi nhưng bạn có thể thêm bất kỳ URL máy chủ nào mà mã có thể truy cập được.

Trong chức năng thiết lập, chúng tôi bắt đầu giao tiếp nối tiếp để chúng tôi có thể theo dõi những gì đang diễn ra. Ngoài ra, chúng ta cần thiết lập bo mạch NodeMCU để nó có thể kết nối đúng cách với WiFi. Sau khi hoàn tất, chúng tôi có thể bắt đầu kết nối và đợi cho đến khi chúng tôi nhận được địa chỉ IP từ bộ định tuyến.

Đối với ví dụ này, tôi thực sự không có bất kỳ cảm biến nào được kết nối với bảng. Thay vào đó, tôi chỉ tạo một số dữ liệu ngẫu nhiên bằng cách sử dụng hàm ngẫu nhiên và tôi đang gửi dữ liệu đó.

Dữ liệu này cần được chuẩn bị dưới dạng một chuỗi truy vấn và sau khi yêu cầu HTTP được bắt đầu, chúng ta cần gửi nó bằng phương thức POST trên máy khách HTTP. Tiêu đề mà chúng tôi đã thêm trước đó là ở đó để cho máy chủ biết rằng có dữ liệu trong yêu cầu mà nó cần thu thập.

Kết quả là, đầu tiên chúng tôi nhận được mã trạng thái HTTP và sau đó là tải phản hồi. Nếu mọi thứ diễn ra suôn sẻ, chúng tôi sẽ nhận được 200 làm mã và vì chúng tôi không trả lại bất kỳ thứ gì từ ứng dụng Laravel của mình, tải trọng sẽ trống.

Nếu vì lý do nào đó mà mã trạng thái không phải là 200, thì trọng tải thường sẽ chứa thông báo lỗi về những gì đã xảy ra.

Cuối cùng, chúng tôi cần đảm bảo đóng yêu cầu và đợi một khoảng thời gian nhất định, trong ví dụ của chúng tôi là 5 giây để thực hiện lại quy trình tương tự.

Kết quả là chúng tôi nhận được các giá trị đó được lưu trong tệp văn bản trên mỗi lần lặp lại để sau này chúng tôi có thể sử dụng giá trị này để hiển thị hoặc ánh xạ nó trên biểu đồ.

Bước 4: Các bước tiếp theo

Các bước tiếp theo
Các bước tiếp theo

Như bạn có thể thấy, quá trình này khá đơn giản và có thể dễ dàng mở rộng để đọc các giá trị từ các cảm biến khác nhau và có thể ghi chúng vào cơ sở dữ liệu. Kết quả của những gì bạn có thể xây dựng với điều này chỉ bị giới hạn bởi trí tưởng tượng của bạn. Để giúp bạn bắt đầu, dưới đây là liên kết đến mã nguồn đầy đủ được sử dụng trong ví dụ.

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

Tôi hy vọng rằng bạn có thể học được điều gì đó mới từ Tài liệu hướng dẫn này và nếu bạn đã học được, vui lòng cho tôi biết trong phần nhận xét, theo dõi tôi trên Tài liệu hướng dẫn và đừng quên đăng ký kênh YouTube của tôi.

Cảm ơn!

Đề xuất: