Mündəricat:

İnteqrasiya İnventar İdarəetmə Sistemi: 10 Addım (Şəkillərlə birlikdə)
İnteqrasiya İnventar İdarəetmə Sistemi: 10 Addım (Şəkillərlə birlikdə)

Video: İnteqrasiya İnventar İdarəetmə Sistemi: 10 Addım (Şəkillərlə birlikdə)

Video: İnteqrasiya İnventar İdarəetmə Sistemi: 10 Addım (Şəkillərlə birlikdə)
Video: Kim nə başa düşdü ❓ 2024, Noyabr
Anonim
İnteqrasiya İnventar İdarəetmə Sistemi
İnteqrasiya İnventar İdarəetmə Sistemi

Kilerimdəki hər şeyi izləmək üçün həmişə əlverişli bir yol istəmişəm, buna görə də bir neçə ay əvvəl bunu edəcək bir layihə üzərində işləməyə başladım. Məqsəd, əlavə səylərə dəyər olacaq qədər məlumat saxlayarkən istifadəsi çox asan olan sadə və əlverişli bir sistem yaratmaq idi. Nəhayət qurduğum şey, barkodu olan hər hansı bir maddə haqqında məlumatları saxlaya bilən və yeniləyə bilən bir inventar idarəetmə sistemidir.

Bir sözlə, sistem belə işləyir.

  1. Barkod skan olunur.
  2. Python skripti skanerdən verilənləri oxuyur.
  3. İstək node-red üzərində işləyən REST API-yə göndərilir.
  4. API sorğunu emal edir, internetdən əlavə məlumatlar çıxarır və verilənlər bazasını buna uyğun olaraq düzəldir.

Bütün bunlar tək bir Raspberry Pi üzərində aparılır və bütün inventarınız haqqında məlumatları kiçik bir portativ sistemdə yeniləmək və saxlamaq imkanı verir. Bu layihə bir az texniki xarakter daşıyır və verilənlər bazası, HTTP və Python haqqında əsas anlayış çox faydalı olacaq, amma yeni başlayanın başa düşməsini asanlaşdırmaq üçün əlimdən gələni edəcəyəm. Gəlin başlayaq!

Addım 1: Nə lazımdır

Ehtiyacınız olacaq
Ehtiyacınız olacaq

Bu layihə üçün sizə lazım olan hissələr…

  • Moruq Pi
  • USB Barkod Skaner (istifadə etdiyimə keçid)
  • WiFi adapteri (Pi -də WiFi yoxdursa)
  • Keçid Keç
  • Jumper telləri
  • Raspberry Pi üçün qutu (isteğe bağlı)

Addım 2: Verilənlər Bazasını Qurun və Qurun

Verilənlər Bazasını Qurun və Qurun
Verilənlər Bazasını Qurun və Qurun

MySQL, barkod taramalarından götürdüyümüz bütün məlumatları saxlayacaq verilənlər bazası idarəetmə sistemidir. Pi üzərində bunu etmək çox asandır, Pi terminalında aşağıdakı əmri işlədin.

sudo apt-get mysql-server qurun

Daha sonra quraşdırma prosesi ilə tanış olacaqsınız və bir parol yaratmağınız istənəcəkdir. Bu belədir. MySQL quraşdırıldıqda, Pi öz kiçik verilənlər bazası serveri kimi çıxış edə bilər. İndi məlumatlarımızı saxlayacaq cədvəllər yaratmalıyıq. Əvvəlcə daxil olun. Quraşdırıldıqdan sonra yeganə MySql istifadəçisi kökdür (hər cədvələ və sistemə çıxışı olan istifadəçi). Aşağıdakı əmri işlədərək kök olaraq daxil ola bilərsiniz.

mysql -uroot -p

Tezliklə sistemimizin istifadə edəcəyi başqa bir istifadəçi quracağıq, amma əvvəlcə verilənlər bazamızı və bu verilənlər bazasındakı cədvəlləri yaratmalıyıq. Bunu etmək üçün aşağıdakı əmrləri yerinə yetirin.

verilənlər bazası inventarını yaratmaq;

inventar istifadə etmək; masa yaratmaq upc_count (upc varchar (15) sıfır deyil, tam ədəd (3) sıfır deyil default 0, ad varchar (255), ölçüsü varchar (40), istehsalçı varchar (80), əsas açar (upc));

İndi beş sütundan ibarət sadə bir masamız var upc (əsas açar olacaq), sayı, adı, ölçüsü və istehsalçısı. Qeyd: Bir upc bir məhsulu unikal şəkildə tanıdan bir rəqəmdir. Bu nömrə taranarkən barkod etiketindən oxunan şeydir.

Nəhayət, ehtiyac duyduğumuz istifadəçini quracağıq. Mənə zəng vuracağam, bunu etmək üçün istədiyiniz istifadəçi adı və şifrəni istifadə edərək aşağıdakı əmrləri yerinə yetirin:

hamısını inventarla təmin edin.* tərəfindən müəyyən edilən ''@'localhost';

İndi məlumat bazamız olduğu üçün sistemi qurmağa başlaya bilərik!

Addım 3: OutPan API Açarını əldə edin

OutPan, upc nömrəsini istifadə edərək bir məhsul haqqında məlumat əldə etmək üçün istifadə edilə bilən bir API -dir. Məhsul bazasına əlavə edildikcə məhsullar haqqında daha çox məlumat əldə etmək üçün bundan istifadə edəcəyik. Bu ümumi bir api, ancaq istifadə etmək üçün qeydiyyatdan keçib bir api açarı almalısınız. Qeydiyyatdan keçmək olduqca sadədir, sadəcə buraya gedin və bir açar üçün qeydiyyatdan keçmək üçün addımları izləyin.

Açarınızı əldə etdikdən sonra onu kopyalayın. Sonrakı bir addımda ehtiyacınız olacaq.

Addım 4: Qırmızı Node qurun və qurun

Qırmızı Node Qurun və Qurun
Qırmızı Node Qurun və Qurun
Qırmızı Node Qurun və Qurun
Qırmızı Node Qurun və Qurun

Node-Red 2015-ci ilin sonundan etibarən Raspbian OS-nin bütün versiyalarında əvvəlcədən quraşdırılmış olaraq gəlir. Node-red yüklü olub-olmadığını öyrənmək üçün terminalda aşağıdakı əmri yerinə yetirməlisiniz.

düyün qırmızı

Bir "əmr tapılmadı" mesajı görünsə, qırmızı node yükləməlisiniz. Bunu etmək üçün aşağıdakı əmrləri yerinə yetirin.

sudo apt-get yeniləməsi sudo apt-get install nodered

Node-red-ə başladıqdan sonra çıxışda göstərilən ünvandan node-red-ə daxil ola bilərsiniz.

Qalan yeganə quruluş MySQL qovşaqlarını quraşdırmaqdır. Bunu brauzer vasitəsilə edə bilərsiniz. Səhifənin yuxarı sağ küncündəki simvolu vurun və sonra 'Palitranı İdarə et' seçimini vurun. Oradan sadəcə 'mysql' axtarın və quraşdırma düyməsini basın.

İndi API -ni idxal etməyə hazırıq.

Addım 5: API qurun

API qurun
API qurun
API qurun
API qurun
API qurun
API qurun

Aşağıda yazdığım bütün qırmızı rəngli API var. Sadəcə aşağıdakı hər şeyi kopyalayın, sağ üst küncdəki simvolu vurun və panodan → idxal etməyə keçin.

[{"id": "ef09537e.8b96d", "type": "subflow", "name": "mineOpenPanData", "info": "", "in": [{"x": 64, "y"): 57, "teller": [{"id": "b8b6d2e4.169e7"}]}}, "out": [{"x": 755, "y": 58, "teller": [{"id"): "8dc2d52b.6a6fd8", "port": 0}]}]}, {"id": "b8b6d2e4.169e7", "type": "http request", "z": "ef09537e.8b96d", "name" ":" Çıxış İstəyi "," metod ":" ƏLDƏ EDİN "," ret ":" txt "," url ":" https://api.outpan.com/v2/products/{{{upup}}} ? apikey = "," tls ":" "," x ": 202," y ": 57," teller ":

İndi məlumat daxil etmək və yeniləmək üçün istifadə edəcəyimiz bütün API var. İstifadəyə başlamazdan əvvəl yalnız bir neçə düzəliş edilməlidir.

  1. Birincisi, bütün MySQL verilənlər bazası qovşaqlarına daxil olun və istifadəçi adını və şifrəni əvvəlki addımda verilənlər bazası üçün yaratdıqlarınızla dəyişdirin.
  2. İkincisi, mineOutPanData alt axınını redaktə edin ki, Açıq Pan məlumatlarını əldə etmək üçün istifadə olunan HTTP sorğusu öz API açarınızı istifadə etsin.

İndi API istifadə etməyə hazırsınız. Bu axın, HTTP sorğularından istifadə edərək internetə qoşulmuş istənilən cihazdan məlumat göndərməyə imkan verən sadə bir REST API yaradır.

Addım 6: (İsteğe bağlı) API -ni anlamaq

Keçid düyməsini bağlayın
Keçid düyməsini bağlayın

Etməyimiz lazım olan son şey, GPIO -ya bir keçid bağlamaqdır ki, iki rejimdə tara, əlavə edib silə bilək.

Bu olduqca düzdür, sadəcə Pi üzərindəki GPIO pin 21 -dən oxumaq üçün bir keçid açarı qurun və getməyə hazırsınız. Əlavə edilmiş şəkildəki (PUD DOWN dövrəsi olaraq da bilinir) sxemdən istifadə edərək, keçid açarı bağlandıqda skript əlavə et və açar açıldıqda silin.

Bundan sonra telləri qutunun içərisinə yapışdırırıq və getməyə hazırıq.

Addım 9: (İsteğe bağlı) İstifadəçi İnterfeysi yaradın

(İsteğe bağlı) İstifadəçi İnterfeysi yaradın
(İsteğe bağlı) İstifadəçi İnterfeysi yaradın

Sistemin bütün potensialından istifadə etmək istəyirsinizsə, bu son addım lazım deyil, amma əlbəttə faydalıdır. Verilənlər bazamızda olan bütün məlumatları gəzmək asan bir cədvəldə göstərən çox sadə bir istifadəçi interfeysi qurdum. Cədvəl sütuna görə sıralana bilər və əlinizdə olanı görməyi asanlaşdıraraq axtarıla bilər.

UI olduqca sadədir; API ilə işləmək üçün onlayn olaraq tapdığım bir nümunə kodu yenidən təyin etdim (maraqlanırsınızsa, bu nümunə kodu burada tapa bilərsiniz).

UI -ni işə salmaq üçün aşağıdakıları edin …

  1. Əlavə edilmiş index.txt faylını index.html olaraq qeyd edin (nədənsə faylı HTML faylı olaraq yükləyə bilmədim).
  2. İki faylı kompüterinizə eyni qovluğa qoyun.
  3. Sevdiyiniz veb brauzerinizdə 'index.html' faylını işə salın.

İndi inventarınızı asanlıqla görə və sıralaya bilərik!

Addım 10: Taramaya başlayın

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

İndi taramaya başlamağa hazırsınız! Hər hansı bir sualınız varsa, şərhlərdə buraxın və bacardığım zaman cavablandıracağam.

Nəhayət, yarışmada səsləriniz çox yüksək qiymətləndiriləcək. Oxuduğunuz üçün təşəkkürlər!

Tövsiyə: