Isi kandungan:
- Langkah 1: Bahagian & Alat yang Digunakan:
- Langkah 2: Menyesuaikan Wifi Manager
- Langkah 3: Fungsi Tersuai untuk Tindakan Bentuk
- Langkah 4: Sambungan & Program Utama
- Langkah 5: Membuat Pelayan Web
- Langkah 6: Langkah Akhir !
Video: Paparan WIFI untuk Pengurusan Pengeluaran: 6 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Saya serba sedikit mengenai komputer IOT dan papan tunggal.
Saya selalu ingin menggunakannya di luar Hobby & Fun Projects (Pengeluaran dan Pembuatan sebenar).
Instructable ini akan Membuat paparan WIFI 4-segmen 7 digit dengan nodemcu ESP untuk Menunjukkan Input Pengeluaran setiap jam. Saya Bekerja dalam industri pembuatan Elektronik, di mana kami menggunakan Manufacturing Execution System (MES) untuk Memantau & Mengendalikan Input, Output & Proses Lantai Pengeluaran. Dalam projek ini saya Menciptakan unit paparan Kecil yang akan menunjukkan Kuantiti input Pengeluaran mengikut baris, shift dan jam.
Secara teknikal Projek ini serupa dengan paparan jumlah Pelanggan Youtube, di mana kami menggunakan respons API / HTTP dari dalam talian. Tetapi di sini kami akan membuat api sendiri untuk berinteraksi dengan sistem MES tempatan kami untuk mendapatkan kuantiti Input.
Langkah 1: Bahagian & Alat yang Digunakan:
Bahagian Perkakasan Yang Digunakan:
- ESP nodemcu
- Paparan jam 4 digit TM1637
- Suis tolak
- Perintang 10k
- beberapa wayar pelompat
Alat Perisian yang Digunakan:
- Arduino IDE
- Xampp untuk pelayan web PHP / Apache
Perpustakaan Arduino's Digunakan:
1. Pengurus wifi oleh tzapu & i Disesuaikan untuk fail peribadi saya (wifimanager)
2. ESP_EEPROM untuk menyimpan nilai tersuai saya dalam memori Flash
3. SevenSegmentTM1637 Untuk Paparan
Langkah 2: Menyesuaikan Wifi Manager
Dalam Pertama ini, saya memasang pengurus wifi terlebih dahulu dan kemudian saya Menyalin Folder pengurus Wifi dan meneruskannya lagi di Sama di folder perpustakaan Arduino, kemudian dinamakan semula sebagai WiFiManager_custom.
Direktori Folder Root Selalunya suka
C: / Pengguna / nama komputer anda / Dokumen / Arduino / perpustakaan
Kemudian saya membuka folder wifimanager_custom dan menamakan semula fail.cpp header sama dengan wifimanager_custom, ditambahkan sama dalam fail header &.cpp juga.
Dan Menambah Bentuk & Butang Custom saya dalam tajuk.
dalam HTTP_PORTAL_OPTIONS PROGMEM saya menambahkan borang butang saya untuk Menu.
dan menambah Borang baru untuk memasukkan baris & shift. saya membuat borang ini sebagai bentuk teks ringkas.
Setelah ini kita akan membuat fungsi tindakan untuk bentuk ini dalam file.cpp, untuk itu kita harus melakukan deklarasi fungsi dalam file header.
/ * fungsi tersuai saya * /
kekosongan kekosonganCustomForm (); kekosongan pemegangCustomSave ();
saya menyatakan fungsi khas saya dalam fail header. bahawa itu, kerja header kita selesai kita harus pergi dengan fail.cpp untuk membuat fungsi & tindakan kita.
Langkah 3: Fungsi Tersuai untuk Tindakan Bentuk
Sekarang kami membuka fail wifimanager_custom.cpp kami.
dan kami harus menambah pengendali respons http untuk memanggil fungsi kami semasa borang kami dihantar.
pelayan-> di (String (F ("/ custom_config")), std:: bind (& WiFiManager:: handleCustomForm, this)); // Pemegang tersuai saya
pelayan-> di (String (F ("/ custom_save")), std:: bind (& WiFiManager:: handleCustomSave, this)); // Pemegang tersuai saya
ini akan memanggil fungsi khas kita semasa borang diposkan.
1.handleCustomForm () -> akan membuat halaman dengan borang tersuai kami untuk butang input & shift line & shift.
2.handleCustomSave () -> fungsi ini akan mendapat nilai bentuk & menyimpan di lokasi memori Flash 0 (baris) & 50 (shift).
Langkah 4: Sambungan & Program Utama
Sambungan sangat mudah..
Sambungan dan pendawaian:
Paparan nodemcu TM1637
3.3v ---- Vcc
G ---- Gnd
D2 ---- CLK
D3 ----- DIO
suis tekan nodemcu
- butang tekan dilekatkan pada pin D8 dari + 5V - perintang 10K yang dilekatkan pada pin D8 dari tanah
kami selesai menyesuaikan wifimanager kami. sekarang kita harus membuat program utama kita.
1. pengurus wifi kami akan Terhubung dengan rangkaian wifi dengan kelayakan terakhir yang digunakan untuk disambungkan, jika gagal ia membuka pelayan wifi AutoConnectAP. Kami dapat mengkonfigurasi kredensial wifi baru, baris & pergeseran dengan menyambung ke pelayan wifi ini.
2. maka ia akan masuk ke gelung utama.
Gelung utama kami akan mengandungi dua bahagian. salah satunya adalah konfigurasi subrutin ketika kita perlu menukar baris, beralih atau menambah sebarang wifi untuk memanggil mod permintaan AP untuk dikonfigurasi. ini akan dipanggil apabila butang tekan yang disambungkan ke pin D8 Ditekan.
gelung kosong () {
config_loop ();
}
batal config_loop () {Serial.println ("");
Serial.println ("Menunggu Status butang Config …");
//display.print("Tunggu ");
jika (digitalRead (TRIGGER_PIN) == TINGGI)
{
display.print ("Conf"); // Pengurus WiFi
// Intialisasi tempatan. Setelah perniagaannya selesai, tidak perlu menyimpannya di sekitar WiFiManager wifiManager;
// tetapkan semula tetapan - untuk ujian
//wifiManager.resetSettings ();
// menetapkan masa tamat sehingga portal konfigurasi dimatikan // berguna untuk menjadikannya semua mencuba semula atau tidur // dalam beberapa saat
//wifiManager.setTimeout(120);
// ia memulakan titik akses dengan nama yang ditentukan
// di sini "AutoConnectAP" // dan memasuki gelung penyekat menunggu konfigurasi
// TANPA INI AP TIDAK BERLAKU BEKERJA DENGAN SDK 1.5, kemas kini kepada sekurang-kurangnya 1.5.1 //WiFi.mode(WIFI_STA);
if (! wifiManager.startConfigPortal ("OnDemandAP")) {Serial.println ("gagal menyambung dan tekan timeout"); kelewatan (3000); // tetapkan semula dan cuba lagi, atau mungkin tidurkan ESP.reset (); kelewatan (5000); }}
//Serial.println("Button status False. Back to Main loop "); //display.print("Main loop "); //display.clear ();
}
Yang kedua akan menjadi program utama kami untuk mendapatkan respons HTTP dari pelayan tertentu & Paparkan kuantiti input di Paparan.
Untuk ini Pertama, kita mesti mendapatkan perincian garis & pergeseran kita dari storan kilat ESP (alamat 0-> baris, 50-> shift)
EEPROM.begin (100); // eeprom storageEEPROM.get (0, baris); // dapatkan Nilai dari alamat 0
EEPROM.get (50, shift); // Dapatkan Nilai Dari alamat 50
maka kita harus meneruskan baris ini & menukar perincian ke pelayan http kita dengan kaedah get untuk mendapatkan nilai input & output.
String Base_url = "dikeluarkan"; // url asas saya HTTCClient http; // Objektif HTTPClient kelas
String URL = Base_url + "?" + "Line =" + line + "& shift =" + shift;
Serial.println (URL);
http.begin (URL);
int httpCode = http. GET ();
Serial.println (http.getString ()); // ini akan mencetak semua rentetan respons
jika anda mahu bagaimana semua teks maka karya anda selesai di sini sendiri kita boleh langsung memaparkannya dalam paparan tm1637.
display.print (http.getString ());
Tetapi saya tidak mahu menunjukkan semua teks, kerana mengandungi input, output dalam bentuk json & teks umum lain mengenai pangkalan data & lain-lain.
jadi pertama saya mengeluarkan teks umum dari tali respons dengan menggunakan fungsi Substring ().
saya mengira panjang teks umum dan memangkasnya.
jika (httpCode> 0) {const size_t bufferSize = 100; // DynamicJsonDocument jsonBuffer (bufferSize); Akar DynamicJsonDocument (bufferSize);
// JsonObject & root = doc.parseObject (http.getString ());
String json_string = http.getString (). Substring (121); / * ini adalah teks teks umum saya jika responden anda tidak mempunyai perkara seperti itu, anda boleh membuang kod ini; * /
//Serial.println(json_string);
Kesalahan DeserializationError = deserializeJson (root, json_string);
// JsonObject & root = jsonBuffer.parseObject (http.getString ());
jika (ralat)
{Serial.print (F ("deserializeJson () gagal:"));
Serial.println (error.c_str ());
kembali;
}
lain {
const char * input = root ["input"];
const char * output = root ["output"];
Serial.print ("Input:");
Serial.println (input);
Serial.print ("Output:");
Serial.println (output);
display.print (".. in..");
display.clear (); // kosongkan paparan
display.print (input); // cetak MENGUNTUNGKAN BEBERAPA DIGIT
}
itu sahaja program utama kami selesai.
Langkah 5: Membuat Pelayan Web
Saya menggunakan xampp sebagai layan web & kod PHP saya untuk mendapatkan data dari pangkalan data SQL saya untuk mendapatkan kuantiti yang tepat.
Tetapi saya tidak dapat berkongsi semua kod asal. kerana kerahsiaan syarikat saya. tetapi saya akan menunjukkan cara membuat satu pelayan web, menunjukkan kuantiti input & output statik palsu.
Untuk ini, anda memerlukan mana-mana hos web, saya menggunakan di sini xampp sebagai hos saya.
anda boleh memuat turun xampp di sini.
pasang xampp… jika anda memerlukan arahan yang jelas, anda boleh menggunakan pautan ini.
Selepas memasang xampp, anda mesti pergi ke direktori root anda.
C: / xampp / htdocs
semua program php anda harus berada di dalam akar ini.
saya membuat halaman saya dengan nama yang dipanggil esp_api.php
ini adalah kod php saya. di sini saya hanya memaparkan nilai statik input & output;
$ line = $ _ DAPATKAN ['line']; $ shift = $ _ DAPATKAN ['shift'];
gema ("myString"); // Teks am
if ($ line == 'a0401' dan $ shift = 'dd') {$ hasil ['input'] = 100; $ hasil ['output'] = 99; }
lain {$ hasil ['input'] = 200; $ hasil ['output'] = 199; }
$ myObj-> input = ''. $ hasil ['input']. '';
$ myObj-> output = ''. $ hasil ['output']. '';
$ myJSON = json_encode ($ myObj);
gema $ myJSON;
Kini API respons HTTP kami selesai.
Url asas http kami akan menjadi seperti
anda_ip_address / esp_api.php
anda boleh menyemak teks respons API anda dengan
localhost/esp_api.php? line = a0401 & shift = dd
di sini saya menyebut garis sebagai a0401 dan beralih sebagai dd.
Langkah 6: Langkah Akhir !
Masukkan alamat ip komputer anda di URL Pangkalan
String Base_url = "dikeluarkan"; // url asas anda
dan Muat naik ke nodemcu ESP anda. Setelah selesai hidupkan wifi anda dari telefon bimbit atau komputer riba, anda akan mendapat rangkaian yang dipanggil AutoConnectAP. sambung dengannya dan masukkan konfigurasi kelayakan & baris anda.
Kemudian tetapkan semula peranti anda & periksa di rangkaian anda disambungkan setelah ia disambungkan maka setiap perkara selesai.
Anda dapat melihat input ditampilkan di paparan.
jika anda ingin menukar sebarang baris atau kelayakan wifi, anda boleh menekan tekan suis selama beberapa saat, paparan menunjukkan konfigurasi.
anda masuk ke mode demandAP. anda boleh menukar & menetapkan semula peranti.
Moto utama arahannya untuk menunjukkan kepada anda bagaimana kita dapat menggunakan projek hobi & keseronokan kita di kawasan produksi & pembuatan sebenar dan pertunjukan
Disyorkan:
Pengurusan Keluar Band yang Mudah untuk IT: 4 Langkah
Easy Out of Band Management untuk IT: Ikon yang dibuat oleh Freepik dari www.flaticon.comPelajari cara mengkonfigurasi Out of Band Management (OOBM) dengan menyambungkan Raspberry Pi yang dikonfigurasi remote.it dan peranti Android atau iPhone dengan penambatan USB. Ini berfungsi pada RPi2 / RPi3 / RPi4. Sekiranya anda tidak tahu apa
Pengurusan Kuasa untuk CR2032: 4 Langkah
Pengurusan Kuasa untuk CR2032: Melakukan aplikasi tenaga rendah memerlukan beberapa keluhan khas dan penjagaan garis kod. Beberapa komponen memberikan ciri ini, yang lain perlu dikerjakan dalam masa yang singkat. idea utama ketika kita bekerja dalam aplikasi tenaga yang sangat rendah adalah jenis bateri
Palam Arduino Mega RJ45 untuk Pengurusan Kabel: 5 Langkah
Palam Arduino Mega RJ45 untuk Pengurusan Kabel: Arduino Mega mempunyai banyak pin - itulah sebab besar untuk membelinya, bukan? Kami mahu menggunakan semua pin itu! Pendawaian dengan cepat boleh menjadi kekacauan spageti tanpa pengurusan kabel. Kita boleh menggabungkan kabel dengan menggunakan palam Ethernet. Data pin pada
Cara Membuat Lagu Elektronik Bumpin: Pengeluaran Muzik Pengenalan untuk FL Studio: 6 Langkah
Cara Membuat Lagu Elektronik Bumpin: Pengeluaran Muzik Pengenalan untuk FL Studio: Selamat Datang! Panduan Instructable ini akan membantu para pemula muzik perantara untuk menggunakan FL Studio untuk mencipta pelbagai genre Electronic Dance Music. Ia akan melalui elemen asas dalam membuat lagu, dengan tujuan untuk memperincikan petua asas
PEMODORO TECHNIQUE TIMER - MENGGUNAKAN PERANGKAT HARDWARE MUDAH UNTUK PENGURUSAN MASA: 4 Langkah
POMODORO TECHNIQUE TIMER - MENGGUNAKAN PERANGKAT HARDWARE MUDAH UNTUK PENGURUSAN MASA: 1. Apa ini? Teknik pomodoro adalah kemahiran pengurusan masa yang membahagikan masa bekerja menjadi blok 25 minit dan mengikuti waktu rehat 5 minit. perincian seperti di bawah: https: //francescocirillo.com/pages/pomodoro-techni..Pemasa ini mudah digunakan