Isi kandungan:

Paparan WIFI untuk Pengurusan Pengeluaran: 6 Langkah
Paparan WIFI untuk Pengurusan Pengeluaran: 6 Langkah

Video: Paparan WIFI untuk Pengurusan Pengeluaran: 6 Langkah

Video: Paparan WIFI untuk Pengurusan Pengeluaran: 6 Langkah
Video: Software Accounting Malaysia | Perisian perakaunan terbaik untuk usahawan dan peniaga | Malaysia 2024, Julai
Anonim
Paparan WIFI untuk Pengurusan Pengeluaran
Paparan WIFI untuk Pengurusan Pengeluaran

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

Bahagian Perkakasan Yang Digunakan:

  1. ESP nodemcu
  2. Paparan jam 4 digit TM1637
  3. Suis tolak
  4. Perintang 10k
  5. beberapa wayar pelompat

Alat Perisian yang Digunakan:

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

Menyesuaikan Pengurus Wifi
Menyesuaikan Pengurus Wifi

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

Fungsi Tersuai untuk Tindakan Bentuk
Fungsi Tersuai untuk Tindakan Bentuk
Fungsi Tersuai untuk Tindakan Bentuk
Fungsi Tersuai untuk Tindakan Bentuk
Fungsi Custom untuk Tindakan Bentuk
Fungsi Custom 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 & Program Utama
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

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

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