# -*- coding: utf-8 -*-
# import the necessary packages
from scipy.spatial import distance as dist
from imutils.video import FileVideoStream
from imutils.video import VideoStream
from imutils import face_utils
import numpy as np # 数据处理的库 numpy
import argparse
import imutils
import time
import dlib
import cv2
import serial
import time
import threading
import random
import sys
import wave
import os
# from tqdm import tqdm
# from pygame import mixer
import requests
import pyttsx3
# from lxml import etree
import datetime
import http.client
import mimetypes
from codecs import encode
# filename='wxw.txt'
filename='hat.jpg'
def onenet_upload_image(filename):
conn = http.client.HTTPSConnection("iot-api.heclouds.com")
dataList = []
boundary = 'wL36Yn8afVp8Ag7AmP8qZ0SA4n1v9T'
dataList.append(encode('--' + boundary))
dataList.append(encode('Content-Disposition: form-data; name=device_name;'))
dataList.append(encode('Content-Type: {}'.format('text/plain')))
dataList.append(encode(''))
dataList.append(encode("licheepi4a"))
dataList.append(encode('--' + boundary))
dataList.append(encode('Content-Disposition: form-data; name=product_id;'))
dataList.append(encode('Content-Type: {}'.format('text/plain')))
dataList.append(encode(''))
dataList.append(encode("fs1W2mxU41"))
dataList.append(encode('--' + boundary))
dataList.append(encode('Content-Disposition: form-data; name=file; filename={0}'.format(filename)))
fileType = mimetypes.guess_type(filename)[0] or 'application/octet-stream'
dataList.append(encode('Content-Type: {}'.format(fileType)))
dataList.append(encode(''))
with open(filename, 'rb') as f:
dataList.append(f.read())
dataList.append(encode('--'+boundary+'--'))
dataList.append(encode(''))
body = b'\r\n'.join(dataList)
payload = body
headers = {
'Authorization': 'version=2020-05-29&res=userid%2F227664&et=1731052690&method=sha1&sign=TnTU6j3ThGMF4rHvLQTCv4V%2BjT8%3D',
'Content-type': 'multipart/form-data; boundary={}'.format(boundary)
}
conn.request("POST", "/device/file-upload", payload, headers)
res = conn.getresponse()
# data = res.read()
# print(data.decode("utf-8"))
# # 打开串口
ser = serial.Serial('/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0', 115200)
def rece_ser():
global number_front,number_behind,number_result,flag_operate,weather,flag_wxw_music
while True:
# 获得接收缓冲区字符
count = ser.inWaiting()
if count != 0:
# 读取内容并回显
recv = ser.read(count)
if recv == b'\x36':
ret, sframe = cap.read()
cv2.imwrite('hat.jpg', sframe)
onenet_upload_image('hat.jpg')
elif recv == b'5':
flag_suanfa = 1
elif recv == b' ':
if flag_suanfa==1:
number_front=0
else:
number_behind=0
elif recv == b'!':
if flag_suanfa==1:
number_front=1
else:
number_behind=1
elif recv == b'"':
if flag_suanfa==1:
number_front=2
else:
number_behind=2
elif recv == b'#':
if flag_suanfa==1:
number_front=3
else:
number_behind=3
elif recv == b'$':
if flag_suanfa==1:
number_front=4
else:
number_behind=4
elif recv == b'%':
if flag_suanfa==1:
number_front=5
else:
number_behind=5
elif recv == b'&':
if flag_suanfa==1:
number_front=6
else:
number_behind=6
elif recv == b"'":
if flag_suanfa==1:
number_front=7
else:
number_behind=7
elif recv == b'(':
if flag_suanfa==1:
number_front=8
else:
number_behind=8
elif recv == b')':
if flag_suanfa==1:
number_front=9
else:
number_behind=9
elif recv == b'0':
flag_suanfa=0
flag_operate=1
elif recv == b'1':
flag_suanfa=0
flag_operate=2
elif recv == b'2':
flag_suanfa=0
flag_operate=3
elif recv == b'3':
flag_suanfa=0
flag_operate=4
elif recv == b'4':
if flag_operate==1:
number_result=number_front+number_behind
number_front=0
number_behind=0
flag_operate=0
print(number_result)
# time.sleep(1)
byte_sequence = number_result.to_bytes(4, 'little')
hex_string = ' '.join([format(b, '02X') for b in byte_sequence])
str_last = 'AA 55 08 ' + hex_string + " 55 AA"
d3 = bytes.fromhex(str_last)
ser.write(d3)
# weather.say('结果为' + str(number_result)) # 设置说话的内容
# weather.runAndWait() # 开始说话
if flag_operate==2:
number_result=number_front-number_behind
number_front=0
number_behind=0
flag_operate=0
print(number_result)
byte_sequence = number_result.to_bytes(4, 'little')
hex_string = ' '.join([format(b, '02X') for b in byte_sequence])
str_last = 'AA 55 08 ' + hex_string + " 55 AA"
d3 = bytes.fromhex(str_last)
ser.write(d3)
# time.sleep(1)
# str_temp='AA 55 08 '+str(hex(int(number_result)))[2:]+' 00 00 00 55 AA'
# d = bytes.fromhex(str_temp)
# ser.write(d)
# weather.say('结果为' + str(number_result)) # 设置说话的内容
# weather.runAndWait() # 开始说话
if flag_operate==3:
number_result=number_front*number_behind
number_front=0
number_behind=0
flag_operate=0
print(number_result)
byte_sequence = number_result.to_bytes(4, 'little')
hex_string = ' '.join([format(b, '02X') for b in byte_sequence])
str_last = 'AA 55 08 ' + hex_string + " 55 AA"
d3 = bytes.fromhex(str_last)
ser.write(d3)
# time.sleep(1)
# str_temp = 'AA 55 08 ' + str(hex(int(number_result)))[2:] + ' 00 00 00 55 AA'
# d = bytes.fromhex(str_temp)
# ser.write(d)
# weather.say('结果为'+str(number_result)) # 设置说话的内容
# weather.runAndWait() # 开始说话
if flag_operate==4:
number_result=number_front/number_behind
number_front=0
number_behind=0
flag_operate=0
print(number_result)
byte_sequence = number_result.to_bytes(4, 'little')
hex_string = ' '.join([fo
【鲁班猫创意大赛2期】基于鲁班猫的幼儿Al监督系统代码
102 浏览量
2023-11-28
13:42:37
上传
评论
收藏 61.65MB 7Z 举报
![avatar](https://profile-avatar.csdnimg.cn/c7bee11d4c894dda8a0b298852ee4ce0_weixin_44404482.jpg!1)
冰糖小新新
- 粉丝: 50
- 资源: 10