Mục lục:
- Bước 1: Giới thiệu
- Bước 2: Chuẩn bị ứng dụng Laravel
- Bước 3: Chuẩn bị Trình gửi Arduino
- Bước 4: Các bước tiếp theo
Video: Giao tiếp Arduino với Laravel: 4 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
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
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
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
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
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:
Giao tiếp nối tiếp Arduino: 5 bước
Giao tiếp nối tiếp Arduino: Nhiều dự án Arduino dựa vào việc truyền dữ liệu giữa một số Arduino. chuyển seria
Giao tiếp nối tiếp PIC MCU và Python: 5 bước
PIC MCU và Python Serial Communication: Xin chào, các bạn! Trong dự án này, tôi sẽ cố gắng giải thích các thử nghiệm của tôi về PIC MCU và giao tiếp nối tiếp Python. Trên internet, có rất nhiều hướng dẫn và video về cách giao tiếp với PIC MCU qua thiết bị đầu cuối ảo rất hữu ích. Howev
Giao tiếp nối tiếp Arduino và Python - Hiển thị bàn phím: 4 bước
Giao tiếp nối tiếp Arduino và Python - Hiển thị bàn phím: Dự án này được thực hiện cho người dùng mac nhưng nó cũng có thể được thực hiện cho Linux và Windows, bước duy nhất nên khác là cài đặt
Giao tiếp dữ liệu trực tiếp ESP8266: 3 bước
Giao tiếp dữ liệu trực tiếp ESP8266: Giới thiệu Trong khi thực hiện một số dự án với mô-đun Arduinos và nRF24l01, tôi đã tự hỏi liệu tôi có thể tiết kiệm một chút công sức bằng cách sử dụng mô-đun ESP8266 thay thế hay không. Ưu điểm của mô-đun ESP8266 là nó chứa bộ điều khiển vi mô trên bo mạch, vì vậy không
Giao tiếp nối tiếp không dây bằng Bluefruit: 4 bước
Giao tiếp nối tiếp không dây sử dụng Bluefruit: Đây là hướng dẫn từng bước đơn giản để thay thế dây của bạn bằng kết nối bluetooth năng lượng thấp: Tôi đã mất một lúc để tìm ra điều này vì hầu như không có bất kỳ tài liệu nào về việc này với công nghệ năng lượng thấp bluetooth hiện đại như vậy với tư cách là Bluefrui