Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-23 14:49
Saya selalu menginginkan cara yang terjangkau untuk melacak semua yang ada di dapur saya, jadi beberapa bulan yang lalu saya mulai mengerjakan proyek yang akan melakukan hal itu. Tujuannya adalah untuk membuat sistem yang sederhana dan terjangkau yang sangat mudah digunakan sekaligus menyimpan informasi yang cukup agar sepadan dengan usaha ekstra. Apa yang akhirnya saya bangun adalah sistem manajemen persediaan yang dapat menyimpan dan memperbarui informasi tentang barang apa pun yang memiliki kode batang, serta menambang data dasar tentang barang-barang tersebut dari internet.
Singkatnya, sistem bekerja seperti ini.
- Kode batang dipindai.
- Skrip Python membaca data dari pemindai.
- Permintaan dikirim ke REST API yang berjalan di node-red.
- API memproses permintaan, menambang data tambahan dari internet, dan mengedit database yang sesuai.
Semua ini dilakukan pada satu Raspberry Pi, memberi Anda kemampuan untuk memperbarui dan menyimpan data tentang seluruh inventaris Anda dalam satu sistem portabel kecil. Proyek ini sedikit teknis dan pemahaman dasar tentang database, HTTP, dan Python akan sangat membantu, tetapi saya akan melakukan yang terbaik untuk membuatnya cukup mudah untuk dipahami oleh pemula. Mari kita mulai!
Langkah 1: Apa yang Anda Butuhkan
Bagian yang Anda perlukan untuk proyek ini adalah…
- Raspberry Pi
- Pemindai Kode Batang USB (tautan ke yang saya gunakan)
- Adaptor WiFi (Jika Pi Anda tidak memiliki WiFi bawaan)
- Sakelar Beralih
- Kabel Jumper
- Casing untuk Raspberry Pi Anda (opsional)
Langkah 2: Instal dan Siapkan Basis Data
MySQL adalah sistem manajemen basis data yang akan menampung semua data yang kami tarik dari pemindaian kode batang. Ini sangat mudah dilakukan di Pi, cukup jalankan perintah berikut di terminal Pi Anda.
sudo apt-get install mysql-server
Anda kemudian akan dipandu melalui proses instalasi, dan diminta untuk membuat kata sandi. Itu dia. Dengan MySQL terinstal, Pi Anda dapat bertindak sebagai server database kecilnya sendiri. Sekarang kita perlu membuat tabel yang akan menyimpan data kita. Pertama, login. Setelah instalasi, satu-satunya pengguna MySql adalah root (pengguna yang memiliki akses ke setiap tabel dan sistem). Anda dapat masuk sebagai root dengan menjalankan perintah berikut.
mysql -uroot -p
Segera kami akan menyiapkan pengguna lain yang akan digunakan sistem kami, tetapi pertama-tama kami perlu membuat database kami, dan tabel di dalam database itu. Untuk melakukannya, jalankan perintah berikut.
membuat inventaris basis data;
menggunakan inventaris; buat tabel upc_count(upc varchar(15) bukan nol, hitung integer(3) bukan nol default 0, nama varchar(255), ukuran varchar(40), pabrikan varchar(80), kunci utama (upc));
Sekarang kita memiliki tabel sederhana dengan lima kolom upc (yang akan menjadi kunci utama), count, name, size, dan manufacturer. Catatan: Upc adalah nomor yang secara unik mengidentifikasi produk. Angka itulah yang dibaca dari label kode batang saat dipindai.
Terakhir, kita akan mengatur pengguna yang kita butuhkan. Saya akan memanggil milik saya, untuk melakukan ini, jalankan perintah berikut, menggunakan nama pengguna dan kata sandi apa pun yang Anda inginkan:
berikan semua inventaris.* ke ''@'localhost' yang diidentifikasi oleh;
Sekarang setelah kita memiliki database, kita dapat mulai membangun sistem!
Langkah 3: Dapatkan Kunci API OutPan
OutPan adalah API yang dapat digunakan untuk mendapatkan informasi tentang suatu produk menggunakan nomor upc-nya. Kami akan menggunakan ini untuk menggali lebih banyak informasi tentang produk saat ditambahkan ke dalam database. Ini adalah api publik, tetapi untuk menggunakannya Anda harus mendaftar dan mendapatkan kunci api. Mendaftar cukup mudah, cukup buka di sini dan ikuti langkah-langkah untuk mendaftar kunci.
Setelah Anda mendapatkan kunci Anda, salin ke bawah. Anda akan membutuhkannya di langkah selanjutnya.
Langkah 4: Instal dan Atur Node-Red
Node-Red sudah diinstal sebelumnya pada semua versi OS Raspbian sejak akhir tahun 2015. Untuk mengetahui apakah Anda telah menginstal node-red, cukup jalankan perintah berikut di terminal.
simpul-merah
Jika pesan "perintah tidak ditemukan" ditampilkan, Anda harus menginstal node-red. Untuk melakukannya, jalankan perintah berikut.
sudo apt-get update sudo apt-get install nodered
Setelah memulai node-red, Anda dapat mengakses node-red dari alamat yang ditampilkan di output.
Satu-satunya pengaturan yang tersisa adalah menginstal node MySQL. Anda dapat melakukannya melalui browser. Klik pada simbol di sudut kanan atas halaman dan kemudian klik opsi 'Kelola Palet'. Dari sana cukup cari 'mysql' dan klik tombol install.
Kami sekarang siap untuk mengimpor API.
Langkah 5: Siapkan API
Di bawah ini adalah seluruh API node-merah yang saya tulis. Cukup salin semua yang ada di bawah, klik simbol di sudut kanan atas, dan pergi ke import → from clipboard.
[{"id":"ef09537e.8b96d", "type":"subflow", "name":"mineOpenPanData", "info":"", "in":[{"x":64, "y":57, "kabel":[{"id":"b8b6d2e4.169e7"}]}], "keluar":[{"x":755, "y":58, "kabel":[{"id":"8dc2d52b.6a6fd8", "port":0}]}]}, {"id":"b8b6d2e4.169e7", "type":"http request", "z":"ef09537e.8b96d", "name ":"Permintaan Keluar Pan", "metode":"GET", "ret":"txt", "url":"https://api.outpan.com/v2/products/{{{upc}}} ?apikey=", "tls":"", "x":202, "y":57, "kabel":
Sekarang Anda memiliki seluruh API yang akan kami gunakan untuk menyisipkan dan memperbarui data. Hanya beberapa penyesuaian yang perlu dilakukan sebelum kami siap menggunakannya.
- Pertama, masuk ke semua node database MySQL dan ubah nama pengguna dan kata sandi menjadi yang Anda buat untuk database pada langkah sebelumnya.
- Kedua, edit subflow mineOutPanData sehingga permintaan HTTP yang digunakan untuk mendapatkan data Open Pan menggunakan kunci API Anda sendiri.
Sekarang Anda siap menggunakan API. Alur ini membuat REST API sederhana yang memungkinkan Anda mengirim data dari perangkat apa pun yang terhubung ke internet menggunakan permintaan
Langkah 6: (Opsional) Memahami API
Hal terakhir yang perlu kita lakukan adalah menghubungkan sakelar ke GPIO sehingga kita dapat memindai dalam dua mode, tambah dan hapus.
Ini cukup mudah, cukup atur sakelar sakelar untuk membaca dari GPIO pin 21 pada Pi dan Anda siap melakukannya. Menggunakan sirkuit pada gambar terlampir (dikenal sebagai sirkuit PUD DOWN) skrip akan mengirim permintaan tambah ketika sakelar sakelar ditutup dan permintaan hapus ketika sakelar sakelar terbuka.
Setelah itu kami hanya menempelkan kabel ke bagian dalam kasing dan kami siap melakukannya.
Langkah 9: (Opsional) Buat Antarmuka Pengguna
Langkah terakhir ini tidak perlu tetapi pasti membantu jika Anda ingin memanfaatkan potensi penuh dari sistem. Saya memasang antarmuka pengguna yang sangat sederhana yang menampilkan semua data yang kami miliki di database kami dalam tabel yang mudah dinavigasi. Tabel dapat diurutkan berdasarkan kolom dan juga dicari, sehingga mudah untuk melihat apa yang Anda miliki.
UI cukup sederhana; Saya menggunakan kembali beberapa contoh kode yang saya temukan online untuk bekerja dengan API kami (jika Anda tertarik, kode contoh itu dapat ditemukan di sini).
Untuk menjalankan UI, lakukan hal berikut…
- Simpan file index.txt terlampir sebagai index.html (saya tidak dapat mengunggah file sebagai file HTML karena alasan tertentu).
- Letakkan kedua file di direktori yang sama di komputer Anda.
- Jalankan file 'index.html' di browser web favorit Anda.
Sekarang kami dapat dengan mudah melihat dan memilah inventaris Anda!
Langkah 10: Mulai Memindai
Sekarang Anda siap untuk mulai memindai! Jika Anda memiliki pertanyaan, tinggalkan di komentar dan saya pasti akan menjawabnya ketika saya bisa.
Terakhir, suara Anda dalam kontes akan sangat dihargai. Terima kasih sudah membaca!
Direkomendasikan:
Nest Hello - Bel Pintu Dengan Trafo Terintegrasi UK (220-240V AC - 16V AC): 7 Langkah (dengan Gambar)
Nest Hello - Bel Pintu Dengan Trafo Terintegrasi UK (220-240V AC - 16V AC): Saya ingin memasang bel pintu Nest Hello di rumah, alat yang berjalan pada 16V-24V AC (CATATAN: pembaruan perangkat lunak pada tahun 2019 mengubah Eropa rentang versi hingga 12V-24V AC). Lonceng bel pintu standar dengan trafo terintegrasi tersedia di Inggris di
3 CHANNEL AUDIO MIXER Terintegrasi Dengan Pemancar Radio FM: 19 Langkah (dengan Gambar)
3 CHANNEL AUDIO MIXER Terintegrasi Dengan Pemancar Radio FM: Hai semuanya, pada artikel ini saya akan mengajak Anda untuk membangun 3 CHANNEL AUDIO MIXER Anda sendiri yang terintegrasi dengan pemancar radio FM
Vertikal Bartop Arcade Dengan Tampilan LED PIXEL Terintegrasi: 11 Langkah (dengan Gambar)
Arkade Bartop Vertikal Dengan Tampilan LED PIXEL Terintegrasi: **** Diperbarui dengan perangkat lunak baru Juli 2019, detailnya di sini ****** Arcade bartop dibangun dengan fitur unik yang diubah oleh tenda matriks LED agar sesuai dengan game yang dipilih. Seni karakter di sisi kabinet adalah tatahan potong laser dan tidak lengket
Task Manager - Sistem Manajemen Pekerjaan Rumah Tangga: 5 Langkah (dengan Gambar)
Pengelola Tugas - Sistem Manajemen Pekerjaan Rumah Tangga: Saya ingin mencoba mengatasi masalah nyata yang dihadapi dalam rumah tangga kami (dan, saya bayangkan, banyak pembaca lainnya), yaitu bagaimana mengalokasikan, memotivasi, dan memberi penghargaan kepada anak-anak saya karena telah membantu dengan pekerjaan rumah tangga. Hingga saat ini, kami telah menyimpan lembaran laminasi
Sistem Manajemen Motor untuk Aplikasi Pengangkatan Menggunakan Arduino Mega 2560 dan IoT: 8 Langkah (dengan Gambar)
Sistem Manajemen Motor untuk Aplikasi Pengangkatan Menggunakan Arduino Mega 2560 dan IoT: Saat ini mikrokontroler berbasis IoT banyak digunakan dalam aplikasi industri. Secara ekonomis mereka digunakan sebagai pengganti komputer. Tujuan dari proyek kami untuk kontrol digital sepenuhnya, pencatat data dan pemantauan motor induksi 3fasa dengan