Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
董杰
/
induction_shelf
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 48c1a495
由
刘韬
编写于
2024-01-12 09:04:27 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
修正最后一次感应后和服务器同步状态
1 个父辈
0d11a2d5
隐藏空白字符变更
内嵌
并排
正在显示
48 个修改的文件
包含
23 行增加
和
17 行删除
smartshelf/app/induction_admin.py
smartshelf/app/induction_post.py
smartshelf/app/utils/g.py
smartshelf/logs/smart.log
感应料架_v1.873/Config/AutoSave.config → 感应料架_v1.874/Config/AutoSave.config
感应料架_v1.873/Config/Backup/~AutoSave.config → 感应料架_v1.874/Config/Backup/~AutoSave.config
感应料架_v1.873/Config/ControlBoardList.json → 感应料架_v1.874/Config/ControlBoardList.json
感应料架_v1.873/ConfigHelper.dll → 感应料架_v1.874/ConfigHelper.dll
感应料架_v1.873/ConfigHelper.pdb → 感应料架_v1.874/ConfigHelper.pdb
感应料架_v1.873/ConfigHelper.xml → 感应料架_v1.874/ConfigHelper.xml
感应料架_v1.873/Induction_shelf_manager.exe → 感应料架_v1.874/Induction_shelf_manager.exe
感应料架_v1.873/Induction_shelf_manager.exe.config → 感应料架_v1.874/Induction_shelf_manager.exe.config
感应料架_v1.873/Induction_shelf_manager.pdb → 感应料架_v1.874/Induction_shelf_manager.pdb
感应料架_v1.873/Newtonsoft.Json.dll → 感应料架_v1.874/Newtonsoft.Json.dll
感应料架_v1.873/Newtonsoft.Json.xml → 感应料架_v1.874/Newtonsoft.Json.xml
感应料架_v1.873/Renci.SshNet.dll → 感应料架_v1.874/Renci.SshNet.dll
感应料架_v1.873/Renci.SshNet.xml → 感应料架_v1.874/Renci.SshNet.xml
感应料架_v1.873/WinSCP-5.19.5-Setup.exe → 感应料架_v1.874/WinSCP-5.19.5-Setup.exe
感应料架_v1.873/putty-64bit-0.76-installer.msi → 感应料架_v1.874/putty-64bit-0.76-installer.msi
感应料架_v1.873/smartshelf/app/__init__.py → 感应料架_v1.874/smartshelf/app/__init__.py
感应料架_v1.873/smartshelf/app/autoback.py → 感应料架_v1.874/smartshelf/app/autoback.py
感应料架_v1.873/smartshelf/app/config_ip.py → 感应料架_v1.874/smartshelf/app/config_ip.py
感应料架_v1.873/smartshelf/app/induction_admin.py → 感应料架_v1.874/smartshelf/app/induction_admin.py
感应料架_v1.873/smartshelf/app/induction_config.py → 感应料架_v1.874/smartshelf/app/induction_config.py
感应料架_v1.873/smartshelf/app/induction_post.py → 感应料架_v1.874/smartshelf/app/induction_post.py
感应料架_v1.873/smartshelf/app/induction_test.py → 感应料架_v1.874/smartshelf/app/induction_test.py
感应料架_v1.873/smartshelf/app/netprofile/NEOTEL.nmconnection.bak → 感应料架_v1.874/smartshelf/app/netprofile/NEOTEL.nmconnection.bak
感应料架_v1.873/smartshelf/app/netprofile/dhcpcd.conf.bak → 感应料架_v1.874/smartshelf/app/netprofile/dhcpcd.conf.bak
感应料架_v1.873/smartshelf/app/qr_code.py → 感应料架_v1.874/smartshelf/app/qr_code.py
感应料架_v1.873/smartshelf/app/scan_collection.py → 感应料架_v1.874/smartshelf/app/scan_collection.py
感应料架_v1.873/smartshelf/app/templates/head.html → 感应料架_v1.874/smartshelf/app/templates/head.html
感应料架_v1.873/smartshelf/app/templates/induction_admin.html → 感应料架_v1.874/smartshelf/app/templates/induction_admin.html
感应料架_v1.873/smartshelf/app/templates/induction_config.html → 感应料架_v1.874/smartshelf/app/templates/induction_config.html
感应料架_v1.873/smartshelf/app/templates/induction_control.html → 感应料架_v1.874/smartshelf/app/templates/induction_control.html
感应料架_v1.873/smartshelf/app/templates/induction_debug.html → 感应料架_v1.874/smartshelf/app/templates/induction_debug.html
感应料架_v1.873/smartshelf/app/templates/induction_test.html → 感应料架_v1.874/smartshelf/app/templates/induction_test.html
感应料架_v1.873/smartshelf/app/templates/ipconfig.html → 感应料架_v1.874/smartshelf/app/templates/ipconfig.html
感应料架_v1.873/smartshelf/app/translations/en/LC_MESSAGES/messages.po → 感应料架_v1.874/smartshelf/app/translations/en/LC_MESSAGES/messages.po
感应料架_v1.873/smartshelf/app/utils/__init__.py → 感应料架_v1.874/smartshelf/app/utils/__init__.py
感应料架_v1.873/smartshelf/app/utils/g.py → 感应料架_v1.874/smartshelf/app/utils/g.py
感应料架_v1.873/smartshelf/app/utils/location.py → 感应料架_v1.874/smartshelf/app/utils/location.py
感应料架_v1.873/smartshelf/app/utils/serial_collection.py → 感应料架_v1.874/smartshelf/app/utils/serial_collection.py
感应料架_v1.873/smartshelf/app/utils/serial_communication.py → 感应料架_v1.874/smartshelf/app/utils/serial_communication.py
感应料架_v1.873/smartshelf/app/utils/server_communication.py → 感应料架_v1.874/smartshelf/app/utils/server_communication.py
感应料架_v1.873/smartshelf/app/utils/tools.py → 感应料架_v1.874/smartshelf/app/utils/tools.py
感应料架_v1.873/smartshelf/config.py → 感应料架_v1.874/smartshelf/config.py
感应料架_v1.873/使用说明.docx → 感应料架_v1.874/使用说明.docx
感应料架_v1.873/感应料架_v1.873.zip → 感应料架_v1.874/感应料架_v1.874.zip
smartshelf/app/induction_admin.py
查看文件 @
48c1a49
...
...
@@ -20,7 +20,6 @@ from app.utils.serial_communication import SerialCommunication
from
app.induction_config
import
read_addrs
,
ip_config
,
testCidExists
#from serial_config import ReadConfig
from
app.utils.location
import
Location
config_dict
,
convert_dict
=
Location
()
.
read_location_file
()
sensorindex
=
{}
print
(
'convert_dict'
,
convert_dict
)
...
...
@@ -328,6 +327,7 @@ def ProcessLastSensor(cur_dict,last_sensor_dict):
if
len
(
list
)
>
0
:
command
=
'{{"ADDR":{},"color":{}}}
\n
'
.
format
(
k
[
1
:],
list
)
print
(
"ProcessLastSensor"
,
command
,
len
(
list
))
gg
.
sensorChangeFirstRun
=
True
ser
.
send_data
(
command
,
False
)
return
True
else
:
...
...
smartshelf/app/induction_post.py
查看文件 @
48c1a49
...
...
@@ -235,8 +235,7 @@ def serverboard():
global
last_sensor_dict
global
lastupdatetime
global
ServerAliveTime
global
sensorChangeFirstRun
sensorChangeFirstRun
=
True
gg
.
sensorChangeFirstRun
=
True
# serial_cf = ReadConfig()
command
=
""
# addrs = serial_cf.get_serial("addrs")
...
...
@@ -475,7 +474,6 @@ def filter_ng(in_loc,out_loc):
logging
.
warning
(
'入库ng恢复:{}'
.
format
(
out
))
return
in_loc
,
out_loc
sensorChangeFirstRun
=
True
# 发送入库/出库库位到服务器
def
send_loc_server
(
in_loc
,
out_loc
):
# http://ip/smdbox/service/store/sensorShelf/sensorChange
...
...
@@ -484,7 +482,6 @@ def send_loc_server(in_loc,out_loc):
# print ('--------------------origin_out_loc',out_loc)
global
locations
global
ServerErrorTimes
global
sensorChangeFirstRun
in_ng_loc
=
[]
out_ng_loc
=
[]
for
locnum
,
locvalue
in
locations
.
items
():
...
...
@@ -493,11 +490,11 @@ def send_loc_server(in_loc,out_loc):
if
locvalue
[
'outloc_ng'
]:
out_ng_loc
.
append
(
locnum
)
if
not
sensorChangeFirstRun
and
len
(
in_loc
)
==
0
and
len
(
out_loc
)
==
0
and
len
(
in_ng_loc
)
==
0
and
len
(
out_ng_loc
)
==
0
:
if
not
gg
.
sensorChangeFirstRun
and
len
(
in_loc
)
==
0
and
len
(
out_loc
)
==
0
and
len
(
in_ng_loc
)
==
0
and
len
(
out_ng_loc
)
==
0
:
print
(
"send_loc_server,nochange"
)
return
sensorChangeFirstRun
=
False
gg
.
sensorChangeFirstRun
=
False
headers
=
{
'content-type'
:
"application/x-www-form-urlencoded"
}
url
=
ip_config
[
'ip'
]
+
'/service/store/sensorShelf/sensorChange'
data
=
{
"cid"
:
ip_config
[
'cid'
],
"hasReelPosList"
:
in_loc
,
"hasReelPosErrorList"
:
in_ng_loc
,
"noReelPosList"
:
out_loc
,
"noReelPosErrorList"
:
out_ng_loc
}
...
...
@@ -642,7 +639,7 @@ def show_blink():
ng_status
[
'side'
]
=
locside
ng_status
[
'status'
]
=
True
outlocside
=
''
for
locnum
in
outTaskInfo
.
keys
(
):
for
locnum
in
list
(
outTaskInfo
.
keys
()
):
#logging.warning('有出库任务闪黄灯:{}'.format(locnum))
if
len
(
locations
[
locnum
][
'addr'
])
==
3
:
if
outlocside
==
'a'
:
...
...
@@ -744,6 +741,7 @@ def blink_convert(blink_leds):
#ser.read_alldata()
print
(
"blink_convert"
,
timeit
.
default_timer
(),
line
)
#time.sleep(0.005)
gg
.
sensorChangeFirstRun
=
True
# return texts
#blink_leds={}
...
...
@@ -798,6 +796,7 @@ def send_tower_status_light():
command_dicts
=
{
"ADDR"
:
"0"
,
"lighton"
:
lightons
,
"lightoff"
:
lightoffs
}
maincommand
=
str
(
json
.
dumps
(
command_dicts
))
+
'
\n
'
# print ('------------------maincommand',maincommand)
gg
.
sensorChangeFirstRun
=
True
ser
.
send_data
(
maincommand
)
#1@4 红色
#3@6 绿色
...
...
smartshelf/app/utils/g.py
查看文件 @
48c1a49
...
...
@@ -5,14 +5,13 @@ from config import Config
current_state
:
string
current_state
=
'off'
sensorChangeFirstRun
=
True
Serl
=
None
basepath
=
os
.
path
.
dirname
(
__file__
)
shelfconfigfile
=
basepath
+
"/../"
+
Config
.
STATE_PATH
+
'shelfconfig.pkl'
def
ver
():
return
"1.874"
return
"1.876"
class
_shelfconfig
:
def
__init__
(
self
):
...
...
smartshelf/logs/smart.log
查看文件 @
48c1a49
...
...
@@ -18161,3 +18161,5 @@ KeyError: 'code'
2023-08-18 11:22:40,979 - WARNING : ("串口发送数据错误,'NoneType' object has no attribute 'out_waiting'",)
2023-08-18 11:22:40,980 - WARNING : 灯条:all已关闭
2023-08-18 11:22:47,454 - WARNING : ('---异常---:', SerialException("could not open port '1': FileNotFoundError(2, '系统找不到指定的文件。', None, 2)"))
2024-01-10 11:45:48,511 - WARNING : config:D:\rick\python\induction_shelf\smartshelf\app/state/, ip&cid...:{'post': 'wait', 'ip': 'http://192.168.1.243/smf-core', 'cid': 'S10392'}
2024-01-10 11:46:49,513 - WARNING : config:D:\rick\python\induction_shelf\smartshelf\app/state/, ip&cid...:{'post': 'wait', 'ip': 'http://192.168.1.243/smf-core', 'cid': 'S10392'}
感应料架_v1.87
3
/Config/AutoSave.config
→
感应料架_v1.87
4
/Config/AutoSave.config
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/Config/Backup/~AutoSave.config
→
感应料架_v1.87
4
/Config/Backup/~AutoSave.config
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/Config/ControlBoardList.json
→
感应料架_v1.87
4
/Config/ControlBoardList.json
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/ConfigHelper.dll
→
感应料架_v1.87
4
/ConfigHelper.dll
查看文件 @
48c1a49
此文件类型无法预览
感应料架_v1.87
3
/ConfigHelper.pdb
→
感应料架_v1.87
4
/ConfigHelper.pdb
查看文件 @
48c1a49
此文件类型无法预览
感应料架_v1.87
3
/ConfigHelper.xml
→
感应料架_v1.87
4
/ConfigHelper.xml
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/Induction_shelf_manager.exe
→
感应料架_v1.87
4
/Induction_shelf_manager.exe
查看文件 @
48c1a49
此文件类型无法预览
感应料架_v1.87
3
/Induction_shelf_manager.exe.config
→
感应料架_v1.87
4
/Induction_shelf_manager.exe.config
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/Induction_shelf_manager.pdb
→
感应料架_v1.87
4
/Induction_shelf_manager.pdb
查看文件 @
48c1a49
此文件类型无法预览
感应料架_v1.87
3
/Newtonsoft.Json.dll
→
感应料架_v1.87
4
/Newtonsoft.Json.dll
查看文件 @
48c1a49
此文件类型无法预览
感应料架_v1.87
3
/Newtonsoft.Json.xml
→
感应料架_v1.87
4
/Newtonsoft.Json.xml
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/Renci.SshNet.dll
→
感应料架_v1.87
4
/Renci.SshNet.dll
查看文件 @
48c1a49
此文件类型无法预览
感应料架_v1.87
3
/Renci.SshNet.xml
→
感应料架_v1.87
4
/Renci.SshNet.xml
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/WinSCP-5.19.5-Setup.exe
→
感应料架_v1.87
4
/WinSCP-5.19.5-Setup.exe
查看文件 @
48c1a49
此文件太大,无法显示。
感应料架_v1.87
3
/putty-64bit-0.76-installer.msi
→
感应料架_v1.87
4
/putty-64bit-0.76-installer.msi
查看文件 @
48c1a49
此文件类型无法预览
感应料架_v1.87
3
/smartshelf/app/__init__.py
→
感应料架_v1.87
4
/smartshelf/app/__init__.py
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/smartshelf/app/autoback.py
→
感应料架_v1.87
4
/smartshelf/app/autoback.py
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/smartshelf/app/config_ip.py
→
感应料架_v1.87
4
/smartshelf/app/config_ip.py
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/smartshelf/app/induction_admin.py
→
感应料架_v1.87
4
/smartshelf/app/induction_admin.py
查看文件 @
48c1a49
...
...
@@ -23,6 +23,7 @@ from app.utils.location import Location
config_dict
,
convert_dict
=
Location
()
.
read_location_file
()
sensorindex
=
{}
print
(
'convert_dict'
,
convert_dict
)
for
k
,
v
in
convert_dict
.
items
():
d
=
k
.
split
(
'@'
)
if
d
[
1
]
not
in
sensorindex
:
...
...
@@ -307,9 +308,10 @@ def ProcessLastSensor(cur_dict,last_sensor_dict):
closelist
=
[]
lv
=
last_sensor_dict
.
get
(
k
)
hv
=
sensorindex
.
get
(
k
)
print
(
'HV'
,
k
,
hv
)
ledcount
=
0
;
if
lv
and
len
(
lv
)
==
len
(
v
):
for
i
in
range
(
0
,
len
(
lv
)):
for
i
in
range
(
0
,
len
(
lv
)):
if
hv
[
i
]
==
'1'
:
ledcount
=
ledcount
+
1
if
v
[
i
]
==
'1'
and
v
[
i
]
!=
lv
[
i
]:
...
...
感应料架_v1.87
3
/smartshelf/app/induction_config.py
→
感应料架_v1.87
4
/smartshelf/app/induction_config.py
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/smartshelf/app/induction_post.py
→
感应料架_v1.87
4
/smartshelf/app/induction_post.py
查看文件 @
48c1a49
...
...
@@ -235,6 +235,8 @@ def serverboard():
global
last_sensor_dict
global
lastupdatetime
global
ServerAliveTime
global
sensorChangeFirstRun
sensorChangeFirstRun
=
True
# serial_cf = ReadConfig()
command
=
""
# addrs = serial_cf.get_serial("addrs")
...
...
@@ -473,7 +475,7 @@ def filter_ng(in_loc,out_loc):
logging
.
warning
(
'入库ng恢复:{}'
.
format
(
out
))
return
in_loc
,
out_loc
sensorChangeFirstRun
=
True
# 发送入库/出库库位到服务器
def
send_loc_server
(
in_loc
,
out_loc
):
# http://ip/smdbox/service/store/sensorShelf/sensorChange
...
...
@@ -482,6 +484,7 @@ def send_loc_server(in_loc,out_loc):
# print ('--------------------origin_out_loc',out_loc)
global
locations
global
ServerErrorTimes
global
sensorChangeFirstRun
in_ng_loc
=
[]
out_ng_loc
=
[]
for
locnum
,
locvalue
in
locations
.
items
():
...
...
@@ -490,11 +493,11 @@ def send_loc_server(in_loc,out_loc):
if
locvalue
[
'outloc_ng'
]:
out_ng_loc
.
append
(
locnum
)
if
len
(
in_loc
)
==
0
and
len
(
out_loc
)
==
0
and
len
(
in_ng_loc
)
==
0
and
len
(
out_ng_loc
)
==
0
:
if
not
sensorChangeFirstRun
and
len
(
in_loc
)
==
0
and
len
(
out_loc
)
==
0
and
len
(
in_ng_loc
)
==
0
and
len
(
out_ng_loc
)
==
0
:
print
(
"send_loc_server,nochange"
)
return
sensorChangeFirstRun
=
False
headers
=
{
'content-type'
:
"application/x-www-form-urlencoded"
}
url
=
ip_config
[
'ip'
]
+
'/service/store/sensorShelf/sensorChange'
data
=
{
"cid"
:
ip_config
[
'cid'
],
"hasReelPosList"
:
in_loc
,
"hasReelPosErrorList"
:
in_ng_loc
,
"noReelPosList"
:
out_loc
,
"noReelPosErrorList"
:
out_ng_loc
}
...
...
@@ -639,7 +642,7 @@ def show_blink():
ng_status
[
'side'
]
=
locside
ng_status
[
'status'
]
=
True
outlocside
=
''
for
locnum
in
outTaskInfo
.
keys
(
):
for
locnum
in
list
(
outTaskInfo
.
keys
()
):
#logging.warning('有出库任务闪黄灯:{}'.format(locnum))
if
len
(
locations
[
locnum
][
'addr'
])
==
3
:
if
outlocside
==
'a'
:
...
...
感应料架_v1.87
3
/smartshelf/app/induction_test.py
→
感应料架_v1.87
4
/smartshelf/app/induction_test.py
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/smartshelf/app/netprofile/NEOTEL.nmconnection.bak
→
感应料架_v1.87
4
/smartshelf/app/netprofile/NEOTEL.nmconnection.bak
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/smartshelf/app/netprofile/dhcpcd.conf.bak
→
感应料架_v1.87
4
/smartshelf/app/netprofile/dhcpcd.conf.bak
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/smartshelf/app/qr_code.py
→
感应料架_v1.87
4
/smartshelf/app/qr_code.py
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/smartshelf/app/scan_collection.py
→
感应料架_v1.87
4
/smartshelf/app/scan_collection.py
查看文件 @
48c1a49
...
...
@@ -58,6 +58,7 @@ def transfer(origin_value):
c_list
.
pop
(
-
1
)
keyword
=
'A'
+
addr
.
group
()
cur_dict
[
keyword
]
=
c_list
print
(
'cur_dict'
,
keyword
,
cur_dict
[
keyword
])
except
Exception
as
e
:
logging
.
warning
(
"读取传感器状态出错:{}"
.
format
(
repr
(
e
)))
logging
.
warning
(
"当前解析值:{}"
.
format
(
receive_data
))
...
...
感应料架_v1.87
3
/smartshelf/app/templates/head.html
→
感应料架_v1.87
4
/smartshelf/app/templates/head.html
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/smartshelf/app/templates/induction_admin.html
→
感应料架_v1.87
4
/smartshelf/app/templates/induction_admin.html
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/smartshelf/app/templates/induction_config.html
→
感应料架_v1.87
4
/smartshelf/app/templates/induction_config.html
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/smartshelf/app/templates/induction_control.html
→
感应料架_v1.87
4
/smartshelf/app/templates/induction_control.html
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/smartshelf/app/templates/induction_debug.html
→
感应料架_v1.87
4
/smartshelf/app/templates/induction_debug.html
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/smartshelf/app/templates/induction_test.html
→
感应料架_v1.87
4
/smartshelf/app/templates/induction_test.html
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/smartshelf/app/templates/ipconfig.html
→
感应料架_v1.87
4
/smartshelf/app/templates/ipconfig.html
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/smartshelf/app/translations/en/LC_MESSAGES/messages.po
→
感应料架_v1.87
4
/smartshelf/app/translations/en/LC_MESSAGES/messages.po
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/smartshelf/app/utils/__init__.py
→
感应料架_v1.87
4
/smartshelf/app/utils/__init__.py
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/smartshelf/app/utils/g.py
→
感应料架_v1.87
4
/smartshelf/app/utils/g.py
查看文件 @
48c1a49
...
...
@@ -10,7 +10,7 @@ basepath = os.path.dirname(__file__)
shelfconfigfile
=
basepath
+
"/../"
+
Config
.
STATE_PATH
+
'shelfconfig.pkl'
def
ver
():
return
"1.87
3
"
return
"1.87
4
"
...
...
感应料架_v1.87
3
/smartshelf/app/utils/location.py
→
感应料架_v1.87
4
/smartshelf/app/utils/location.py
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/smartshelf/app/utils/serial_collection.py
→
感应料架_v1.87
4
/smartshelf/app/utils/serial_collection.py
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/smartshelf/app/utils/serial_communication.py
→
感应料架_v1.87
4
/smartshelf/app/utils/serial_communication.py
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/smartshelf/app/utils/server_communication.py
→
感应料架_v1.87
4
/smartshelf/app/utils/server_communication.py
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/smartshelf/app/utils/tools.py
→
感应料架_v1.87
4
/smartshelf/app/utils/tools.py
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/smartshelf/config.py
→
感应料架_v1.87
4
/smartshelf/config.py
查看文件 @
48c1a49
文件被删除
感应料架_v1.87
3
/使用说明.docx
→
感应料架_v1.87
4
/使用说明.docx
查看文件 @
48c1a49
此文件类型无法预览
感应料架_v1.87
3/感应料架_v1.873
.zip
→
感应料架_v1.87
4/感应料架_v1.874
.zip
查看文件 @
48c1a49
此文件太大,无法显示。
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论