İçindekiler:

Entegre Envanter Yönetim Sistemi: 10 Adım (Resimlerle)
Entegre Envanter Yönetim Sistemi: 10 Adım (Resimlerle)

Video: Entegre Envanter Yönetim Sistemi: 10 Adım (Resimlerle)

Video: Entegre Envanter Yönetim Sistemi: 10 Adım (Resimlerle)
Video: Webinar - Tam Entegre IT Hizmet Yönetimi 2024, Temmuz
Anonim
Entegre Envanter Yönetim Sistemi
Entegre Envanter Yönetim Sistemi

Kilerimdeki her şeyi takip etmenin her zaman uygun fiyatlı bir yolunu istedim, bu yüzden birkaç ay önce tam da bunu yapacak bir proje üzerinde çalışmaya başladım. Amaç, kullanımı çok kolay olan ve aynı zamanda ekstra çabaya değecek kadar bilgi depolayan basit, uygun fiyatlı bir sistem yapmaktı. Sonunda oluşturduğum şey, barkodu olan herhangi bir öğe hakkındaki bilgileri depolayabilen ve güncelleyebilen ve ayrıca bu öğelerle ilgili temel verileri internetten çıkarabilen bir envanter yönetim sistemidir.

Kısacası sistem şöyle işliyor.

  1. Bir barkod taranır.
  2. Bir Python betiği, verileri tarayıcıdan okur.
  3. İstek, node-red üzerinde çalışan bir REST API'sine gönderilir.
  4. API, isteği işler, internetten ek veriler çıkarır ve veritabanını buna göre düzenler.

Tüm bunlar tek bir Raspberry Pi'de yapılır ve size tüm envanterinizle ilgili verileri küçük, taşınabilir bir sistemde güncelleme ve saklama olanağı verir. Bu proje biraz teknik ve veritabanları, HTTP ve Python hakkında temel bir anlayış çok yardımcı olacak, ancak yeni başlayanların anlayabileceği kadar kolaylaştırmak için elimden geleni yapacağım. Başlayalım!

Adım 1: İhtiyacınız Olan Şeyler

Neye ihtiyacınız olacak
Neye ihtiyacınız olacak

Bu proje için ihtiyacınız olacak parçalar…

  • Ahududu Pi
  • USB Barkod Tarayıcı (kullandığıma bağlantı)
  • WiFi bağdaştırıcısı (Pi'nizde yerleşik WiFi yoksa)
  • Geçiş anahtarı
  • Jumper Telleri
  • Raspberry Pi'niz için kılıf (isteğe bağlı)

Adım 2: Veritabanını Kurun ve Ayarlayın

Veritabanını Kurun ve Ayarlayın
Veritabanını Kurun ve Ayarlayın

MySQL, barkod taramalarından çektiğimiz tüm verileri tutacak veritabanı yönetim sistemidir. Bunu Pi'de yapmak çok kolay, sadece Pi'nizin terminalinde aşağıdaki komutu çalıştırın.

sudo apt-get install mysql-server

Daha sonra kurulum sürecinden geçilecek ve bir parola oluşturmanız istenecektir. Bu kadar. MySQL kuruluyken, Pi'niz kendi küçük veritabanı sunucusu gibi davranabilir. Şimdi verilerimizi tutacak tabloları oluşturmamız gerekiyor. İlk önce oturum açın. Kurulumdan sonra tek MySql kullanıcısı root'tur (her tabloya ve sisteme erişimi olan kullanıcı). Aşağıdaki komutu çalıştırarak root olarak giriş yapabilirsiniz.

mysql -uroot -p

Yakında sistemimizin kullanması için başka bir kullanıcı ayarlayacağız ama önce veritabanımızı ve bu veritabanındaki tabloları oluşturmamız gerekiyor. Bunu yapmak için aşağıdaki komutları çalıştırın.

veritabanı envanteri oluşturmak;

envanteri kullanın; tablo oluştur upc_count(upc varchar(15) boş değil, tamsayı(3) boş değil varsayılan 0, varchar(255), boyut varchar(40), üretici varchar(80), birincil anahtar (upc));

Şimdi beş sütun upc (birincil anahtar olacak), sayı, ad, boyut ve üretici içeren basit bir tablomuz var. Not: Upc, bir ürünü benzersiz olarak tanımlayan bir sayıdır. Bu numara, tarandığında barkod etiketinden okunan sayıdır.

Son olarak, ihtiyacımız olan kullanıcıyı ayarlayacağız. Bunu yapmak için benimkini arayacağım, istediğiniz kullanıcı adı ve şifreyi kullanarak aşağıdaki komutları çalıştırın:

hepsini envantere verin.* tarafından tanımlanan ''@'localhost''a;

Artık veri tabanımız olduğuna göre sistemi kurmaya başlayabiliriz!

3. Adım: OutPan API Anahtarını Alın

OutPan, upc numarasını kullanarak bir ürün hakkında bilgi almak için kullanılabilen bir API'dir. Bunu, veritabanına eklenen ürünler hakkında daha fazla bilgi edinmek için kullanacağız. Bu genel bir api'dir, ancak kullanmak için kaydolmanız ve bir api anahtarı almanız gerekir. Kaydolmak oldukça basittir, sadece buraya gidin ve bir anahtar için kaydolmak için adımları izleyin.

Anahtarınızı aldıktan sonra kopyalayın. Daha sonraki bir adımda ihtiyacınız olacak.

Adım 4: Node-Red'i kurun ve kurun

Kurulum ve Kurulum Düğüm-Kırmızı
Kurulum ve Kurulum Düğüm-Kırmızı
Kurulum ve Kurulum Düğüm-Kırmızı
Kurulum ve Kurulum Düğüm-Kırmızı

Node-Red, 2015'in sonundan beri Raspbian OS'nin tüm sürümlerinde önceden kurulu olarak gelir. Node-red'in kurulu olup olmadığını öğrenmek için terminalde aşağıdaki komutu çalıştırmanız yeterlidir.

düğüm kırmızısı

Bir "komut bulunamadı" mesajı görüntülenirse, node-red'i yüklemeniz gerekir. Bunu yapmak için aşağıdaki komutları çalıştırın.

sudo apt-get güncellemesi sudo apt-get kurulumu düğümlendi

Düğüm-red'i başlattıktan sonra, çıktıda görüntülenen adresten düğüm-red'e erişebilirsiniz.

Geriye kalan tek kurulum MySQL düğümlerini kurmaktır. Bunu tarayıcı üzerinden yapabilirsiniz. Sayfanın sağ üst köşesindeki sembole tıklayın ve ardından 'Paleti Yönet' seçeneğine tıklayın. Oradan sadece 'mysql' aratın ve yükle düğmesine tıklayın.

Artık API'yi içe aktarmaya hazırız.

Adım 5: API'yi kurun

API'yi kurun
API'yi kurun
API'yi kurun
API'yi kurun
API'yi kurun
API'yi kurun

Aşağıda yazdığım tüm düğüm kırmızısı API'si var. Aşağıdaki her şeyi kopyalayın, sağ üst köşedeki simgeye tıklayın ve panodan içe aktar → seçeneğine gidin.

[{"id":"ef09537e.8b96d", "type":"subflow", "name":"mineOpenPanData", "info":"", "in":[{"x":64, "y":57, "wires":[{"id":"b8b6d2e4.169e7"}]}], "out":[{"x":755, "y":58, "wires":[{"id":"8dc2d52b.6a6fd8", "port":0}]}]}, {"id":"b8b6d2e4.169e7", "type":"http request", "z":"ef09537e.8b96d", "name ":"Dış Pan İsteği", "method":"GET", "ret":"txt", "url":"https://api.outpan.com/v2/products/{{{upc}}} ?apikey=", "tls":"", "x":202, "y":57, "teller":

Artık verileri eklemek ve güncellemek için kullanacağımız API'nin tamamına sahipsiniz. Kullanmaya hazır olmadan önce sadece birkaç ayar yapılması gerekiyor.

  1. İlk olarak, tüm MySQL veritabanı düğümlerine gidin ve kullanıcı adını ve şifreyi önceki adımda veritabanı için oluşturduğunuzla değiştirin.
  2. İkinci olarak, Açık Pan verilerini almak için kullanılan HTTP isteğinin kendi API anahtarınızı kullanması için mineOutPanData alt akışını düzenleyin.

Artık API'yi kullanmaya hazırsınız. Bu akış, HTTP isteklerini kullanarak internete bağlı herhangi bir cihazdan veri göndermenize izin veren basit bir REST API'si oluşturur.

6. Adım: (İsteğe bağlı) API'yi anlama

Geçiş Anahtarını Bağlayın
Geçiş Anahtarını Bağlayın

Yapmamız gereken son şey, GPIO'ya bir anahtar bağlamak, böylece iki modda tarama yapabiliriz, ekleme ve kaldırma.

Bu oldukça basit, Pi'deki GPIO pin 21'den okumak için bir geçiş anahtarı kurmanız yeterlidir ve gitmeye hazırsınız. Ekli görüntüdeki devreyi kullanarak (PUD DOWN devresi olarak bilinir), komut dosyası, geçiş anahtarı kapatıldığında bir ekleme isteği ve geçiş anahtarı açıkken bir kaldırma isteği gönderir.

Bundan sonra kabloları kasanın içine bantlıyoruz ve gitmeye hazırız.

9. Adım: (İsteğe Bağlı) Bir Kullanıcı Arayüzü Oluşturun

(İsteğe bağlı) Bir Kullanıcı Arayüzü Oluşturun
(İsteğe bağlı) Bir Kullanıcı Arayüzü Oluşturun

Bu son adım gerekli değildir, ancak sistemin tüm potansiyelinden yararlanmak istiyorsanız kesinlikle yararlıdır. Veritabanımızdaki tüm verileri gezinmesi kolay bir tabloda görüntüleyen çok basit bir kullanıcı arayüzü kurdum. Tablo sütuna göre sıralanabilir ve ayrıca aranabilir, bu da elinizde ne olduğunu görmeyi kolaylaştırır.

Kullanıcı Arayüzü oldukça basittir; API'mızla çalışmak için çevrimiçi bulduğum bazı örnek kodları yeniden tasarladım (ilgilenirseniz, bu örnek kod burada bulunabilir).

Kullanıcı arayüzünü çalıştırmak için aşağıdakileri yapın…

  1. Ekli index.txt dosyasını index.html olarak kaydedin (bir nedenden dolayı dosyayı HTML dosyası olarak yükleyemedim).
  2. İki dosyayı bilgisayarınızda aynı dizine koyun.
  3. Favori web tarayıcınızda 'index.html' dosyasını çalıştırın.

Artık envanterinizi kolayca görebilir ve sıralayabiliriz!

Adım 10: Taramayı Başlatın

Taramaya Başlayın!
Taramaya Başlayın!

Artık taramaya başlamaya hazırsınız! Herhangi bir sorunuz varsa, bunları yorumlarda bırakın ve elimden geldiğince cevaplayacağımdan emin olun.

Son olarak, yarışmadaki oylarınız çok takdir edilecektir. Okuduğunuz için teşekkürler!

Önerilen: