สารบัญ:

ระบบการจัดการสินค้าคงคลังแบบบูรณาการ: 10 ขั้นตอน (พร้อมรูปภาพ)
ระบบการจัดการสินค้าคงคลังแบบบูรณาการ: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ระบบการจัดการสินค้าคงคลังแบบบูรณาการ: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ระบบการจัดการสินค้าคงคลังแบบบูรณาการ: 10 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: กิจกรรมโลจิสติกส์แบบบูรณาการ 2024, พฤศจิกายน
Anonim
ระบบการจัดการสินค้าคงคลังแบบบูรณาการ
ระบบการจัดการสินค้าคงคลังแบบบูรณาการ

ฉันต้องการวิธีที่เหมาะสมในการติดตามทุกสิ่งในตู้กับข้าว ดังนั้นเมื่อสองสามเดือนก่อนฉันเริ่มทำงานในโครงการที่จะทำอย่างนั้น เป้าหมายคือการสร้างระบบที่เรียบง่ายและราคาไม่แพงซึ่งใช้งานง่ายมากในขณะที่ยังจัดเก็บข้อมูลให้เพียงพอเพื่อให้คุ้มค่ากับความพยายามเพิ่มเติม สิ่งที่ฉันสร้างขึ้นในที่สุดคือระบบการจัดการสินค้าคงคลังที่สามารถจัดเก็บและอัปเดตข้อมูลเกี่ยวกับรายการใดๆ ที่มีบาร์โค้ด รวมทั้งข้อมูลพื้นฐานเกี่ยวกับรายการเหล่านั้นจากอินเทอร์เน็ต

สรุปคือระบบทำงานแบบนี้

  1. มีการสแกนบาร์โค้ด
  2. สคริปต์ Python อ่านข้อมูลจากเครื่องสแกน
  3. คำขอจะถูกส่งไปยัง REST API ที่ทำงานบน node-red
  4. API ประมวลผลคำขอ ขุดข้อมูลเพิ่มเติมจากอินเทอร์เน็ต และแก้ไขฐานข้อมูลตามนั้น

ทั้งหมดนี้ทำใน Raspberry Pi ตัวเดียว ทำให้คุณสามารถอัปเดตและจัดเก็บข้อมูลเกี่ยวกับสินค้าคงคลังทั้งหมดของคุณในระบบพกพาขนาดเล็กเพียงเครื่องเดียว โปรเจ็กต์นี้เป็นเทคนิคเล็กน้อยและความเข้าใจพื้นฐานเกี่ยวกับฐานข้อมูล HTTP และ Python จะมีประโยชน์มาก แต่ฉันจะทำให้ดีที่สุดเพื่อให้ผู้เริ่มต้นเข้าใจได้ง่าย มาเริ่มกันเลย!

ขั้นตอนที่ 1: สิ่งที่คุณต้องการ

สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ

ส่วนที่คุณต้องการสำหรับโครงการนี้คือ…

  • ราสเบอร์รี่ปี่
  • เครื่องสแกนบาร์โค้ด USB (ลิงก์ไปยังเครื่องที่ฉันใช้อยู่)
  • อแด็ปเตอร์ WiFi (หาก Pi ของคุณไม่มี WiFi ในตัว)
  • สวิตช์สลับ
  • สายจัมเปอร์
  • เคสสำหรับ Raspberry Pi ของคุณ (อุปกรณ์เสริม)

ขั้นตอนที่ 2: ติดตั้งและตั้งค่าฐานข้อมูล

ติดตั้งและตั้งค่าฐานข้อมูล
ติดตั้งและตั้งค่าฐานข้อมูล

MySQL เป็นระบบจัดการฐานข้อมูลที่จะเก็บข้อมูลทั้งหมดที่เราดึงมาจากการสแกนบาร์โค้ด มันง่ายมากที่จะทำบน Pi รันคำสั่งต่อไปนี้ในเทอร์มินัลของคุณ Pi

sudo apt-get ติดตั้ง mysql-server

จากนั้น คุณจะเข้าสู่ขั้นตอนการติดตั้ง และให้สร้างรหัสผ่าน แค่นั้นแหละ. เมื่อติดตั้ง MySQL แล้ว Pi ของคุณสามารถทำหน้าที่เป็นเซิร์ฟเวอร์ฐานข้อมูลขนาดเล็กของตัวเองได้ ตอนนี้เราต้องสร้างตารางที่จะเก็บข้อมูลของเรา ขั้นแรก ให้เข้าสู่ระบบ หลังจากการติดตั้ง ผู้ใช้ MySql เพียงรายเดียวคือรูท (ผู้ใช้ที่มีสิทธิ์เข้าถึงทุกตารางและระบบ) คุณสามารถเข้าสู่ระบบในฐานะ root ได้โดยใช้คำสั่งต่อไปนี้

mysql -uroot -p

ในไม่ช้า เราจะตั้งค่าผู้ใช้รายอื่นที่ระบบของเราใช้ แต่ก่อนอื่น เราต้องสร้างฐานข้อมูลของเรา และตารางภายในฐานข้อมูลนั้น เมื่อต้องการทำเช่นนี้ เรียกใช้คำสั่งต่อไปนี้

สร้างสินค้าคงคลังฐานข้อมูล

ใช้สินค้าคงคลัง สร้างตาราง upc_count(upc varchar(15) ไม่เป็นโมฆะ นับจำนวนเต็ม(3) ไม่ใช่ค่าปริยาย null 0, ชื่อ varchar(255), ขนาด varchar(40), ผู้ผลิต varchar(80), คีย์หลัก (upc));

ตอนนี้ เรามีตารางอย่างง่ายที่มี upc ห้าคอลัมน์ (ซึ่งจะเป็นคีย์หลัก) การนับ ชื่อ ขนาด และผู้ผลิต หมายเหตุ: upc คือตัวเลขที่ระบุผลิตภัณฑ์โดยไม่ซ้ำกัน ตัวเลขนั้นคือสิ่งที่อ่านจากฉลากบาร์โค้ดเมื่อสแกน

สุดท้าย เราจะตั้งค่าผู้ใช้ที่เราต้องการ ฉันจะโทรหาฉัน เพื่อทำสิ่งนี้ เรียกใช้คำสั่งต่อไปนี้ โดยใช้ชื่อผู้ใช้และรหัสผ่านใดก็ได้ที่คุณต้องการ:

ให้สิทธิ์ทั้งหมดกับสินค้าคงคลัง * ถึง ''@'localhost' ที่ระบุโดย;

ตอนนี้เรามีฐานข้อมูลแล้ว ก็เริ่มสร้างระบบได้เลย!

ขั้นตอนที่ 3: รับ OutPan API Key

OutPan เป็น API ที่สามารถใช้เพื่อรับข้อมูลเกี่ยวกับผลิตภัณฑ์โดยใช้หมายเลข upc เราจะใช้ข้อมูลนี้เพื่อค้นหาข้อมูลเพิ่มเติมเกี่ยวกับผลิตภัณฑ์เมื่อมีการเพิ่มลงในฐานข้อมูล นี่เป็น API สาธารณะ แต่หากต้องการใช้งาน คุณต้องสมัครใช้งานและรับคีย์ API การลงทะเบียนนั้นค่อนข้างตรงไปตรงมา เพียงไปที่นี่และทำตามขั้นตอนเพื่อลงทะเบียนเพื่อรับรหัส

เมื่อคุณได้รับคีย์แล้ว ให้คัดลอกลงไป คุณจะต้องใช้มันในขั้นตอนต่อไป

ขั้นตอนที่ 4: ติดตั้งและตั้งค่า Node-Red

ติดตั้งและตั้งค่า Node-Red
ติดตั้งและตั้งค่า Node-Red
ติดตั้งและตั้งค่า Node-Red
ติดตั้งและตั้งค่า Node-Red

Node-Red ติดตั้งมาล่วงหน้าใน Raspbian OS ทุกรุ่นตั้งแต่ปลายปี 2015 หากต้องการทราบว่าคุณได้ติดตั้ง node-red ไว้หรือไม่ เพียงเรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล

โหนดสีแดง

หากข้อความ "ไม่พบคำสั่ง" แสดง คุณจะต้องติดตั้ง node-red เมื่อต้องการทำเช่นนี้ เรียกใช้คำสั่งต่อไปนี้

sudo apt-get update sudo apt-get ติดตั้ง nodered

หลังจากเริ่มต้น node-red คุณสามารถเข้าถึง node-red จากที่อยู่ที่แสดงในเอาต์พุต

การตั้งค่าที่เหลือคือการติดตั้งโหนด 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, "สาย":[{"id":"b8b6d2e4.169e7"}]}], "ออก":[{"x":755, "y":58, "wires":[{"id":"8dc2d52b.6a6fd8", "พอร์ต":0}]}]}, {"id":"b8b6d2e4.169e7", "type":"http request", "z":"ef09537e.8b96d", "name ":"Out Pan Request", "method":"GET", "ret":"txt", "url":"https://api.outpan.com/v2/products/{{{upc}}} ?apikey=", "tls":"", "x":202, "y":57, "wires":

ตอนนี้คุณมี API ทั้งหมดที่เราจะใช้ในการแทรกและอัปเดตข้อมูล ต้องทำการปรับเปลี่ยนเพียงเล็กน้อยก่อนที่เราจะพร้อมใช้งาน

  1. ขั้นแรก ไปที่โหนดฐานข้อมูล MySQL ทั้งหมด และเปลี่ยนชื่อผู้ใช้และรหัสผ่านเป็นชื่อที่คุณสร้างสำหรับฐานข้อมูลในขั้นตอนก่อนหน้า
  2. ประการที่สอง แก้ไขโฟลว์ย่อย mineOutPanData เพื่อให้คำขอ HTTP ที่ใช้รับข้อมูล Open Pan ใช้คีย์ API ของคุณเอง

ตอนนี้คุณพร้อมที่จะใช้ API แล้ว โฟลว์นี้สร้าง REST API อย่างง่าย ซึ่งช่วยให้คุณส่งข้อมูลจากอุปกรณ์ใดๆ ที่เชื่อมต่อกับอินเทอร์เน็ตโดยใช้คำขอ

ขั้นตอนที่ 6: (ไม่บังคับ) ทำความเข้าใจ API

เชื่อมต่อสวิตช์สลับ
เชื่อมต่อสวิตช์สลับ

สิ่งสุดท้ายที่เราต้องทำคือเชื่อมต่อสวิตช์กับ GPIO เพื่อให้เราสามารถสแกนในสองโหมด เพิ่มและลบ

สิ่งนี้ค่อนข้างตรงไปตรงมา เพียงแค่ตั้งค่าสวิตช์สลับเพื่ออ่านจาก GPIO pin 21 บน Pi และคุณก็พร้อมแล้ว การใช้วงจรบนรูปภาพที่แนบมา (เรียกว่าวงจร PUD DOWN) สคริปต์จะส่งคำขอเพิ่มเมื่อปิดสวิตช์สลับและคำขอลบเมื่อเปิดสวิตช์สลับ

หลังจากนั้นเราเพียงแค่พันสายไฟเข้ากับด้านในของเคสและก็พร้อมที่จะไป

ขั้นตอนที่ 9: (ไม่บังคับ) สร้างอินเทอร์เฟซผู้ใช้

(ไม่บังคับ) สร้างอินเทอร์เฟซผู้ใช้
(ไม่บังคับ) สร้างอินเทอร์เฟซผู้ใช้

ขั้นตอนสุดท้ายนี้ไม่จำเป็นแต่มีประโยชน์อย่างแน่นอนหากคุณต้องการใช้ศักยภาพของระบบอย่างเต็มที่ฉันสร้างส่วนต่อประสานผู้ใช้ที่เรียบง่ายซึ่งแสดงข้อมูลทั้งหมดที่เรามีในฐานข้อมูลของเราในตารางที่ใช้งานง่าย ตารางสามารถจัดเรียงตามคอลัมน์และค้นหาได้ ทำให้ง่ายต่อการดูว่าคุณมีอะไรบ้าง

UI ค่อนข้างเรียบง่าย ฉันใช้โค้ดตัวอย่างใหม่ที่ฉันพบทางออนไลน์เพื่อทำงานกับ API ของเรา (หากคุณสนใจ สามารถดูโค้ดตัวอย่างนั้นได้ที่นี่)

ในการเรียกใช้ UI ให้ทำดังต่อไปนี้…

  1. บันทึกไฟล์ index.txt ที่แนบมาเป็น index.html (ฉันไม่สามารถอัปโหลดไฟล์เป็นไฟล์ HTML ได้ด้วยเหตุผลบางประการ)
  2. ใส่ทั้งสองไฟล์ในไดเร็กทอรีเดียวกันบนคอมพิวเตอร์ของคุณ
  3. เรียกใช้ไฟล์ 'index.html' ในเว็บเบราว์เซอร์ที่คุณชื่นชอบ

ตอนนี้เราสามารถดูและจัดเรียงสินค้าคงคลังของคุณได้อย่างง่ายดาย!

ขั้นตอนที่ 10: เริ่มการสแกน

เริ่มสแกน!
เริ่มสแกน!

ตอนนี้คุณพร้อมที่จะเริ่มสแกนแล้ว! หากคุณมีคำถามใด ๆ ทิ้งไว้ในความคิดเห็นและฉันจะตอบเมื่อทำได้

สุดท้ายนี้ การโหวตของคุณในการแข่งขันจะได้รับการชื่นชมอย่างมาก ขอบคุณที่อ่าน!

แนะนำ: