Mục lục:
- Bước 1: Lý thuyết
- Bước 2: Chuẩn bị các Thư viện Bắt buộc
- Bước 3: Viết mã yêu cầu đơn giản
- Bước 4: Tải lên
- Bước 5: Đọc và Python
- Bước 6: Hoàn thiện
Video: Giao tiếp ESP8266 và Python cho Noobs: 6 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Hướng dẫn này cho phép bạn lấy bất kỳ dữ liệu nào từ ESP8266 và kiểm soát dữ liệu đó qua python mà không cần lệnh AT.
Đối với những người mới bắt đầu, hầu hết các hướng dẫn về cách sử dụng ESP8266 đều khó, bởi vì họ muốn bạn đưa “NHẬN XÉT” vào chip, đó là:
- Không cần thiết
- Lãng phí bộ nhớ của ESP
- Cung cấp cho bạn khả năng kiểm soát hạn chế
- Khó và đầy thử thách
- Và không phù hợp với tất cả các mô-đun ESP8266
Đó là lý do tại sao tôi đã tạo ra một hệ thống giao tiếp mDNS rất đơn giản được điều khiển chỉ với 3 chức năng đơn giản. Nó cũng cung cấp cho bạn toàn quyền kiểm soát.
Bước 1: Lý thuyết
Esp của chúng tôi kết nối với wifi của chúng tôi và tạo một máy chủ localhost và bắt đầu chờ một yêu cầu. Mỗi khi python của chúng tôi gửi một yêu cầu đến localhost đó, đặc biệt là chạy mã mong muốn và sau đó trả về kết quả là một yêu cầu http. Cuối cùng, python đọc dữ liệu trả về đó dưới dạng yêu cầu http và lấy các biến đó từ nó. Với điều này, esp có thể trả về chuỗi, dữ liệu và mảng. Mã Python sẽ hiểu kiểu dữ liệu của chúng.
Bước 2: Chuẩn bị các Thư viện Bắt buộc
Trước hết, bạn phải tải thư viện thẻ ESP8266 xuống arduino Ide. Nếu bạn không biết làm thế nào, đây là hướng dẫn.
Sau đó, bạn phải tải xuống thư viện vi mô của tôi từ đây.
Sau khi bạn tải xuống, trong thư mục thư viện có một tệp tên là "ESP_MICRO.h", hãy sao chép nó vào thư mục mã hóa của dự án arduino hiện tại của bạn. Có, đừng sao chép nó vào các thư viện của arduino, nó là một thư viện vi mô nên bạn sẽ sao chép nó vào thư mục của dự án arduino hiện tại của bạn.
Vì vậy, bây giờ, yêu cầu của chúng tôi đã được thỏa mãn. Chúng ta có thể bắt đầu mã hóa nó.
Bước 3: Viết mã yêu cầu đơn giản
Khi bạn mở project.ino của mình, bạn sẽ thấy hai tab trên arduino Ide. Một là dự án của bạn, một là "ESP_MICRO.h" thư viện vi mô của chúng tôi.
Bây giờ bạn có 5 chức năng đó trong ESP_MICRO.h trong mã chính của bạn, (các chức năng được giải thích trong các dòng đầu tiên của ESP_MICRO.h)
Đây là một mã tăng biến đơn giản.
Mã Arduino:
/ * F5 THỬ NGHIỆM CHO ESP2PY
* Được viết bởi Junicchi * https://github.com/KebabLord/esp_to_python * Nó chỉ đơn giản là tăng và trả về một biến mỗi khi có yêu cầu python * / #include "ESP_MICRO.h" // Bao gồm thư viện vi mô int testvariable = 0; void setup () {Serial.begin (9600); // Khởi động cổng nối tiếp để xem chi tiết start ("USERNAME", "PASSWORD"); // EnAIt sẽ kết nối với wifi của bạn với thông tin chi tiết đã cho} void loop () {waitUntilNewReq (); // Chờ cho đến khi một yêu cầu mới từ python come / * tăng chỉ mục khi một yêu cầu mới đến * / testvariable + = 1; returnThisInt (testvariable); // Trả về dữ liệu cho python}
Bước 4: Tải lên
Lập trình Nodemcu ESP8266s chỉ đơn giản là cắm usb và tải lên bản phác thảo từ arduino.
Nhưng lập trình ESP8266-1 khó hơn, có hai phương pháp để lập trình chúng
Lập trình ESP thông qua arduino
Nếu bạn ổn với jumper, bạn có thể lập trình nó thông qua arduino với mạch này. Nhưng về lâu dài, đó là nỗi đau. Vì vậy, tôi đề nghị phương pháp khác.
Lập trình nó với lập trình ESP
Nó dễ dàng hơn và nhanh hơn nhiều. Nó chỉ là 1 đô la, mua một cái và sử dụng một usb lập trình viên.
Tìm hiểu địa chỉ IP của ESP
Trong khi mã đang được tải lên, hãy mở cổng nối tiếp, bạn sẽ thấy thông tin chi tiết được in khi quá trình tải lên hoàn tất. Tìm hiểu IP của esp và lưu ý rằng. Hãy nhớ rằng, IP của ESP trên cục bộ; thay đổi bằng wifi thành wifi, không phải phiên này sang phiên khác, vì vậy khi bạn đóng và mở nó sau đó, nó sẽ không bị thay đổi.
Bước 5: Đọc và Python
Trong esp_to_python / library có một "EXAMPLE_PYTHON_READER.py"
chỉnh sửa nó, thay đổi dòng thứ 5 với địa chỉ IP của mô-đun esp được in trên cổng nối tiếp và chạy tập lệnh python. Trong dự án này, tôi đã sử dụng python để gửi và đọc yêu cầu. Nhưng bạn cũng có thể xem dữ liệu thô bằng trình duyệt trong khi dán ip của ESP trên trình duyệt. Hoặc bạn có thể tạo một ứng dụng để đọc nó, hoặc thậm chí bạn có thể sử dụng một ngôn ngữ khác. Việc kiểm soát mô-đun trên python cũng được giải thích trong dự án "ledControl" trong thư mục ví dụ.
Bước 6: Hoàn thiện
Tất cả các chức năng và mã được giải thích trong ESP_MICRO.h và trong tệp README.md.
Nếu dự án này giúp ích cho bạn, bạn có thể gắn dấu sao cho dự án gốc trên github.
Đề 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