- 新增websocket客户端和服务端实现 - 添加图片压缩工具和快速压缩脚本 - 实现学生信息处理相关API - 添加MQTT客户端和消息处理功能 - 更新.gitignore忽略更多文件类型 - 添加数据库操作工具和示例 - 实现多个测试脚本和工具类
29 KiB
29 KiB
In [1]:
import pymysql
import snowflake
from faker import Faker
fake = Faker('zh_CN')
import random
# 创建数据库连接
connection = pymysql.connect(
host='192.168.0.244',
user='root',
password='Abcd@123456',
database='qy_school',
charset='utf8'
)
# 创建游标对象
cursor = connection.cursor()
sql="select * from student"
cursor.execute(sql)
result=cursor.fetchall()In [ ]:
from requests import get,post
import time
from datetime import datetime
ip = "http://192.168.0.244:8101"
param = {
"username": "tangchao",
"password": "123456a",
"client_id": "client",
"grant_type": "password",
"client_secret": "123456",
}
data = get(url=f"{ip}/oauth/token",params=param).json()
token = data["access_token"]
header = {
"content-type": "application/json",
"authorization": f"Bearer {token}",
}
[1;31m在当前单元格或上一个单元格中执行代码时 Kernel 崩溃。 [1;31m请查看单元格中的代码,以确定故障的可能原因。 [1;31m单击<a href='https://aka.ms/vscodeJupyterKernelCrash'>此处</a>了解详细信息。 [1;31m有关更多详细信息,请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。
In [5]:
sql="select * from student"
cursor.execute(sql)
result=cursor.fetchall()In [6]:
tem = get(f"{ip}/dorm/bed/pageList?page=1&pageSize=3000&building=&floor=&roomNumber=&grade=&department=&major=&className=&keyword=&pageNumber=1&teamId=106",headers=header).json()["data"]["records"]In [7]:
ids = [ i["stuId"] for i in tem if i["stuId"]]In [8]:
idsOut [8]:
[10564, 11496, 9731, 10907, 10143, 11030, 11631, 10385, 10353, 10949, 9678, 11428, 10240, 9794, 11328, 9971, 10252, 11178, 9700, 11632, 11257, 10501, 11765, 11515, 10821, 10783, 11324, 10475, 10055, 10074, 11612, 9664, 10423, 10677, 11326, 10892, 9963, 9707, 9629, 9899, 10064, 9858, 9746, 10701, 10101, 10813, 10043, 10239, 9983, 10802, 11300, 11167, 11174, 9918, 10931, 11301, 10742, 10326, 10814, 11702, 11171, 11459, 10804, 10899, 10958, 10134, 10929, 11337, 10599, 11488, 11667, 10763, 11490, 10882, 10251, 10449, 9695, 11013, 10774, 10038, 10549, 10917, 10269, 11152, 11108, 9688, 10330, 9869, 11269, 11539, 10427, 11051, 10363, 11115, 9668, 11242, 11035, 10735, 10211, 11792, 11222, 10086, 10013, 11809, 10217, 11201, 10307, 11620, 9743, 9686, 10916, 10729, 10264, 10996, 9596, 10747, 11397, 11762, 11711, 11558, 11790, 10862, 11786, 11802, 11162, 11002, 11160, 10132, 10374, 10732, 10184, 11408, 11635, 11544, 10930, 9811, 11519, 11200, 10462, 9651, 9829, 10471, 11411, 11601, 10223, 11172, 9703, 10439, 11231, 10828, 10434, 10661, 11737, 10611, 9874, 9798, 10771, 9581, 10492, 10496, 11675, 11794, 10451, 10242, 10088, 11538, 10637, 10190, 10939, 9939, 10975, 10531, 10080, 11559, 9598, 10034, 10534, 11132, 11476, 10498, 11012, 10098, 10568, 11182, 10100, 11583, 10228, 9916, 9825, 11717, 11092, 9862, 10229, 11546, 10702, 10696, 11065, 10586, 11767, 9821, 11159, 10068, 10872, 11190, 11219, 10946, 10469, 10967, 10731, 9854, 10166, 11169, 11641, 10544, 11256, 9962, 11465, 9842, 11126, 10507, 11723, 10095, 11218, 11305, 10552, 10022, 11145, 11290, 10127, 9728, 9727, 9991, 9594, 10863, 10025, 11525, 11781, 10894, 9789, 11736, 10693, 9808, 10676, 11501, 10905, 11197, 10256, 11636, 10327, 9698, 11773, 10941, 10408, 10664, 11217, 10181, 9690, 10466, 10990, 10431, 10591, 10547, 9927, 10368, 11751, 9984, 11642, 9814, 9888, 11292, 11590, 11760, 9689, 11508, 11562, 11571, 10150, 11151, 10919, 10969, 9832, 9706, 9618, 9828, 11445, 10424, 11380, 10900, 10379, 11325, 9702, 11264, 11591, 11447, 10645, 11183, 10066, 10616, 9699, 11223, 11681, 11061, 11759, 9676, 10081, 10481, 11194, 11136, 11062, 11137, 10047, 9726, 9623, 9937, 11606, 11350, 11497, 9994, 11179, 11166, 10844, 10357, 10473, 10036, 10320, 10284, 11522, 9823, 10878, 10262, 11306, 10153, 9718, 11268, 11206, 10404, 10548, 9634, 11453, 9760, 10741, 10428, 11804, 10031, 10977, 10976, 10372, 9636, 11651, 10259, 11504, 10422, 9620, 9754, 11135, 10104, 11564, 10343, 9999, 11371, 11598, 11630, 11376, 10499, 10454, 11692, 11060, 11750, 11535, 10456, 11619, 11110, 10523, 10298, 11662, 10566, 9873, 11177, 9815, 11685, 9903, 10988, 10312, 11347, 11375, 10443, 11122, 10966, 10726, 10005, 11058, 10703, 11082, 11072, 10071, 11729, 11580, 9800, 10125, 10728, 9855, 9851, 10789, 9894, 11279, 9750, 11686, 10484, 9781, 11552, 11714, 10067, 9949, 10682, 10668, 10767, 11467, 9796, 11560, 11489, 10270, 10948, 9978, 11798, 10210, 11677, 10328, 9804, 11336, 10396, 11314, 10019, 10846, 11075, 11103, 11534, 9952, 9615, 10908, 11654, 11475, 10133, 10069, 10366, 9921, 10876, 9638, 10816, 10091, 11024, 10559, 10417, 10094, 9759, 11298, 10978, 9606, 10951, 9813, 11605, 11669, 11452, 10755, 9926, 11652, 10509, 10895, 10349, 11720, 9812, 11744, 9886, 11238, 11622, 11240, 10056, 11105, 10517, 10026, 10186, 9621, 10873, 11244, 10614, 9822, 10297, 11246, 10850, 10709, 10660, 11673, 11695, 10679, 11010, 9992, 10576, 11699, 11041, 9875, 10311, 10793, 9935, 10569, 10824, 11382, 9954, 11401, 11793, 10189, 11735, 10325, 10346, 11119, 10151, 10139, 10718, 9762, 10254, 10234, 10046, 11749, 10060, 11432, 10912, 10918, 10246, 11575, 10472, 9600, 10391, 11754, 10514, 11700, 10063, 11659, 11352, 10221, 10429, 10375, 10865, 10769, 11728, 10787, 10121, 11803, 11104, 11698, 10029, 11757, 11441, 11671, 10414, 9880, 10183, 9948, 9667, 10197, 10260, 10839, 10886, 11251, 11147, 10028, 9770, 9710, 10004, 11437, 11015, 10906, 10515, 10162, 10351, 9818, 9843, 10790, 10796, 9734, 10373, 10084, 9955, 11780, 9895, 9974, 10858, 11791, 11755, 10737, 11561, 11725, 10861, 10105, 9900, 9797, 11810, 11609, 9785, 10623, 10775, 9970, 10164, 10625, 11693, 10809, 10785, 11588, 10935, 10627, 11265, 10293, 11460, 11399, 10550, 11394, 9788, 10880, 9782, 9671, 11614, 11101, 10012, 10291, 11319, 10608, 9763, 10883, 10575, 11547, 11487, 11309, 9922, 10123, 11131, 10278, 10724, 9586, 9877, 10165, 10295, 9856, 11527, 10347, 10185, 10448, 9677, 10795, 9864, 11226, 9817, 9601, 11199, 10837, 11214, 11095, 11073, 10407, 11713, 11311, 9715, 10934, 10600, 11361, 11249, 9867, 10706, 11140, 11483, 10890, 10909, 11549, 10551, 11087, 9665, 10208, 11114, 11033, 11175, 11098, 10840, 9946, 10085, 11241, 10058, 10188, 10669, 11799, 11161, 11195, 9729, 11282, 10299, 9898, 10483, 11000, 10937, 9882, 9906, 10382, 10154, 11436, 10283, 10175, 9769, 11801, 11407, 11330, 10719, 11023, 10384, 10389, 9748, 10141, 10399, 11507, 11805, 10979, 10441, 11130, 10791, 10358, 10018, 10686, 9893, 11510, 10263, 10964, 11042, 9659, 11545, 10933, 9925, 10115, 9774, 10822, 10874, 10681, 11645, 9612, 9644, 11511, 9679, 9930, 11239, 11678, 10204, 11433, 11367, 10173, 11123, 10457, 10831, 9878, 10010, 10643, 10521, 10766, 10137, 10076, 10638, 10687, 10634, 11500, 11752, 11513, 10120, 10756, 11498, 10364, 9837, 9881, 11284, 9904, 9619, 11478, 11225, 10630, 9656, 9876, 10522, 9890, 11746, 11730, 10810, 10129, 10494, 11089, 11116, 10629, 11077, 9852, 9779, 10006, 9988, 10968, 10394, 10597, 10381, 10485, 10868, 10148, 11687, 10490, 11420, 10096, 10954, 10212, 9694, 10205, 11106, 11389, 11050, 11022, 10309, 11778, 11327, 10421, 10945, 10168, 10683, 10503, 10936, 9997, 11193, 11338, 10970, 10678, 11064, 10708, 9914, 11069, 9735, 11763, 10648, 10214, 9592, 11053, 10649, 11345, 11143, 11618, 10887, 9617, 9834, 10605, 10956, 11521, 9859, 9958, 11464, 9846, 10700, 11656, 11785, 9721, 10685, 11141, 10857, 11047, 11471, 10995, 10762, 9857, 10811, 9757, 11424, 10716, 11006, 11287, 10138, 11616, 11227, 11405, 9791, 10435, 11393, 11412, 10277, 10736, 10355, 10915, 10122, 9776, 10733, 10093, 10187, 10528, 9722, 9691, 10893, 10710, 11697, 11672, 9724, 11776, 10554, 9639, 9944, 9912, 10200, 9773, 10778, 10493, 10920, 11775, 9824, 10315, 10131, 10045, 10896, 10276, 11768, 9950, 10338, 11474, 11374, 11180, 10248, 10176, 10367, 10206, 11634, 11640, 10650, 10891, 10267, 10864, 11154, 11743, 10904, 10294, 9996, 11421, 10727, 10286, 11610, 9630, 10334, 11524, 10007, 11254, 10180, 11747, 11358, 11484, 11787, 9675, 10560, 9583, 11381, 11258, 11639, 9753, 10532, 11234, 10740, 11299, 10193, 10169, 11032, 11019, 11633, 10932, 11155, 10118, 11789, 10746, 10409, 11316, 11285, 10558, 9985, 11592, 10786, 9806, 10196, 10981, 10950, 11753, 11315, 9603, 10411, 11280, 10117, 11553, 10296, 9932, 10354, 10359, 10126, 10748, 10851, 10450, 9968, 10072, 9607, 11293, 9626, 11016, 9819, 10606, 10562, ...]
In [7]:
# ids = []
# for item in result:
# id = item[0]
# ids.append(id)
# ids = [9131, 9135, 9139, 9140, 9141, 9142, 9151]In [9]:
sql = "select * from t_camera"
cursor.execute(sql)
camera=cursor.fetchall()
channels = []In [10]:
for item in camera:
channels.append(item[17])In [11]:
channelsOut [11]:
['16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15']
In [12]:
import uuid
In [14]:
times = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
count = random.randint(1, 4)
channel = random.choice(channels)
data = {
"batch_info": {
"batch_id": str(uuid.uuid4()),
"detected_image_path":"",
"total_faces": count,
"cameraid": "camera_001",
"cameracode": "CAM001"
},
"results":""
}
child = []
for item in random.choices(ids, k=count):
tem = {
"sim": "0.876",
"simFaceurl": "",
"baseFacesurl": "",
"faceBaseid": "",
"name": "",
"sex": "",
"empid": f"{item}",
"telephone": "",
"remark": "",
"channel": f"{channel}",
"ename": "Face",
"cname": "人脸比对",
"createtime": times
}
child.append(tem)
data["results"] = child
print(data)
post(f"{ip}/ai/stuface/receive",json=data,headers=header).textOut [14]:
{'batch_info': {'batch_id': '0e76d74a-42ee-4de0-bd3c-b8fd5c817542', 'detected_image_path': '', 'total_faces': 4, 'cameraid': 'camera_001', 'cameracode': 'CAM001'}, 'results': [{'sim': '0.876', 'simFaceurl': '', 'baseFacesurl': '', 'faceBaseid': '', 'name': '', 'sex': '', 'empid': '9941', 'telephone': '', 'remark': '', 'channel': '35', 'ename': 'Face', 'cname': '人脸比对', 'createtime': '2025-10-23 14:36:49'}, {'sim': '0.876', 'simFaceurl': '', 'baseFacesurl': '', 'faceBaseid': '', 'name': '', 'sex': '', 'empid': '9601', 'telephone': '', 'remark': '', 'channel': '35', 'ename': 'Face', 'cname': '人脸比对', 'createtime': '2025-10-23 14:36:49'}, {'sim': '0.876', 'simFaceurl': '', 'baseFacesurl': '', 'faceBaseid': '', 'name': '', 'sex': '', 'empid': '11014', 'telephone': '', 'remark': '', 'channel': '35', 'ename': 'Face', 'cname': '人脸比对', 'createtime': '2025-10-23 14:36:49'}, {'sim': '0.876', 'simFaceurl': '', 'baseFacesurl': '', 'faceBaseid': '', 'name': '', 'sex': '', 'empid': '10540', 'telephone': '', 'remark': '', 'channel': '35', 'ename': 'Face', 'cname': '人脸比对', 'createtime': '2025-10-23 14:36:49'}]}
'{"success":true,"msg":"操作成功","code":0,"data":null}'In [ ]:
times = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
count = 1
channel = 18
data = {
"batch_info": {
"batch_id": str(uuid.uuid4()),
"detected_image_path":"",
"total_faces": 3,
"cameraid": "camera_001",
"cameracode": "CAM001"
},
"results":""
}
child = []
for item in [11030,11631,10385]:
tem = {
"sim": "0.876",
"simFaceurl": "",
"baseFacesurl": "",
"faceBaseid": "",
"name": "",
"sex": "",
"empid": f"{item}",
"telephone": "",
"remark": "",
"channel": f"{channel}",
"ename": "Face",
"cname": "人脸比对",
"createtime": times
}
child.append(tem)
data["results"] = child
post(f"{ip}/ai/stuface/receive",json=data,headers=header).text'{"success":true,"msg":"操作成功","code":0,"data":null}'[1;31m在当前单元格或上一个单元格中执行代码时 Kernel 崩溃。 [1;31m请查看单元格中的代码,以确定故障的可能原因。 [1;31m单击<a href='https://aka.ms/vscodeJupyterKernelCrash'>此处</a>了解详细信息。 [1;31m有关更多详细信息,请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。