Πίνακας περιεχομένων:

Ενσωματωμένο σύστημα διαχείρισης αποθέματος: 10 βήματα (με εικόνες)
Ενσωματωμένο σύστημα διαχείρισης αποθέματος: 10 βήματα (με εικόνες)

Βίντεο: Ενσωματωμένο σύστημα διαχείρισης αποθέματος: 10 βήματα (με εικόνες)

Βίντεο: Ενσωματωμένο σύστημα διαχείρισης αποθέματος: 10 βήματα (με εικόνες)
Βίντεο: 5 Δωρεάν Εφαρμογές Windows 10 που ΔΕΝ ΠΡΕΠΕΙ ΝΑ ΛΕΙΠΟΥΝ Από Κανένα PC 2024, Νοέμβριος
Anonim
Ολοκληρωμένο Σύστημα Διαχείρισης Αποθεμάτων
Ολοκληρωμένο Σύστημα Διαχείρισης Αποθεμάτων

Πάντα ήθελα έναν προσιτό τρόπο για να παρακολουθώ τα πάντα στο ντουλάπι μου, οπότε πριν από μερικούς μήνες άρχισα να εργάζομαι σε ένα έργο που θα έκανε ακριβώς αυτό. Ο στόχος ήταν να φτιάξουμε ένα απλό, προσιτό σύστημα που να είναι πολύ εύκολο στη χρήση, ενώ παράλληλα να αποθηκεύσουμε αρκετές πληροφορίες ώστε να αξίζει τον επιπλέον κόπο. Αυτό που τελικά δημιούργησα είναι ένα σύστημα διαχείρισης αποθεμάτων που μπορεί να αποθηκεύει και να ενημερώνει πληροφορίες για οποιοδήποτε στοιχείο που έχει γραμμικό κώδικα, καθώς και βασικά δεδομένα για αυτά τα στοιχεία από το Διαδίκτυο.

Εν ολίγοις, το σύστημα λειτουργεί έτσι.

  1. Σαρώνεται γραμμικός κώδικας.
  2. Ένα σενάριο Python διαβάζει τα δεδομένα από το σαρωτή.
  3. Το αίτημα αποστέλλεται σε ένα REST API που εκτελείται με κόκκινο κόμβο.
  4. Το API επεξεργάζεται το αίτημα, εξορύσσει επιπλέον δεδομένα από το διαδίκτυο και επεξεργάζεται ανάλογα τη βάση δεδομένων.

Όλα αυτά γίνονται σε ένα Raspberry Pi, δίνοντάς σας τη δυνατότητα να ενημερώσετε και να αποθηκεύσετε δεδομένα για ολόκληρο το απόθεμά σας σε ένα μικρό, φορητό σύστημα. Αυτό το έργο είναι λίγο τεχνικό και μια βασική κατανόηση των βάσεων δεδομένων, του HTTP και της Python θα είναι πολύ χρήσιμη, αλλά θα κάνω ό, τι μπορώ για να το καταλάβω αρκετά εύκολα για έναν αρχάριο. Ας αρχίσουμε!

Βήμα 1: Τι θα χρειαστείτε

Αυτό που θα χρειαστείτε
Αυτό που θα χρειαστείτε

Τα μέρη που θα χρειαστείτε για αυτό το έργο είναι…

  • Raspberry Pi
  • USB Bar Scanner (σύνδεσμος προς αυτόν που χρησιμοποιώ)
  • Προσαρμογέας WiFi (Εάν το Pi σας δεν έχει ενσωματωμένο WiFi)
  • Διακόπτης εναλλαγής
  • Jumper Wires
  • Θήκη για το Raspberry Pi (προαιρετικό)

Βήμα 2: Εγκατάσταση και ρύθμιση της βάσης δεδομένων

Εγκαταστήστε και ρυθμίστε τη βάση δεδομένων
Εγκαταστήστε και ρυθμίστε τη βάση δεδομένων

Το MySQL είναι το σύστημα διαχείρισης βάσεων δεδομένων που θα περιέχει όλα τα δεδομένα που συλλέγουμε από τις σαρώσεις γραμμικού κώδικα. Αυτό είναι πολύ εύκολο να γίνει στο Pi, απλώς εκτελέστε την ακόλουθη εντολή στο τερματικό του Pi.

sudo apt-get install mysql-server

Στη συνέχεια, θα ακολουθήσετε τη διαδικασία εγκατάστασης και θα σας ζητηθεί να δημιουργήσετε έναν κωδικό πρόσβασης. Αυτό είναι. Με εγκατεστημένο το MySQL, το Pi σας μπορεί να λειτουργήσει ως ο δικός του μικρός διακομιστής βάσης δεδομένων. Τώρα πρέπει να δημιουργήσουμε τους πίνακες που θα περιέχουν τα δεδομένα μας. Πρώτα, συνδεθείτε. Μετά την εγκατάσταση, ο μόνος χρήστης MySql είναι root (ο χρήστης που έχει πρόσβαση σε κάθε πίνακα και σύστημα). Μπορείτε να συνδεθείτε ως root εκτελώντας την ακόλουθη εντολή.

mysql -uroot -p

Σύντομα θα δημιουργήσουμε έναν άλλο χρήστη που θα χρησιμοποιεί το σύστημά μας, αλλά πρώτα πρέπει να δημιουργήσουμε τη βάση δεδομένων μας και τους πίνακες μέσα σε αυτήν. Για να το κάνετε αυτό, εκτελέστε τις ακόλουθες εντολές.

δημιουργία αποθέματος βάσης δεδομένων.

χρήση αποθέματος · δημιουργία πίνακα upc_count (upc varchar (15) not null, count integer (3) not null default 0, όνομα varchar (255), μέγεθος varchar (40), κατασκευαστής varchar (80), κύριο κλειδί (upc));

Τώρα έχουμε έναν απλό πίνακα με πέντε στήλες upc (που θα είναι το κύριο κλειδί), τον αριθμό, το όνομα, το μέγεθος και τον κατασκευαστή. Σημείωση: Το upc είναι ένας αριθμός που προσδιορίζει μοναδικά ένα προϊόν. Αυτός ο αριθμός είναι αυτό που διαβάζεται από την ετικέτα του γραμμωτού κώδικα κατά τη σάρωση.

Τέλος, θα δημιουργήσουμε αυτόν τον χρήστη που χρειαζόμαστε. Θα καλέσω το δικό μου, για να το κάνω αυτό, εκτελέστε τις ακόλουθες εντολές, χρησιμοποιώντας όποιο όνομα χρήστη και κωδικό πρόσβασης θέλετε:

παραχωρήστε όλα στο απόθεμα.* στο ''@'localhost' προσδιορίζεται από?

Τώρα που έχουμε τη βάση δεδομένων μας, μπορούμε να ξεκινήσουμε την κατασκευή του συστήματος!

Βήμα 3: Αποκτήστε κλειδί API OutPan

Το OutPan είναι ένα API που μπορεί να χρησιμοποιηθεί για τη λήψη πληροφοριών σχετικά με ένα προϊόν χρησιμοποιώντας τον αριθμό upc του. Θα το χρησιμοποιήσουμε για να εξορύξουμε περισσότερες πληροφορίες σχετικά με τα προϊόντα καθώς προστίθενται στη βάση δεδομένων. Αυτό είναι ένα δημόσιο api, αλλά για να το χρησιμοποιήσετε πρέπει να εγγραφείτε και να πάρετε ένα κλειδί api. Η εγγραφή είναι αρκετά απλή, απλά πηγαίνετε εδώ και ακολουθήστε τα βήματα για να εγγραφείτε για ένα κλειδί.

Μόλις πάρετε το κλειδί σας, αντιγράψτε το. Θα το χρειαστείτε σε μεταγενέστερο βήμα.

Βήμα 4: Εγκατάσταση και ρύθμιση Κόμβου-Κόκκινου

Εγκατάσταση και ρύθμιση κόμβου-Κόκκινο
Εγκατάσταση και ρύθμιση κόμβου-Κόκκινο
Εγκατάσταση και ρύθμιση κόμβου-Κόκκινο
Εγκατάσταση και ρύθμιση κόμβου-Κόκκινο

Το Node-Red έρχεται προεγκατεστημένο σε όλες τις εκδόσεις του Raspbian OS από το τέλος του 2015. Για να μάθετε εάν έχετε εγκαταστήσει το red-node, απλώς εκτελέστε την ακόλουθη εντολή στο τερματικό.

κόμβος-κόκκινος

Εάν εμφανιστεί ένα μήνυμα "εντολή δεν βρέθηκε", θα χρειαστεί να εγκαταστήσετε τον κόμβο-κόκκινο. Για να το κάνετε αυτό, εκτελέστε τις ακόλουθες εντολές.

sudo apt-get update sudo apt-get install nodered

Αφού ξεκινήσετε τον κόμβο-κόκκινο, μπορείτε να αποκτήσετε πρόσβαση στον κόμβο-κόκκινο από τη διεύθυνση που εμφανίζεται στην έξοδο.

Η μόνη ρύθμιση που απομένει είναι η εγκατάσταση των κόμβων MySQL. Μπορείτε να το κάνετε αυτό μέσω του προγράμματος περιήγησης. Κάντε κλικ στο σύμβολο στην επάνω δεξιά γωνία της σελίδας και, στη συνέχεια, κάντε κλικ στην επιλογή «Διαχείριση παλέτας». Από εκεί απλά αναζητήστε το 'mysql' και κάντε κλικ στο κουμπί εγκατάστασης.

Είμαστε τώρα έτοιμοι να εισαγάγουμε το API.

Βήμα 5: Ρυθμίστε το API

Ρυθμίστε το API
Ρυθμίστε το API
Ρυθμίστε το API
Ρυθμίστε το API
Ρυθμίστε το API
Ρυθμίστε το API

Παρακάτω είναι ολόκληρο το κόμβο-κόκκινο API που έγραψα. Απλώς αντιγράψτε τα πάντα παρακάτω, κάντε κλικ στο σύμβολο στην επάνω δεξιά γωνία και μεταβείτε στην εισαγωγή → από το πρόχειρο.

[{"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 ":" Out Pan Panorama "," method ":" GET "," ret ":" txt "," url ":" https://api.outpan.com/v2/products/{{{upc}}} ? apikey = "," tls ":" "," x ": 202," y ": 57," καλώδια ":

Τώρα έχετε ολόκληρο το API που θα χρησιμοποιήσουμε για την εισαγωγή και ενημέρωση δεδομένων. Μόνο μερικές προσαρμογές πρέπει να γίνουν πριν είμαστε έτοιμοι να το χρησιμοποιήσουμε.

  1. Πρώτα, μεταβείτε σε όλους τους κόμβους βάσης δεδομένων MySQL και αλλάξτε το όνομα χρήστη και τον κωδικό πρόσβασης σε αυτούς που δημιουργήσατε για τη βάση δεδομένων στο προηγούμενο βήμα.
  2. Δεύτερον, επεξεργαστείτε την δευτερεύουσα ροή mineOutPanData έτσι ώστε το αίτημα HTTP που χρησιμοποιείται για τη λήψη των δεδομένων Open Pan χρησιμοποιεί το δικό σας κλειδί API.

Τώρα είστε έτοιμοι να χρησιμοποιήσετε το API. Αυτή η ροή δημιουργεί ένα απλό API REST που σας επιτρέπει να στέλνετε δεδομένα από οποιαδήποτε συσκευή είναι συνδεδεμένη στο διαδίκτυο χρησιμοποιώντας αιτήματα

Βήμα 6: (Προαιρετικό) Κατανόηση του API

Συνδέστε το διακόπτη εναλλαγής
Συνδέστε το διακόπτη εναλλαγής

Το τελευταίο πράγμα που πρέπει να κάνουμε είναι να συνδέσουμε έναν διακόπτη στο GPIO, ώστε να μπορούμε να σαρώσουμε σε δύο λειτουργίες, να προσθέσουμε και να αφαιρέσουμε.

Αυτό είναι αρκετά απλό, απλώς ρυθμίστε έναν διακόπτη εναλλαγής για ανάγνωση από το pin GPIO 21 στο Pi και είστε έτοιμοι. Χρησιμοποιώντας το κύκλωμα στη συνημμένη εικόνα (γνωστό ως κύκλωμα PUD DOWN), το σενάριο θα στείλει ένα αίτημα προσθήκης όταν ο διακόπτης εναλλαγής είναι κλειστός και ένα αίτημα κατάργησης όταν ο διακόπτης εναλλαγής είναι ανοιχτός.

Μετά από αυτό, απλά κολλάμε τα καλώδια στο εσωτερικό της θήκης και είμαστε έτοιμοι.

Βήμα 9: (Προαιρετικό) Δημιουργήστε ένα περιβάλλον εργασίας χρήστη

(Προαιρετικό) Δημιουργήστε ένα περιβάλλον εργασίας χρήστη
(Προαιρετικό) Δημιουργήστε ένα περιβάλλον εργασίας χρήστη

Αυτό το τελευταίο βήμα δεν είναι απαραίτητο αλλά σίγουρα βοηθητικό εάν θέλετε να αξιοποιήσετε πλήρως τις δυνατότητες του συστήματος. Δημιούργησα μια πολύ απλή διεπαφή χρήστη που εμφανίζει όλα τα δεδομένα που έχουμε στη βάση δεδομένων μας σε έναν εύκολο στην πλοήγηση πίνακα. Ο πίνακας μπορεί να ταξινομηθεί ανά στήλη και επίσης να αναζητηθεί, καθιστώντας εύκολο να δείτε τι έχετε στη διάθεσή σας.

Το UI είναι αρκετά απλό. Επέστρεψα ξανά κάποιο παράδειγμα κώδικα που βρήκα στο διαδίκτυο για να συνεργαστώ με το API μας (αν σας ενδιαφέρει, αυτός ο κώδικας παραδείγματος μπορεί να βρεθεί εδώ).

Για να εκτελέσετε το UI, κάντε τα εξής…

  1. Αποθηκεύστε το συνημμένο αρχείο index.txt ως index.html (δεν μπορούσα να ανεβάσω το αρχείο ως αρχείο HTML για κάποιο λόγο).
  2. Τοποθετήστε τα δύο αρχεία στον ίδιο κατάλογο στον υπολογιστή σας.
  3. Εκτελέστε το αρχείο 'index.html' στο αγαπημένο σας πρόγραμμα περιήγησης ιστού.

Τώρα μπορούμε εύκολα να δούμε και να ταξινομήσουμε το απόθεμά σας!

Βήμα 10: Ξεκινήστε τη σάρωση

Ξεκινήστε τη σάρωση!
Ξεκινήστε τη σάρωση!

Τώρα είστε έτοιμοι να ξεκινήσετε τη σάρωση! Εάν έχετε οποιεσδήποτε ερωτήσεις αφήστε τις στα σχόλια και θα είμαι σίγουρος ότι θα απαντήσω όταν μπορώ.

Τέλος, οι ψήφοι σας στον διαγωνισμό θα εκτιμηθούν πολύ. Ευχαριστώ για την ανάγνωση!

Συνιστάται: