Daftar Isi:

Tampilan WIFI untuk Manajemen Produksi: 6 Langkah
Tampilan WIFI untuk Manajemen Produksi: 6 Langkah

Video: Tampilan WIFI untuk Manajemen Produksi: 6 Langkah

Video: Tampilan WIFI untuk Manajemen Produksi: 6 Langkah
Video: Manajemen Produksi - Ep.11 Manajemen Pemeliharaan 2024, November
Anonim
Tampilan WIFI untuk Manajemen Produksi
Tampilan WIFI untuk Manajemen Produksi

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 & Alat yang Digunakan
Bagian & Alat yang Digunakan

Bagian Perangkat Keras yang Digunakan:

  1. ESP nodemcu
  2. Tampilan jam 4 digit TM1637
  3. Saklar tekan
  4. resistor 10k
  5. beberapa kabel jumper

Alat Perangkat Lunak yang Digunakan:

  1. Arduino IDE
  2. 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

Menyesuaikan Manajer Wifi
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

Fungsi Kustom untuk Tindakan Formulir
Fungsi Kustom untuk Tindakan Formulir
Fungsi Kustom untuk Tindakan Formulir
Fungsi Kustom untuk Tindakan Formulir
Fungsi Kustom untuk Tindakan Formulir
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 & Program Utama
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

Membuat Server Web
Membuat Server Web
Membuat Server Web
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!

Langkah terakhir!!!
Langkah terakhir!!!
Langkah terakhir!!!
Langkah terakhir!!!
Langkah terakhir!!!
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: