Mục lục:
- Bước 1: Các bộ phận & công cụ được sử dụng:
- Bước 2: Tùy chỉnh Trình quản lý Wifi
- Bước 3: Chức năng tùy chỉnh cho Hành động biểu mẫu
- Bước 4: Kết nối & Chương trình chính
- Bước 5: Tạo Máy chủ Web
- Bước 6: Bước cuối cùng !!
Video: Hiển thị WIFI cho Quản lý Sản xuất: 6 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Tôi là một chút Series về IOT và Máy tính bảng đơn.
Tôi luôn mong muốn sử dụng nó ngoài Dự án Sở thích & Vui vẻ (Sản xuất và Sản xuất thực tế).
Tài liệu hướng dẫn này chuẩn bị Tạo màn hình WIFI 4 chữ số 7 đoạn với nút ESP để Hiển thị đầu vào sản xuất hàng giờ. Tôi đang làm việc trong ngành sản xuất Điện tử, nơi chúng tôi sử dụng Hệ thống Thực thi Sản xuất (MES) để Giám sát & Kiểm soát Đầu vào, Đầu ra và Quy trình của Tầng Sản xuất. Trong dự án này, tôi đang tạo đơn vị hiển thị Nhỏ sẽ hiển thị Số lượng đầu vào sản xuất theo dòng, ca và giờ.
Về mặt kỹ thuật, Dự án này tương tự như một màn hình hiển thị số người đăng ký Youtube, nơi chúng tôi sử dụng phản hồi API / HTTP từ trực tuyến.
Bước 1: Các bộ phận & công cụ được sử dụng:
Các bộ phận phần cứng được sử dụng:
- ESP gật đầu
- TM1637 hiển thị 4 chữ số đồng hồ
- Đẩy chuyển đổi
- Điện trở 10k
- vài dây nhảy
Công cụ phần mềm được sử dụng:
- Arduino IDE
- Xampp dành cho máy chủ web PHP / Apache
Thư viện Arduino đã sử dụng:
1. Trình quản lý Wi-Fi của tzapu & i Được tùy chỉnh cho các tệp tùy chỉnh của tôi (wifimanager)
2. ESP_EEPROM để lưu trữ các giá trị tùy chỉnh của tôi trong bộ nhớ Flash
3. SevenSegmentTM1637 để hiển thị
Bước 2: Tùy chỉnh Trình quản lý Wifi
Trong phần Đầu tiên này, tôi đã cài đặt trình quản lý wifi trước, sau đó tôi đã sao chép Thư mục trình quản lý Wifi và chuyển lại vào Thư mục tương tự trong thư mục thư viện Arduino, sau đó đổi tên thành WiFiManager_custom.
Thư mục Thư mục gốc Hầu hết thích
C: / Users / tên máy tính của bạn / Documents / Arduino / các thư viện
Sau đó, tôi mở thư mục wifimanager_custom và đổi tên tệp.cpp tiêu đề giống như wifimanager_custom, cũng được thêm vào trong tệp tiêu đề &.cpp.
Và đã thêm biểu mẫu & nút tùy chỉnh của tôi trong tiêu đề.
trong HTTP_PORTAL_OPTIONS PROGMEM, tôi đã thêm biểu mẫu nút của mình cho Menu.
và thêm Biểu mẫu mới để nhập dòng & dịch chuyển. tôi đã tạo biểu mẫu này dưới dạng văn bản đơn giản.
Sau đó, chúng ta sẽ tạo các hàm hành động cho các biểu mẫu này trong tệp.cpp, vì vậy chúng ta phải khai báo hàm trong tệp tiêu đề.
/ * các chức năng tùy chỉnh của tôi * /
void xử lýCustomForm (); void xử lýCustomSave ();
tôi đã khai báo các chức năng tùy chỉnh của mình trong tệp tiêu đề. rằng nó, công việc của chúng tôi trong tiêu đề đã hoàn thành, chúng tôi phải đi với tệp.cpp để tạo chức năng và hành động của chúng tôi.
Bước 3: Chức năng tùy chỉnh cho Hành động biểu mẫu
Bây giờ chúng ta mở tệp wifimanager_custom.cpp của mình.
và chúng tôi phải thêm trình xử lý phản hồi http để gọi các hàm của chúng tôi khi biểu mẫu của chúng tôi được đăng.
server-> on (String (F ("/ custom_config")), std:: bind (& WiFiManager:: handleCustomForm, this)); // Tay cầm tùy chỉnh của TÔI
server-> on (String (F ("/ custom_save")), std:: bind (& WiFiManager:: handleCustomSave, this)); // Tay cầm tùy chỉnh CỦA TÔI
chúng sẽ gọi các chức năng tùy chỉnh của chúng tôi khi biểu mẫu được đăng.
1.handleCustomForm () -> sẽ tạo một trang với biểu mẫu tùy chỉnh của chúng tôi cho nút nhập & lưu dòng & dịch chuyển.
2.handleCustomSave () -> hàm này sẽ lấy các giá trị biểu mẫu & lưu trữ ở các vị trí bộ nhớ Flash 0 (dòng) & 50 (dịch chuyển).
Bước 4: Kết nối & Chương trình chính
Kết nối rất đơn giản..
Kết nối và đi dây:
Màn hình gật gù TM1637
3.3v ---- Vcc
G ---- Gnd
D2 ---- CLK
D3 ----- DIO
gật gù- công tắc đẩy
- nút bấm gắn vào chân D8 từ + 5V - Điện trở 10K gắn vào chân D8 từ mặt đất
chúng tôi đã hoàn thành việc tùy chỉnh wifimanager của mình. bây giờ chúng ta phải tạo chương trình chính của chúng ta.
1. trình quản lý wifi của chúng tôi sẽ Kết nối với mạng wifi bằng thông tin đăng nhập được sử dụng gần đây nhất để kết nối, nếu nó không thành công, nó sẽ mở một máy chủ Wi-Fi AutoConnectAP. Chúng tôi có thể định cấu hình thông tin đăng nhập, đường truyền và dịch chuyển wifi mới bằng cách kết nối với máy chủ wifi này.
2. sau đó nó sẽ nhập vào vòng lặp chính.
Vòng lặp chính của chúng tôi sẽ chứa hai phần. một là chương trình con confi khi chúng ta cần thay đổi đường truyền, thay đổi hoặc thêm bất kỳ thông tin đăng nhập wifi nào để gọi AP chế độ yêu cầu để cấu hình. điều này sẽ được gọi khi một nút nhấn được kết nối với chân D8 được nhấn.
void loop () {
config_loop ();
}
void config_loop () {Serial.println ("");
Serial.println ("Đang chờ Trạng thái nút cấu hình…");
//display.print("Wait ");
if (digitalRead (TRIGGER_PIN) == CAO)
{
display.print ("Conf"); // WiFiManager
// Intialization cục bộ. Khi hoạt động kinh doanh của nó đã hoàn thành, không cần phải giữ nó xung quanh WiFiManager wifiManager;
// đặt lại cài đặt - để thử nghiệm
//wifiManager.resetSettings ();
// đặt thời gian chờ cho đến khi cổng cấu hình bị tắt // hữu ích để làm cho tất cả thử lại hoặc chuyển sang chế độ ngủ // sau vài giây
//wifiManager.setTimeout(120);
// nó bắt đầu một điểm truy cập với tên được chỉ định
// here "AutoConnectAP" // và đi vào vòng lặp chặn đang chờ cấu hình
// KHÔNG CÓ ĐIỀU NÀY, AP KHÔNG LÀM VIỆC ĐÚNG VỚI SDK 1.5, cập nhật lên ít nhất 1.5.1 //WiFi.mode(WIFI_STA);
if (! wifiManager.startConfigPortal ("OnDemandAP")) {Serial.println ("không kết nối được và hết thời gian chờ"); chậm trễ (3000); // đặt lại và thử lại, hoặc có thể đưa nó vào chế độ ngủ sâu ESP.reset (); chậm trễ (5000); }}
//Serial.println("Button status False. Back to Main loop "); //display.print("Main loop "); //display.clear ();
}
Chương trình thứ hai sẽ là chương trình chính của chúng tôi để nhận phản hồi HTTP từ máy chủ cụ thể & Hiển thị số lượng đầu vào trong Màn hình.
Đối với điều này Đầu tiên chúng ta phải lấy chi tiết dòng & dịch chuyển của chúng ta từ bộ lưu trữ Flash của ESP (địa chỉ 0-> dòng, 50-> shift)
EEPROM.begin (100); // eeprom storageEEPROM.get (0, line); // lấy Giá trị từ địa chỉ 0
EEPROM.get (50, ca); // Nhận giá trị từ địa chỉ 50
thì chúng ta phải chuyển dòng này & chuyển chi tiết đến máy chủ http của chúng ta bằng phương thức get để nhận giá trị của đầu vào và đầu ra.
Chuỗi Base_url = "loại bỏ"; // url cơ sở của tôi http; // Đối tượng của lớp
Chuỗi URL = Base_url + "?" + "Line =" + line + "& shift =" + shift;
Serial.println (URL);
http.begin (URL);
int httpCode = http. GET ();
Serial.println (http.getString ()); // điều này sẽ in ra tất cả chuỗi phản hồi
nếu bạn muốn làm thế nào tất cả các văn bản thì công việc của bạn đã hoàn thành ở đây nó tự, chúng tôi có thể trực tiếp hiển thị nó trong màn hình tm1637.
display.print (http.getString ());
Nhưng tôi không muốn hiển thị tất cả văn bản, vì nó chứa đầu vào, đầu ra ở dạng json và một số văn bản chung khác về cơ sở dữ liệu & v.v. của nó.
vì vậy, đầu tiên tôi đã xóa văn bản chung đó khỏi chuỗi phản hồi bằng cách sử dụng hàm Substring ().
tôi đã đếm độ dài của văn bản chung và cắt nó.
if (httpCode> 0) {const size_t bufferSize = 100; // DynamicJsonDocument jsonBuffer (bufferSize); DynamicJsonDocument root (bufferSize);
// JsonObject & root = doc.parseObject (http.getString ());
Chuỗi json_string = http.getString (). Chuỗi con (121); / * đây là phần bù đắp của tôi đối với văn bản chung nếu người trả lời của bạn không có bất kỳ điều gì tương tự như vậy bạn có thể xóa mã này; * /
//Serial.println(json_string);
DeserializationError error = deserializeJson (root, json_string);
// JsonObject & root = jsonBuffer.parseObject (http.getString ());
nếu (lỗi)
{Serial.print (F ("deserializeJson () không thành công:"));
Serial.println (error.c_str ());
trở lại;
}
khác{
const char * input = root ["input"];
const char * output = root ["output"];
Serial.print ("Đầu vào:");
Serial.println (đầu vào);
Serial.print ("Đầu ra:");
Serial.println (đầu ra);
display.print (".. trong..");
display.clear (); // xóa màn hình
display.print (input); // in ĐẾM MỘT SỐ SỐ
}
đó là chương trình chính của chúng tôi đã hoàn thành.
Bước 5: Tạo Máy chủ Web
i m Sử dụng xampp làm web phục vụ & mã PHP để lấy dữ liệu từ cơ sở dữ liệu SQL của tôi để có số lượng chính xác.
Nhưng tôi không thể chia sẻ tất cả các mã gốc của nó. vì tính bí mật của công ty tôi. nhưng tôi sẽ chỉ cách tạo một máy chủ web, hiển thị số lượng đầu vào và đầu ra tĩnh giả.
Đối với điều này, bạn sẽ cần bất kỳ máy chủ lưu trữ web nào, tôi đang sử dụng ở đây xampp làm máy chủ lưu trữ của mình.
bạn có thể tải xuống xampp tại đây.
cài đặt xampp… nếu bạn cần hướng dẫn rõ ràng, bạn có thể sử dụng liên kết này.
Sau khi cài đặt xampp, bạn phải truy cập thư mục gốc của mình.
C: / xampp / htdocs
tất cả các chương trình php của bạn phải ở bên trong thư mục gốc này.
tôi đã tạo trang của mình bằng tên gọi là esp_api.php
đây là mã php của tôi. ở đây tôi chỉ hiển thị các giá trị tĩnh của đầu vào & đầu ra;
$ line = $ _ GET ['line']; $ shift = $ _ GET ['shift'];
echo ("myString"); // văn bản chung
if ($ line == 'a0401' và $ shift = 'dd') {$ result ['input'] = 100; $ result ['output'] = 99; }
else {$ result ['input'] = 200; $ result ['output'] = 199; }
$ myObj-> input = ''. $ result ['input']. '';
$ myObj-> output = ''. $ result ['output']. '';
$ myJSON = json_encode ($ myObj);
echo $ myJSON;
Bây giờ API phản hồi HTTP của chúng tôi đã hoàn tất.
Url cơ sở http của chúng tôi sẽ giống như
you_ip_address / esp_api.php
bạn có thể kiểm tra văn bản phản hồi API của mình bằng cách
localhost/esp_api.php? line = a0401 & shift = dd
ở đây tôi đã đề cập đến dòng là a0401 và dịch chuyển là dd.
Bước 6: Bước cuối cùng !!
Nhập địa chỉ ip máy tính của bạn vào URL cơ sở
Chuỗi Base_url = "loại bỏ"; // url cơ sở của bạn
và Tải lên nút ESP của bạn. Sau khi hoàn tất, chỉ cần bật wifi từ điện thoại di động hoặc máy tính xách tay, bạn sẽ nhận được mạng có tên AutoConnectAP. kết nối với nó và nhập thông tin đăng nhập và cấu hình dòng của bạn.
Sau đó, đặt lại thiết bị của bạn và kiểm tra xem mạng của bạn đã được kết nối sau khi nó được kết nối rồi thì mọi thứ đã xong.
Bạn có thể thấy đầu vào được hiển thị trên màn hình.
Nếu bạn muốn thay đổi bất kỳ đường truyền hoặc thông tin đăng nhập wifi nào, bạn có thể nhấn nút gạt trong vài giây, màn hình hiển thị confi.
bạn đã đăng nhập vào chế độ yêu cầu. bạn có thể thay đổi và đặt lại thiết bị.
Chiếc mô tô chính của anh ấy hướng dẫn cho bạn cách chúng tôi có thể sử dụng các dự án sở thích & thú vị của mình trong khu vực sản xuất & chế tạo thực và trình diễn
Đề xuất:
Tự làm cách hiển thị thời gian trên M5StickC ESP32 bằng Visuino - Dễ thực hiện: 9 bước
Tự làm cách hiển thị thời gian trên M5StickC ESP32 bằng Visuino - Dễ thực hiện: Trong hướng dẫn này, chúng ta sẽ học cách lập trình ESP32 M5Stack StickC với Arduino IDE và Visuino để hiển thị thời gian trên màn hình LCD
Cách tạo một bản nhạc điện tử Bumpin ': Sản xuất âm nhạc giới thiệu cho FL Studio: 6 bước
Cách tạo một bản nhạc điện tử Bumpin ': Sản xuất âm nhạc giới thiệu cho FL Studio: Chào mừng! Hướng dẫn có thể giảng dạy này sẽ hỗ trợ người mới bắt đầu đến các nhà sản xuất âm nhạc trung cấp trong việc sử dụng FL Studio để tạo ra nhiều thể loại Nhạc Dance Điện tử khác nhau. Nó sẽ chạy qua các yếu tố cơ bản của việc tạo một bài hát, với mục đích hướng dẫn chi tiết các mẹo cơ bản
Reggie: một công cụ trực quan cho cửa không trực quan: 5 bước (có hình ảnh)
Reggie: một Công cụ Trực quan cho Cửa không Trực quan: Reggie là một công cụ đơn giản để chế nhạo thiết kế cửa không trực quan một cách tinh nghịch. Làm của riêng bạn. Hãy mang theo một chiếc bên mình, và rồi khi bạn gặp phải cánh cửa như vậy, hãy đập nó vào! Các cửa được gắn nhãn " đẩy " hoặc " kéo " ký hiệu thường làm nổi bật các trường hợp sử dụng.R
Hiển thị nhiệt độ trên Mô-đun hiển thị LED P10 bằng Arduino: 3 bước (có hình ảnh)
Hiển thị nhiệt độ trên Mô-đun hiển thị LED P10 bằng Arduino: Trong hướng dẫn trước đã được hướng dẫn cách hiển thị văn bản trên Mô-đun hiển thị LED ma trận P10 bằng cách sử dụng Arduino và Đầu nối DMD, bạn có thể kiểm tra tại đây. Trong hướng dẫn này, chúng tôi sẽ đưa ra một hướng dẫn dự án đơn giản bằng cách sử dụng mô-đun P10 làm màn hình hiển thị
Thực hiện: Bài dự thi Cuộc thi Huy hiệu NYC từ Máy in GameBoy cũ: 14 bước (có Hình ảnh)
Thực hiện: Bài dự thi Huy hiệu NYC từ Máy in GameBoy cũ: Xin chào tất cả, đây là lần chụp thứ hai của tôi tại một cửa hàng Có thể hướng dẫn .. hãy tử tế..Vì vậy, cuộc họp tại địa phương Make: NYC đã có một cuộc thi huy hiệu cho cuộc họp thứ hai .. (liên kết tại đây) , mục đích của cuộc thi là tạo ra một bảng tên / huy hiệu có thể đeo được ở một số loại, bằng một số chất liệu