当前位置: 首页 > wzjs >正文

安徽工业大学两学一做网站网络营销渠道

安徽工业大学两学一做网站,网络营销渠道,用静态网站更新,个人可以做哪些网站本文参考:HNU-电子测试平台与工具2-串口实验5次_湖南大学学习通电子测试平台-CSDN博客 甘青学长就是强 一、实验目的 1、了解Linux下io函数read、write和epoll等 2、熟练处理流式通信数据 二、实验过程 1、向STC单片机下载下面的程序 下载程序后,单…

本文参考:HNU-电子测试平台与工具2-串口实验5次_湖南大学学习通电子测试平台-CSDN博客 

 甘青学长就是强

一、实验目的

1、了解Linux下io函数read、write和epoll等

2、熟练处理流式通信数据

二、实验过程

1、向STC单片机下载下面的程序

下载程序后,单片机将使用1200波特率发送自身序列号,格式同上一节课(4.3节内容)相同。请记录下该序列号。

(1)判断有没有连接串口

(2)打开程序文件

(3)下载/编程

(4)找到串口助手

(5)打开串口,接受缓冲区就会输出序列号,从AA55到AA55是一个完整的序列号

2、向串口写入自己的学号,格式为

    0xAA 0x55 十二位学号数字

例如学号20220110203,应该通过串口发送以下数据

    AA 55 02 00 02 02 00 01 01 01 00 02 00 03

(1)发送缓冲区输入AA 55 + 自己的学号

(2)打开串口

(3)点击发送数据

这时候接收缓冲区就会输出一串新密码

我这里接收到的是 E4 88 D5 16

3、解析密码

  1. STC单片机接收到学号后会发送第一串密码,密码长度为4字节。请将解析出该串密码并原样发回给串口。STC单片机收到返回后会继续发送下一串密码,请继续解析出该串密码并原样发回给串口。以此往复,将收到的最后一串密码记录下来。

首先在主机里重新执行第一步,重新下载程序到板子里,注意不需要把学号发送到串口,这是关键,再次下板子就是为了清除之前发送学号的影响。然后打开虚拟机

打开虚拟机选项,找到可移动设备, 如果板子还插在电脑上应该可以看到:Qing Heng USB2.0-Serial的选项,打开这个选项,点击连接,板子就从电脑主机连接到虚拟机了

打开终端:

ls /dev/tty*

找到 USB名字

我这里是ttyUSB0

 修改python代码里的串口名字为 /dev/ttyUSB0

 python代码如下:

import serial.tools.list_ports
# 字符串转字符串
def b2s(data):return ''.join([f'{ch:0>2x}' for ch in data]).upper()
# 连接设备
ser = serial.Serial("/dev/ttyUSB6", 1200)
# 判断是否连接到设备
assert (ser != None)
# 输入学号
studentID = input("学号:")
# 判断学号是否正确
assert (studentID.isdigit() and len(studentID) == 12)
# 读入序列号
number = b2s(ser.read(13))
# 断言魔数为AA55
assert (number[:4] == "AA55")
# 取出序列号
number = number[4:]
assert (len(number) == 11 * 2)
print(f'序列号:{number}')
# 使用学号构造即将发送的字节数据
startData = b'\xaa\x55' + bytes([ord(ch) - ord('0') for ch in studentID])
# 写入设备
ser.write(startData)
password = b''  # 读到的密码
i = 0  # 循环次数
# 开启永真循环,直到ctrl+c被按下
while i < 270:# 读1位,探测魔数t = b2s(ser.read(1))# 第一个魔数应该是AAif t != "AA":continue# 再读一位t = b2s(ser.read(1))# 第二个魔数应该是55if t != "55":continue# 判断魔数后可以放心读取数据# 读入密码开始位置的索引index = list(ser.read(1))[0]# 若索引大于4,则表明中间有无关字节,吸收掉无关字节if index - 4 > 0:ser.read(index - 4)# 读入四字节的密码password = ser.read(4)print(f'[{i}]密码:{b2s(password)}')# 使用这次读到的密码构造数据,发送给设备以读取下一次的密码ser.write(b'\xaa\x55' + password)i += 1

 执行python程序

在终端进入文件目录,执行

sudo python3 py.py # py.py 第一个py是文件名,,第二个py是文件后缀

如果你遇到下面问题,恭喜遇到问题,缺少名字叫做serial的模块 

解决方法也很简单,下载一个就行了,你可以执行下面的命令 

sudo apt install python3-serial

但是如果你下载成功之后再次输入sudo python3 py.py运行程序 发现还是报这个错,告诉你缺少serial模块怎么办,那我问你?

查阅资料发现:出现这种情况不是你serial模块有问题,而是你的系统里面有两个python,一个是ubuntu系统自带的,另一个是你自己下载的(估计是操作系统实验一惹的祸),你可以通过如下命令查看python3的指向

ls -l $(which python3)

 如果发现python3指向/usr/local/bin/python3,恭喜你,确实是因为你下载了两个python,因为ubuntu系统自带的python在目录/usr/bin/python3里面

 解决方法有两个:

  • 删除自己下载的python3
ls -l /usr/local/bin/python*
sudo rm /usr/local/bin/python*
  • 添加软连接(强力推荐)
sudo rm /usr/bin/python   # 删除旧的软链接(谨慎!)
sudo ln -s /usr/bin/python3 /usr/bin/python # 添加新链接

添加完后, 你就可以使用sudo python py.py来执行程序

当然,聪明的你可能会想到把python改的简单点,比如py

# sudo rm /usr/bin/python   # 这里你可以删除旧链接也可以选择不删,并不影响py命令
sudo ln -s /usr/bin/python3 /usr/bin/py # 添加新链接

 接下来就是运行

观察得知:第256次(第0次不是密码,那是串口上次保存的信息)得到不变的密码:AE3035A5 

告诉大家一个冷知识,当终端一直输出,你想结束终端的输出时,你可以键盘输入ctrl + z

4、将学号、序列号、最后一串密码发送到课程后台

上送命令语法为

curl "132.232.98.70:6363/checkSecret?id=学号&v=序列号&s=密码"

序列号是AA55A01D55387576E3A83034A5(记得删掉AA55),学号是202308040106,最后一串密码为AE3035A5,那么上报结果命令为:

curl "132.232.98.70:6363/checkSecret?id=202308040106&v=A01D55387576E3A83034A5&s=AE3035A5"

注意不要有空格,有空格输出是0

http://www.dtcms.com/wzjs/306376.html

相关文章:

  • 苏州网站搜索引擎优化六安seo
  • 诗词门户网站关键词排名提升工具
  • 找个人做网站seo案例分析
  • 网站建设的报告seo优化中以下说法正确的是
  • 音乐视频制作软件app网站推广与优化方案
  • 定制网站开发多少钱友情链接qq群
  • 网站建设与软件开发哪个好赚钱软件开发公司排行榜
  • seo查询seo培训优化
  • win7做网站服务器哪个网站百度收录快
  • 网站流量用什么表示seo实战密码第四版pdf
  • 创意网站 案例 下载湖南seo优化首选
  • 如何使用模板做网站seo国外英文论坛
  • 申报城市维护建设税上哪个网站电工培训机构
  • 酒店家具网站源码湖人今日排名最新
  • 沂水网站制作sem是什么意思中文
  • 眉山网络推广厦门seo优
  • 营销型网站的现状百度搜索榜排名
  • crm系统分为哪三类seo 工具分析
  • 郑州主动营销网站今日国内新闻10则
  • 官方网站查询 优帮云东莞网站设计公司排名
  • 好用的快速网站建设平台千川推广官网
  • 建站一条龙的服务流程是怎么样的网络营销的目的是
  • 做淘宝客网站用什么系统吗搜索引擎优化排名
  • 网站开发各个文件搜索引擎优化目标
  • 网站内容图片怎么做的seo搜索优化邵阳
  • 夏津网站建设价格搜索引擎优化seo专员招聘
  • 河北搜恒不给做网站免费的网络推广平台
  • 做动画的网站有哪些怎么做自媒体
  • 网站建设服务器是什么意思成都网站seo推广
  • 做网站平台应该注意哪些seo文章生成器