Xin chào mọi người, trong này tự làm Tôi sẽ chỉ cho bạn cách tạo một trình phân tích dữ liệu dựa trên nền tảng hiệu quả, rẻ tiền, đồng thời từ Internet Arduino với mô-đun Wifi. Với nó, bạn có thể dễ dàng tìm ra hầu hết mọi thông tin từ mạng trong vài giây. Đây có thể là số lượng người đăng ký trên youtube, số lượng tin nhắn đến, cho dù họ đã xuất bản một sản phẩm tự chế, v.v.
Đây là một sơ đồ đơn giản để lắp ráp.
Trước khi bắt đầu đọc bài viết, tôi khuyên bạn nên xem video cho thấy khả năng của công việc tự chế và ứng dụng thực tế của nó.
Chúng tôi sẽ cần:
-Các nền tảng dựa trên gia đình ESP, trong trường hợp của tôi, và đây là WeMos D1 R2
-LCD hiển thị cho đầu ra thông tin, tôi có một LCD 1602 phổ biến với mô-đun I2C
-wire và nút (mặc dù bạn có thể không cần nó)
Cũng như
Cáp -USB (để tải firmware)
Điểm truy cập -WiFI
- tùy chọn
- trang web và tên miền riêng (để xử lý các truy vấn phức tạp của các trang web phổ biến)
Trước khi tiếp tục các bước tiếp theo, hãy đảm bảo rằng môi trường mà bạn sẽ tải xuống bản phác thảo được hỗ trợ bởi họ vi điều khiển ESP. Để cấu hình Arduino IDE, hãy đến habr và làm theo hướng dẫn cài đặt. Liên kết:
https://habr.com/en/post/371853/
Mô tả chi tiết sản xuất:
Thông thường, các giai đoạn có thể được chia thành 2 phần.
1 hội của phần "sắt"
2 Tải xuống chương trình và thiết lập chương trình
Việc lắp ráp giai đoạn đầu kết thúc rất nhanh. Chúng tôi thu thập nó từ hình ảnh trên và đó là nó.
Mô-đun hiển thị
VCC - 5V
GND - GND
SCL - D15
SDA - D14
Mông - GND đến D7
Tất cả các cài đặt này có thể được thay đổi trong bản phác thảo, nếu bạn có một nền tảng hoặc phiên bản khác của vi điều khiển.
Giai đoạn thứ hai phức tạp hơn một chút, mở Arduino IDE, chọn bảng thích hợp và chỉ ra cổng mà nó được đặt. Trong trường hợp của tôi, bảng: WeMos D1 R1 và cổng 3
Tất cả các cài đặt khác có thể được để mặc định.
Bản phác thảo:
Xin lưu ý rằng bạn phải cài đặt thêm 2 thư viện. Đây là ArduinoJson.h và LiquidCrystal_I2C.h !
Sau đó, chúng tôi thay đổi các biến quan trọng trong cài đặt phác thảo, đó là SSID (tên của điểm Wifi) và mật khẩu (mật khẩu của điểm Wifi)
Sau đó, bạn có thể tải firmware.
Nếu màn hình đã được kết nối chính xác, thông tin sau sẽ được hiển thị trên màn hình.
Nếu điều này không xảy ra, hãy kiểm tra cài đặt sau.
Vui lòng nhập địa chỉ I2C hợp lệ c. Trong mọi trường hợp, tốt hơn là lần đầu tiên sau khi tải xuống bản phác thảo để mở cổng Nối tiếp và đảm bảo rằng kết nối đã được thiết lập thành công.
Nếu điều này không xảy ra, hãy kiểm tra kỹ dữ liệu của điểm WiFi.
Nếu mọi thứ đã được khởi động và kết nối thành công, thì trên màn hình, bạn sẽ thấy như sau:
Bạn cũng có thể nhấp vào nút và kiểm tra xem dữ liệu có được cập nhật không (nếu bạn đã kết nối nó).
Tất cả mọi thứ, ở giai đoạn này 95% công việc được thực hiện, nó chỉ còn lại để chỉ ra trong cấu hình dữ liệu cần được phân tích cú pháp. Tất cả đều ở dạng "A" không đổi
const String A = "http://jsonplaceholder.typicode.com/users/1,name,User 1:; http: //jsonplaceholder.typicode.com/users/2,name,User 2 :;";
Vì vậy, cú pháp để viết là đơn giản. Tất cả các nguồn được chia thành các nhóm được phân tách bằng dấu chấm phẩy (;).
Mỗi nhóm bao gồm 3 tham số chính, điều này
- URL mà yêu cầu sẽ đi đến
- Giá trị được lấy.
- Văn bản bổ sung được hiển thị.
Theo cách này
http://jsonplaceholder.typicode.com/users/1,name,User 1:
==URL = http://jsonplaceholder.typicode.com/users/1
KHÓA = tên
văn bản = "Người dùng 1:"
Nếu bạn theo liên kết bây giờ
http://jsonplaceholder.typicode.com/users/1
Sau đó, bạn có thể xem các thông tin sauTrên thực tế, bạn có thể thấy giá trị "tên" đến từ đâu.
Vì vậy, bạn đã có thể trích xuất thông tin từ các trang web đơn giản. Nhưng phương pháp này không phù hợp để làm việc với các trang web "nghiêm túc" hoạt động với chứng chỉ SSL, kiểm tra các yêu cầu và hiển thị bất kỳ hình ảnh xác thực nào nếu chúng không thích một cái gì đó, và bên cạnh đó, đầu ra dữ liệu quá phức tạp để xử lý bằng các lực lượng arduino. " Vì tôi đã không cố gắng "giải quyết" tất cả những điều này, nhưng có những thứ hoạt động rất không ổn định hoặc hoàn toàn không hoạt động. Cập nhật chứng chỉ liên tục không giúp được gì nhiều. Do đó, như tôi tin, giải pháp hợp lý nhất là tạo trang web của riêng bạn, "bên trong" trong đó tất cả các yêu cầu này sẽ được thực hiện, xử lý và hiển thị bởi chính arduino ở dạng "đơn giản hóa". Làm thế nào để tạo một trang web có nhiều bài viết / video / diễn đàn, vv, tại thời điểm hiện tại đây không phải là một vấn đề. Giả sử bạn có một cái, sau đó tải tập tin sau lên nó. Gọi nó là những gì bạn thích, tốt, hãy nói "Pars.php".
/ *
Mã để phân tích thông tin từ các trang web và hiển thị thêm
Phiên bản v0.1, nếu có bất kỳ lỗi nào, vui lòng viết bình luận dưới video