智能庫(kù)存管理——使用M5Stack和TOF單元
目的
?我們的設(shè)備旨在通過(guò)減少浪費(fèi)、節(jié)約能源和促進(jìn)環(huán)保實(shí)踐,徹底改變零售業(yè)的可持續(xù)性。
?解決關(guān)鍵的環(huán)境挑戰(zhàn),它使零售商能夠更有效地運(yùn)營(yíng),同時(shí)最大限度地減少碳足跡。
?我們的目標(biāo)是將可持續(xù)技術(shù)無(wú)縫整合到零售業(yè)務(wù)中,為企業(yè)和地球創(chuàng)造更綠色的未來(lái)
研究
收據(jù)的廢紙
?傳統(tǒng)的收據(jù)系統(tǒng)嚴(yán)重依賴(lài)紙張,導(dǎo)致森林砍伐和廢物堆積,特別是在大批量零售環(huán)境中。
?據(jù)估計(jì),全球每年打印3萬(wàn)億張紙質(zhì)收據(jù)。
?收據(jù)的典型使用壽命平均在30天左右。
?這導(dǎo)致了對(duì)自然資源的大量和不必要的使用。
庫(kù)存浪費(fèi)過(guò)多
?零售商面臨著庫(kù)存過(guò)剩的挑戰(zhàn),這導(dǎo)致未售出的產(chǎn)品被丟棄,造成了巨大的浪費(fèi)和環(huán)境危害。
?消費(fèi)者對(duì)缺貨問(wèn)題反應(yīng)消極,導(dǎo)致零售商增加庫(kù)存以避免投訴。
?頻繁的降價(jià)也會(huì)導(dǎo)致庫(kù)存過(guò)剩,使問(wèn)題更加嚴(yán)重。
?零售照明的過(guò)度能源消耗
?零售空間的連續(xù)照明,無(wú)論活動(dòng)如何,都會(huì)導(dǎo)致不必要的能源消耗和運(yùn)營(yíng)成本的增加
項(xiàng)目
?智能庫(kù)存管理-使用M5Stack和TOF單元,通過(guò)實(shí)時(shí)跟蹤庫(kù)存水平,防止庫(kù)存過(guò)剩,減少未售出產(chǎn)品的浪費(fèi),促進(jìn)資源的有效利用。
?智能庫(kù)存管理-使用M5Stack和PIR傳感器利用運(yùn)動(dòng)檢測(cè)來(lái)根據(jù)活動(dòng)調(diào)整照明,最大限度地減少不必要的能源消耗并降低對(duì)環(huán)境的影響。
?無(wú)紙化電子收據(jù)-利用M5Stack及射頻識(shí)別裝置,透過(guò)簡(jiǎn)單的刷卡產(chǎn)生數(shù)碼收據(jù),消除了紙張收據(jù)的需要,并減少了與傳統(tǒng)零售交易有關(guān)的浪費(fèi)。
代碼
from m5stack import *
from m5ui import *
from uiflow import *
import unit
setScreenColor(0x222222)
tof_3 = unit.get(unit.TOF, unit.PAHUB0)
pir_0 = unit.get(unit.PIR, unit.PORTC)
rfid_0 = unit.get(unit.RFID, unit.PAHUB1)
pahub_1 = unit.get(unit.PAHUB, unit.PORTA)
stock = None
label0 = M5TextBox(90, 66, "stock ", lcd.FONT_DejaVu18, 0xFFFFFF, rotate=0)
label1 = M5TextBox(288, -121, "Text", lcd.FONT_Default, 0xFFFFFF, rotate=0)
label2 = M5TextBox(21, 19, "Distance: cm", lcd.FONT_DejaVu24, 0xFFFFFF, rotate=0)
label3 = M5TextBox(162, 19, "Text", lcd.FONT_DejaVu24, 0xFFFFFF, rotate=0)
label4 = M5TextBox(112, 159, "Receipt", lcd.FONT_DejaVu24, 0xFFFFFF, rotate=0)
label5 = M5TextBox(134, 202, "Text", lcd.FONT_DejaVu24, 0xFFFFFF, rotate=0)
label6 = M5TextBox(50, 118, "Text", lcd.FONT_DejaVu24, 0xFFFFFF, rotate=0)
while True:
stock = int(((tof_3.distance) / 10))
label3.setText(str(stock))
if stock <= 15:
label0.setText('sufficient stock')
elif stock > 15:
label0.setText('low stock')
if rfid_0.isCardOn():
label4.setText('Receipt:')
label6.setText('Successful Payment')
if (rfid_0.readUid()) == 'd0ff4f9f':
label5.setText('$4')
if (rfid_0.readUid()) == '7096234f8a':
label5.setText('$10')
else:
label5.setText('')
label4.setText('')
label6.setText('tap card to pay')
if (pir_0.state) == 1:
rgb.setColorAll(0xffffff)
else:
rgb.setColorAll(0x000000)
wait_ms(2)
本文編譯自hackster.io