Daftar Isi:
- Langkah 1: Bagian & Alat yang Digunakan:
- Langkah 2: Menyesuaikan Manajer Wifi
- Langkah 3: Fungsi Kustom untuk Tindakan Formulir
- Langkah 4: Koneksi & Program Utama
- Langkah 5: Membuat Server Web
- Langkah 6: Langkah Terakhir!
Video: Tampilan WIFI untuk Manajemen Produksi: 6 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Saya sedikit Seri tentang IOT dan komputer papan tunggal.
Saya selalu ingin menggunakannya di luar Proyek Hobi & Kesenangan (Produksi dan Manufaktur nyata).
Instruksi ini akan membuat tampilan WIFI 7-segmen 4 digit dengan ESP nodemcu untuk Menampilkan Input Produksi setiap jam. Saya Bekerja di industri manufaktur Elektronik, di mana kami menggunakan Manufacturing Execution System (MES) untuk Memantau & Mengontrol Input, Output & Proses Lantai Produksi. Dalam proyek ini saya Membuat unit tampilan Kecil yang akan menampilkan Kuantitas input Produksi per baris, shift dan jam.
Secara teknis Project ini mirip dengan tampilan jumlah Subscriber Youtube, dimana kita menggunakan respon API/HTTP dari online. Tapi disini kita akan membuat api kita sendiri untuk berinteraksi dengan sistem MES lokal kita untuk mendapatkan kuantitas Input.
Langkah 1: Bagian & Alat yang Digunakan:
Bagian Perangkat Keras yang Digunakan:
- ESP nodemcu
- Tampilan jam 4 digit TM1637
- Saklar tekan
- resistor 10k
- beberapa kabel jumper
Alat Perangkat Lunak yang Digunakan:
- Arduino IDE
- Xampp untuk server web PHP/Apache
Perpustakaan Arduino Digunakan:
1. Manajer Wifi oleh tzapu & i Disesuaikan untuk file kustom saya (wifimanager)
2. ESP_EEPROM untuk menyimpan nilai kustom saya di memori Flash
3. SevenSegmentTM1637 Untuk Tampilan
Langkah 2: Menyesuaikan Manajer Wifi
Dalam Ini Pertama saya menginstal wifi manager terlebih dahulu dan kemudian saya Menyalin Folder manajer Wifi dan meneruskannya lagi di Sama di folder perpustakaan Arduino, kemudian berganti nama menjadi WiFiManager_custom.
Direktori Root Folder Sebagian besar suka
C:\Users\nama komputer Anda\Documents\Arduino\libraries
Kemudian saya membuka folder wifimanager_custom dan mengganti nama file header.cpp menjadi sama dengan wifimanager_custom, menambahkan yang sama di file header &.cpp juga.
Dan Menambahkan Formulir & Tombol Kustom saya di header.
di HTTP_PORTAL_OPTIONS PROGMEM saya menambahkan formulir tombol saya untuk Menu.
dan menambahkan Formulir baru untuk memasukkan baris & shift. saya membuat formulir ini sebagai bentuk teks sederhana.
Setelah ini kita akan membuat fungsi tindakan untuk formulir ini di file.cpp, untuk itu kita harus melakukan deklarasi fungsi di file header.
/* fungsi kustom saya */
void handleCustomForm(); void handleCustomSave();
saya mendeklarasikan fungsi kustom saya di file header. itu, pekerjaan kita di header selesai, kita harus pergi dengan file.cpp untuk membuat fungsi & tindakan kita.
Langkah 3: Fungsi Kustom untuk Tindakan Formulir
Sekarang kita buka file wifimanager_custom.cpp kita.
dan kita harus menambahkan penangan respons http untuk memanggil fungsi kita saat formulir kita diposkan.
server->on(String(F("/custom_config")), std::bind(&WiFiManager::handleCustomForm, this)); // Pegangan khusus SAYA
server->on(String(F("/custom_save")), std::bind(&WiFiManager::handleCustomSave, this)); // Pegangan khusus SAYA
ini akan memanggil fungsi kustom kami saat formulir diposting.
1.handleCustomForm()-> akan membuat halaman dengan formulir kustom kami untuk input baris & shift & tombol simpan.
2.handleCustomSave()-> fungsi ini akan mendapatkan nilai bentuk & menyimpan di lokasi memori Flash 0 (baris)& 50(shift).
Langkah 4: Koneksi & Program Utama
Koneksi sangat sederhana..
Koneksi dan kabel:
Tampilan nodemcu TM1637
3.3v ---- Vcc
G ---- Gnd
D2 ---- CLK
D3----- DIO
nodemcu- saklar tekan
- tombol tekan terpasang ke pin D8 dari +5V - resistor 10K terpasang ke pin D8 dari ground
kami selesai menyesuaikan wifimanager kami. sekarang kita harus membuat program utama kita.
1. manajer wifi kami akan Terhubung dengan jaringan wifi dengan kredensial yang terakhir digunakan untuk terhubung, jika gagal membuka server wifi AutoConnectAP. Kami dapat mengonfigurasi kredensial wifi baru, garis & shift dengan menghubungkan ke server wifi ini.
2. maka akan masuk ke loop utama.
Loop utama kita akan berisi dua bagian. salah satunya adalah subrutin konfi ketika kita perlu mengubah jalur, menggeser, atau menambahkan kredensial wifi apa pun untuk memanggil mode permintaan AP untuk dikonfigurasi. ini akan dipanggil ketika tombol tekan yang terhubung ke pin D8 Ditekan.
lingkaran kosong() {
konfigurasi_loop();
}
void config_loop(){ Serial.println("");
Serial.println("Menunggu Status Tombol Konfigurasi…");
//display.print("Tunggu");
if (DigitalBaca(TRIGGER_PIN) == TINGGI)
{
display.print("Konf"); //Manajer WiFi
// inisialisasi lokal. Setelah bisnisnya selesai, tidak perlu menyimpannya di sekitar WiFiManager wifiManager;
//reset pengaturan - untuk pengujian
//wifiManager.resetSettings();
//menetapkan batas waktu hingga portal konfigurasi dimatikan //berguna untuk membuat semuanya coba lagi atau tidur //dalam hitungan detik
//wifiManager.setTimeout(120);
// itu memulai titik akses dengan nama yang ditentukan
//di sini "AutoConnectAP" //dan masuk ke loop pemblokiran menunggu konfigurasi
//TANPA INI AP TAMPAKNYA TIDAK BEKERJA DENGAN BAIK DENGAN SDK 1.5, perbarui ke setidaknya 1.5.1 //WiFi.mode(WIFI_STA);
if (!wifiManager.startConfigPortal("OnDemandAP")) { Serial.println("gagal terhubung dan mencapai batas waktu"); penundaan(3000); //reset dan coba lagi, atau mungkin ubah ke deep sleep ESP.reset(); penundaan(5000); } }
//Serial.println("Status Tombol Salah. Kembali ke Loop Utama"); //display.print("Lingkaran Utama"); //display.clear();
}
Yang kedua akan menjadi program utama kami untuk mendapatkan respons HTTP dari server tertentu & Menampilkan jumlah input di Tampilan.
Untuk ini Pertama kita harus mendapatkan detail line & shift dari penyimpanan Flash ESP (alamat 0-> line, 50-> shift)
EEPROM.begin(100); // penyimpanan eepromEEPROM.get(0, baris); // dapatkan Nilai dari alamat 0
EEPROM.get(50, shift); // Dapatkan Nilai Dari alamat 50
maka kita harus melewati baris ini & menggeser detail ke server http kita dengan metode get untuk mendapatkan nilai input & output.
String Base_url="dihapus"; // urlHTTPClient dasar saya http; //Objek kelas
String URL=Base_url+"?"+"line="+line+"&shift="+shift;
Serial.println(URL);
http.mulai(URL);
int httpKode =
Serial.println(http.getString()); // ini akan mencetak semua string respons
jika anda ingin bagaimana semua teks maka pekerjaan anda selesai di sini sendiri kita bisa langsung menampilkannya di layar tm1637.
display.print(http.getString());
Tetapi saya tidak ingin menampilkan semua teks, karena berisi input, output dalam bentuk json & beberapa teks umum lainnya tentang database & dll.
jadi pertama-tama saya menghapus teks umum itu dari string respons dengan menggunakan fungsi Substring().
saya menghitung panjang teks umum dan memangkasnya.
if (Kode http > 0) { const size_t bufferSize = 100; //DynamicJsonDocument jsonBuffer(ukuran buffer); DynamicJsonDocument root(bufferSize);
//JsonObject& root = doc.parseObject(http.getString());
String json_string=http.getString().substring(121); /* ini adalah offset teks umum saya jika tanggapan Anda tidak memiliki hal seperti itu, Anda dapat menghapus kode ini; */
//Serial.println(json_string);
Kesalahan deserialisasiError = deserializeJson(root, json_string);
//JsonObject& root = jsonBuffer.parseObject(http.getString());
jika (kesalahan)
{ Serial.print(F("deserializeJson() gagal: "));
Serial.println(error.c_str());
kembali;
}
lain{
const char* masukan = root["masukan"];
const char* keluaran = root["keluaran"];
Serial.print("Masukan:");
Serial.println(masukan);
Serial.print("Keluaran:");
Serial.println(keluaran);
display.print("..in..");
tampilan.clear(); // bersihkan layar
display.print(input);// print MENGHITUNG BEBERAPA DIGIT
}
itu saja program utama kami selesai.
Langkah 5: Membuat Server Web
saya menggunakan xampp sebagai server web & kode PHP saya untuk mendapatkan data dari database SQL saya untuk mendapatkan jumlah yang tepat.
Tetapi saya tidak dapat membagikan semua kode asli itu. karena itu kerahasiaan perusahaan saya. tetapi saya akan menunjukkan cara membuat satu server web, menunjukkan jumlah input & output statis dummy.
Untuk ini, Anda harus memerlukan host web apa pun, saya menggunakan xampp di sini sebagai Host saya.
Anda dapat mengunduh xampp di sini.
instal xampp…jika Anda membutuhkan instruksi yang jelas, Anda dapat menggunakan tautan ini.
Setelah menginstal xampp Anda harus pergi ke direktori root Anda.
C:\xampp\htdocs
semua program php Anda harus berada di dalam root ini.
saya membuat halaman saya dengan nama yang disebut esp_api.php
ini kode php saya. di sini saya hanya menampilkan nilai statis input & output;
$line=$_GET['line'];$shift=$_GET['shift'];
echo("myString"); //teks umum
if($line=='a0401' dan $shift='dd') { $result['input']=100; $hasil['keluaran']=99; }
else { $hasil['input']=200; $hasil['keluaran']=199; }
$myObj->input =''.$result['input'].'';
$myObj->output =''.$result['output'].'';
$myJSON = json_encode($myObj);
gema $sayaJSON;
Sekarang API respons HTTP kami selesai.
Url dasar http kami akan seperti
you_ip_address/esp_api.php
Anda dapat memeriksa teks respons API Anda dengan
localhost/esp_api.php?line=a0401&shift=dd
di sini saya menyebutkan baris sebagai a0401 dan shift sebagai dd.
Langkah 6: Langkah Terakhir!
Masukkan alamat ip komputer Anda di Base URL
String Base_url="dihapus"; // url dasar Anda
dan Unggah ke nodemcu ESP Anda. Setelah Anda selesai hanya mengaktifkan wifi Anda dari ponsel atau laptop Anda, Anda akan mendapatkan jaringan yang disebut AutoConnectAP. terhubung dengannya dan masukkan kredensial & konfigurasi baris Anda.
Kemudian atur ulang perangkat Anda & periksa jaringan Anda terhubung setelah terhubung maka semuanya selesai.
Anda dapat melihat input yang ditampilkan di layar.
jika Anda ingin mengubah kredensial saluran atau wifi apa pun, Anda dapat menekan tombol tekan selama beberapa detik, layar menunjukkan konfi.
Anda masuk ke mode demandAP. Anda dapat mengubah & menyetel ulang perangkat.
Moto utama instruksinya untuk menunjukkan kepada Anda bagaimana kami dapat menggunakan proyek hobi & kesenangan kami di area produksi & manufaktur nyata dan pertunjukan
Direkomendasikan:
Mudah Keluar dari Manajemen Band untuk TI: 4 Langkah
Manajemen Out of Band yang Mudah untuk IT: Ikon yang dibuat oleh Freepik dari www.flaticon.comPelajari cara mengonfigurasi Out of Band Management (OOBM) dengan menghubungkan remote.it yang dikonfigurasi Raspberry Pi dan perangkat Android atau iPhone dengan tethering USB. Ini bekerja pada RPi2/RPi3/RPi4.Jika Anda tidak tahu apa
Manajemen Daya untuk CR2032: 4 Langkah
Manajemen Daya untuk CR2032: Melakukan aplikasi energi rendah memerlukan beberapa komponen khusus dan perawatan baris kode. Beberapa komponen memberikan fitur ini, beberapa lainnya perlu dikerjakan dalam waktu singkat. ide utama ketika kita bekerja dalam aplikasi energi yang sangat rendah adalah jenis baterai. NS
Colokan Arduino Mega RJ45 untuk Manajemen Kabel: 5 Langkah
Colokan Arduino Mega RJ45 untuk Manajemen Kabel: Arduino Mega memiliki banyak pin - itulah alasan utama untuk membelinya, bukan? Kami ingin menggunakan semua pin itu! Pengkabelan dapat dengan cepat menjadi kekacauan spageti tanpa manajemen kabel. Kita dapat mengkonsolidasikan kabel dengan menggunakan colokan Ethernet. Pin data di
Cara Membuat Lagu Elektronik Bumpin': Produksi Musik Pengantar untuk FL Studio: 6 Langkah
Cara Membuat Lagu Elektronik Bumpin': Produksi Musik Pengantar untuk FL Studio: Selamat datang! Panduan yang dapat diinstruksikan ini akan membantu produser musik pemula hingga menengah dalam menggunakan FL Studio untuk membuat berbagai genre Electronic Dance Music. Ini akan berjalan melalui elemen dasar membuat lagu, dengan tujuan merinci tips dasar
TIMER TEKNIK POMODORO - PERANGKAT KERAS YANG MUDAH DIGUNAKAN UNTUK MANAJEMEN WAKTU: 4 Langkah
TIMER TEKNIK POMODORO - PERANGKAT KERAS YANG MUDAH DIGUNAKAN UNTUK MANAJEMEN WAKTU: 1. Apa ini ?Teknik pomodoro adalah keterampilan manajemen waktu yang membagi waktu kerja menjadi blok 25 menit dan mengikuti waktu istirahat 5 menit. detailnya seperti di bawah ini: https://francescocirillo.com/pages/pomodoro-techni…Timer ini mudah digunakan ha