【基于腾讯云的远程机械臂小车】

news2024/11/18 20:40:52

1. 项目来源

项目源码地址:https://gitcode.net/VOR234/robot_arm_car/-/blob/master/TencentOS-tiny123.zip
https://gitee.com/vor2345/robot_arm_car
在这里插入图片描述
程序分别
在这里插入图片描述
视频演示:https://www.bilibili.com/video/BV15M4y1D7MD/?vd_source=530bf85167de80ff1628de3bdb9da898

基于腾讯云的远程机械臂小车

1.1 项目概述

随着科技的日益发达,人类社会正在向自动化,智能化的方向快速发展。机械臂履带车可以提高户外的生产效率,减少人力成本,提高工作效率,改善工作环境,提高安全性,减少事故发生率,有利于促进社会经济的发展,因此设计出机械臂来代替人的手臂也就显得很有必要。本文基于CH32V307开发板开发了智能移动履带机械臂小车,通过WIFI无线网络接入腾讯云物联网平台IoT Explorer,实现了在腾讯连连小程序上能够实时在线控制和在线监测运动数据。
在这里插入图片描述

1.2 系统结构

系统采用CH32V307作为核心控制单元,处理客户端发送的命令并将控制信号发送给Arduino。Arduino作为底层驱动控制机械臂和履带的运动。该智能机械臂履带车可以通过两种方式进行控制,第一种控制方式是用户通过微信小程序腾讯连连实现远程运动控制和运动数据监测;第二种控制方式是通过RC遥控器进行近程控制,系统结构如图所示:

在这里插入图片描述

1.3 设计原理

CH307开发板是基于腾讯物联网终端操作系统TencentOS tiny构建。设计两个线程,第一个线程是负责无线数据接入腾讯云IoT Explorer,设计设备联网控制与数据交互功能;第二个线程是与Arduino mega2560 双向通讯,设计对应的通讯数据协议以及两种控制模式的切换(腾讯云和富斯遥控器)。
在这里插入图片描述

2. 硬件搭建

此部分设计包含主要模块的功能介绍和连接组成,其中简明材料明细表如下

名称功能介绍
CH32V307开发板系统信息交互中枢
Arduino Mega2560开发板底层驱动与CH32V307通讯
富斯I6遥控器2.4G近距离遥控
机械臂小车控制对象
ESP8266 MCU开发板发布和订阅腾讯云信息

2.1 CH32V307开发板

CH32V307是沁恒微电子基于32位RISC-V设计的高性能、低功耗互联型微控制器,产品特点:

MCU:CH32V307VCT6,主频 144MHz,FLASH和RAM可配置
LED:2个,用户 LEDs, LED1(blue),LED2(red)。
按键:3个,Reset, User 和 Download。
USB:2个,Tpye-C。
网口:1个,内置 10M PHY。
板载 WCH-Link 下载调试工具。
系统框图
在这里插入图片描述

本次项目采用沁恒微电子官方推出的开发板,如下图所示:

img

2.2 Arduino mega2560

Arduino Mega 2560是基于ATmega2560的主控开发板。Arduino Mega2560是采用USB接口的核心电路板。具有54路数字输入输出,适合需要大量IO接口的设计。

规格参数:

工作电压:5V

推荐输入电压范围:7-12V

输入电压范围:6-20V

数字输入输出口:54

模拟输入输出口:16

每个I/O口的输出电流:40mA

3.3V管脚的输出电流:50mA

内存空间:256KB

SRAM:8KB

EEPROM:4KB

时钟频率:16MHz
img

2.3 富斯I6遥控器

FS- i6是一款支持固定翼/滑翔机/直升机模式的入门级首选发射机。搭载AFHDS 2A协议,可升级至10通道,中英文固件,满足不同用户的需求。

规格参数:

产品型号:FS- i6
通道个数:6
支持模型:固定翼/滑翔机/直升机/船
无线频率 :2.4G
发射功率 :< 20 dBm
无线协议: AFHDS 2A
遥控距离:500~1500m(空中)
通道分辨率:4096
电池 :1.5AA*4
充电接口:无 低电压报警 :<4.2V
天线类型 :双天线
显示屏:STN半透正显,LCD128x64点阵,
语言:中英文
数据接口 :PS/2(PPM)
温度范围:-10℃—+60℃
湿度范围:20%-95%
在线更新:是
遥控器颜色:黑色
外形尺寸:174x89x190mm
机身重量 : 392g
认证 CE,RCM,PAHS,FCC ID:N4ZFLYSKYI6
在这里插入图片描述

2.4 机械臂小车

机械臂为3R结构,由3个A4988驱动3个42步进电机进行控制(这三个电机会在腾讯云界面显示,小车底盘驱动选择遥控器接收机的其他通道),详细的DH参数解算及仿真模拟如下:

在这里插入图片描述

DH参数解算板书
在这里插入图片描述

MATLAB仿真代码:

%% 机械臂建模
% 定义各个连杆以及关节类型,默认为转动关节
%           theta      d        a        alpha
L1=Link([     0        0        6        pi/2 ], 'standard'); % [四个DH参数], options
L2=Link([     0      0        14       0], 'standard');
L3=Link([      0        0       17        0], 'standard');

robot=SerialLink([L1,L2,L3]); % 将四个连杆组成机械臂
robot.name='505Arm';
robot.display();
view(2); % 解决robot.teach()和plot的索引超出报错
robot.teach();
robot.plot([0 0 0]);

界面显示
在这里插入图片描述
模拟控制视频
请添加图片描述
根据仿真和自身三个电机有机械限位,运动范围都是在0~90度之间,末端活动范围主要在小车的正前方。

2.5 ESP8266 MCU

2.5.1 ESP8266 MCU介绍

ESP8266-NodeMCU是一个开源硬件开发板,由于它支持WIFI功能,所以在物联网(IOT)领域,Arduino开发板最大的对手之一就是ESP8266-NodeMCU开发板。😀😀😀
ESP8266-NodeMCU尺寸与Nano类似,他并不是Arduino团队开发的,但是我们也可以使用Arduino IDE对他进行开发。而且他还有一颗地道的“中国芯”—ESP8266模块。😅😅😅

在这里插入图片描述
想深度学习的可以试试:ESP8266-NodeMCU物联网开发之Arduino环境搭建:https://blog.csdn.net/VOR234/article/details/121100577

2.5.2 腾讯云固件烧录

esp8266 nodemcu模块需要烧写腾讯云定制固件后,才能连接到腾讯云平台,实现与腾讯云平台的数据交互,能够实现WIFI账号密码配置、MQTT连接、订阅、发布等功能。
乐鑫官网提供esp8266腾讯云AT固件:
https://bbs.21ic.com/forum.php?mod=attachment&aid=MjA0MDkzOHwzY2RkODkyNHwxNjc2NDM1ODc3fDMzOTMwMDZ8MzI3MjQxNg%3D%3D

使用乐鑫提供的esptool工具烧录即可,具体怎么烧录如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. 软件设计

此部分介绍两种控制方式和任务逻辑调度

3.1 两种控制方式

分别是 富斯I6和腾讯云遥控机械臂小车。第一种响应速度快,遥控距离有限;第二种相应速度慢,有网络连接腾讯云就可以无距离限制。

3.1.1 富斯I6遥控机械臂小车

接线图介绍
RC遥控方案选用的为富斯的I6遥控器和IA6B接收机,其中123通道分别负责3R机械臂的3个步进电机的运动,45通道分别负责两个带动履带的有刷电机。在履带控制方面需要开启混控才能实现转向,例如要实现履带的左转功能,需将主通道设为4,混控通道设置为5并设为-100%,当右摇杆向左打时,5号通道的信号为4号通道的负值,即可实现两侧电机的不同方向旋转。同时,由于接收机上每个通道都有正负极且电压都为5V,可以为单片机供电。
IA6B接收机
在这里插入图片描述
I6遥控器

在这里插入图片描述

下面给出富斯I6遥控器与Arduino mega2560控制三个电机的控制代码
控制代码:

#include <AccelStepper.h> 

//定义RC接收机引脚
int ch22 = 22;
int ch23 = 23;
int ch24 = 24;


signed int pluse = 80;
signed int k1 = 0;
signed int k2 = 0;
signed int k3 = 0;
signed long setposition1 = 0;
signed long setposition2 = 0;
signed long setposition3 = 0;

// 定义电机控制用常量
const int enablePin = 8;  // 使能控制引脚

// A4988连接Arduino引脚号
const int xdirPin = 5;     // x方向控制引脚
const int xstepPin = 2;    // x步进控制引脚
const int ydirPin = 6;     // y方向控制引脚
const int ystepPin = 3;    // y步进控制引脚
const int zdirPin = 7;     // z方向控制引脚
const int zstepPin = 4;    // z步进控制引脚


AccelStepper stepper1(1, xstepPin, xdirPin);
AccelStepper stepper2(1, ystepPin, ydirPin);
AccelStepper stepper3(1, zstepPin, zdirPin);
//建立步进电机对象

void setup()
{
    Serial.begin(9600);
    pinMode(xstepPin, OUTPUT);     // Arduino控制A4988步进引脚为输出模式
    pinMode(xdirPin, OUTPUT); 
    pinMode(ystepPin, OUTPUT); 
    pinMode(ydirPin, OUTPUT);
    pinMode(zstepPin, OUTPUT);
    pinMode(zdirPin, OUTPUT);
    // Arduino控制A4988方向引脚为输出模式
    pinMode(enablePin, OUTPUT);   // Arduino控制A4988使能引脚为输出模式
    digitalWrite(enablePin, LOW); // 将使能控制引脚设置为低电平从而让
    // 电机驱动板进入工作状态

    stepper1.setMaxSpeed(4000.0);    // 设置电机最大速度300
    stepper1.setAcceleration(500.0); // 设置电机加速度20.0
    stepper2.setMaxSpeed(4000.0);    // 设置电机最大速度300
    stepper2.setAcceleration(500.0); // 设置电机加速度20.0
    stepper3.setMaxSpeed(4000.0);    // 设置电机最大速度300
    stepper3.setAcceleration(500.0); // 设置电机加速度20.0
}

void loop()

{

    if (pulseIn(ch22, HIGH) > 900 && pulseIn(ch22, HIGH) < 1200)
    {
        k1 = k1 + 1;
    }

    else if (pulseIn(ch22, HIGH) > 1800 && pulseIn(ch22, HIGH) < 2100)
    {
        k1 = k1 - 1;
    }
    else if (pulseIn(ch23, HIGH) > 900 && pulseIn(ch23, HIGH) < 1200)
    {
        k2 = k2 + 1;
    }

    else if (pulseIn(ch23, HIGH) > 1800 && pulseIn(ch23, HIGH) < 2100)
    {
        k2 = k2 - 1;
    }
    else if (pulseIn(ch24, HIGH) > 900 && pulseIn(ch24, HIGH) < 1200)
    {
        k3 = k3 + 1;
    }

    else if (pulseIn(ch24, HIGH) > 1800 && pulseIn(ch24, HIGH) < 2100)
    {
        k3 = k3 - 1;
    }
    setposition1 = k1 * pluse;
    setposition2 = k2 * pluse;
    setposition3 = k3 * pluse;
    Serial.print(pulseIn(ch22, HIGH));
    Serial.print(",");
    Serial.print(pulseIn(ch23, HIGH));
    Serial.print(",");
    Serial.print(pulseIn(ch24, HIGH));
    Serial.print(",");
    Serial.print(setposition1);
    Serial.print(",");
    Serial.print(setposition2);
    Serial.print(",");
    Serial.println(setposition3);
    stepper1.moveTo(setposition1);
    //stepper1.run();   // 1号电机运行
    stepper1.runToPosition();

    stepper2.moveTo(setposition2);
    //stepper2.run();   // 2号电机运行
    stepper2.runToPosition();

    stepper3.moveTo(setposition3);
    //stepper3.run();   // 3号电机运行
    stepper3.runToPosition();
}

3.1.2 腾讯云遥控机械臂小车

物联网云平台搭建,登录 物联网开发平台 https://console.cloud.tencent.com/iotexplorer ,选择公共实例
在这里插入图片描述
具体搭建可参考:基于CH32V307和TtencentOS Tiny的物联网心率监测:https://bbs.21ic.com/icview-3272416-1-1.html
最后效果,物理模型如下
在这里插入图片描述
小程序控制面板定义
在这里插入图片描述

三元素查看,此部分会在代码中定义连接腾讯云。
在这里插入图片描述

3.2 任务逻辑调度

可以使用MRS选择呢CH32V307建立一个带有TencentOS工程文件,也可以使用TencentOS自带的文件。gitee可以下载到 TencentOS-tiny的源代码:https://gitee.com/Tencent/TencentOS-tiny
本次CH307设计了两个线程,第一个线程是MQTT发布订阅,另外一个线程是与Arduino双向通讯,通过虚拟开关和实体开关开切换。

在这里插入图片描述
程序部分架构主要参考基于CH32V307&腾讯连连小程序的二氧化碳TVOC环境监测仪:https://bbs.21ic.com/icview-3273948-1-1.html,在此非常感谢🎉🎉🎉

4. 实验测试

按照硬件需求检查接线,然后开始测试,可以打开腾讯云实时查看上发数据
在这里插入图片描述
打开手机APP
在这里插入图片描述
需要通过虚拟开关和实体开关开切换控制模式,目前只支持先腾讯云后富斯遥控器顺序,因此开关闭合使得Arduino的13号(默认拉高)引脚输出低电平。

视频演示:https://www.bilibili.com/video/BV15M4y1D7MD/?vd_source=530bf85167de80ff1628de3bdb9da898

5. 总结

  • 这是我第三次参加嵌入式相关的网上比赛活动,第一次是RT-Thread的【基于RT-Thread+RA6M4的智能鱼缸系统设计之鱼我所欲也】活动,作品是2022年暑假做的获得第六名,还是比较开心!第二次2023年寒假做的是基于MAX7800羽毛板语音控制ESP8266小车,成绩还没有出来,感觉还不错。
  • 这次最大的收获是实现了两种远程控制方式进行通讯,腾讯云打通实在不可思议,幸亏朱宇飞克服遥控器控制,让我备受鼓舞!
  • 这次最大的遗憾是腾讯云的小程序控制延时较大感觉有两秒左右,大家也可以尝试优化程序任务的空间复杂度,来减少影响。
  • 非常感谢沁恒微电子官方组织的第二届“RISC-V MCU 创新应用大赛”,大家都为这个国内嵌入式生态出一份力,只要努力认真做了都会有所收获,期盼这些作品在将来某一天为构建美好未来贡献一份微博之力!
    我后期会持续更新我测评的一系列国内开发板测评,🛹🛹🛹每天都一点点结合实际需求联动丰富生活,从而实现对外部世界进行充分的感知,尽最大努力认识这个有机与无机的环境,科学地合理地进行创作和发挥效益,然后为人类社会发展贡献一点微薄之力。🤣🤣🤣
    🥳🥳🥳再次非常感谢硬禾官方支持和朱宇飞同学(遥控器玩的贼溜)等等🥳🥳🥳期待这一次的成绩哟!

参考文献:

  • CH32V307使用GPIO模拟I2C驱动TVOC、CO2eq传感器SGP30:https://bbs.21ic.com/icview-3273394-1-1.html
  • 基于CH32V307&腾讯连连小程序的二氧化碳TVOC环境监测仪:https://bbs.21ic.com/icview-3273948-1-1.html
  • 基于CH32V307和TtencentOS Tiny的物联网心率监测:https://bbs.21ic.com/icview-3272416-1-1.html
  • CH32V307数据手册:https://www.wch.cn/downloads/CH32V20x_30xDS0_PDF.html
  • CH32V307参考手册:https://www.wch.cn/downloads/CH32FV2x_V3xRM_PDF.html
  • 评估板说明及参考例程:https://www.wch.cn/downloads/CH32V307EVT_ZIP.html
  • CH343SER.ZIP串口地址:https://www.wch.cn/downloads/CH343SER_ZIP.html
  • MRS最新V1.51版本安装包:www.mounriver.com
  • 环境搭建教程:https://blog.csdn.net/VOR234/article/details/128932474
  • 【沁恒WCH CH32V307V-R1开发板两路ADC读取实验】:https://blog.csdn.net/VOR234/article/details/128941074
  • 【沁恒WCH CH32V307V-R1开发板读取板载温度实验】:https://blog.csdn.net/VOR234/article/details/128941832
  • 【沁恒WCH CH32V307V-R1开发板输出DAC实验】:https://blog.csdn.net/VOR234/article/details/128942550
  • 【沁恒WCH CH32V307V-R1的单线半双工模式串口通讯】:
    https://blog.csdn.net/VOR234/article/details/128943395
  • 【沁恒WCH CH32V307V-R1与Arduino的串口通讯】:https://blog.csdn.net/VOR234/article/details/128993169

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/348523.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

46.在ROS中实现global planner(2)

前文实现了一个global planner的模板&#xff0c;并且可以工作&#xff0c;本文将实现astar算法&#xff0c;为后续完成一个astar global planner做准备 1. AStar简介 1.1 AStar Astar算法是一种图形搜索算法,常用于寻路。Astar算法原理网上可以找到很多&#xff0c;简单的说…

企业/品牌新闻稿怎么写?

撰写出优质的企业/品牌新闻稿对于任何一个希望通过新闻媒体推广自己品牌的公司来说都是十分重要的。在新闻稿中&#xff0c;您可以通过介绍自己的公司&#xff0c;披露最新的产品和服务信息以及宣传最新的成就来吸引媒体和读者的关注。下面是一些关于如何撰写出优质的企业/品牌…

【工具篇】Firmwalker车联网实用小工具介绍

前言 firmwalker这个小工具在工作中也一直在用&#xff0c;正好领导说要写一篇这个工具的分析说明文章&#xff0c;经过询问可以发表博客。由于一直在用&#xff0c;所以末尾优劣势部分存在一些主观想法。 编写不易&#xff0c;如果能够帮助到你&#xff0c;希望能够点赞收藏加…

SpringCloud, SpringCloud-Alibaba,Nacos概述

目录 SpingCloud概述 1.SpringCloud是什么? 2.SpringCloud和SpringBoot的关系 3.SpringCloud-Alibaba概述 3.1.Netflix公司项目进入维护模式 3.2.Spring Cloud Alibaba是什么&#xff1f; 3.3.Spring Boot和Spring Cloud的版本号说明 3.Nacos总结 SpingCloud概述 1.Spri…

蓝桥杯刷题——基础篇(一)

这部分题目&#xff0c;主要面向有志参加ACM与蓝桥杯竞赛的同学而准备的&#xff0c;蓝桥杯与ACM考察内容甚至评测标准基本都一样&#xff0c;因此本训练计划提供完整的刷题顺序&#xff0c;循序渐进&#xff0c;提高代码量&#xff0c;巩固基础。因竞赛支持C语言、C、Java甚至…

【JAVA八股文】算法、数据结构、基础设计模式

算法、数据结构、基础设计模式1. 二分查找2. 冒泡排序3. 选择排序4. 插入排序5. 希尔排序6. 快速排序7. ArrayList8. Iterator9. LinkedList10. HashMap1&#xff09;基本数据结构2&#xff09;树化与退化3&#xff09;索引计算4&#xff09;put 与扩容5&#xff09;并发问题6&…

从lettcue插件看skywalking

lettcue 的写操作是异步的。io.lettuce.core.RedisChannelWriter.write进行写入&#xff0c;io.lettuce.core.protocol.RedisCommand进行异步读取数据 skywalking 插件大体逻辑 在方法执行前&#xff0c;通过ContextManager创建span创建span的同时&#xff0c;判断trace上下文…

零信任-Akamai零信任介绍(6)

​Akamai零信任介绍 Akamai是一家专注于分布式网络服务的公司&#xff0c;它提供了一系列的互联网内容和应用加速服务。关于Akamai的零信任&#xff0c;它指的是Akamai的安全架构中不存在任何一个环节是可以被单独的控制或影响的&#xff0c;因此可以提供更高的安全性。通过使…

ChatGPT is not all you need,一文看尽SOTA生成式AI模型:6大公司9大类别21个模型全回顾(三)

文章目录ChatGPT is not all you need&#xff0c;一文看尽SOTA生成式AI模型&#xff1a;6大公司9大类别21个模型全回顾&#xff08;三&#xff09;Text-to-Text 模型ChatGPTLaMDAPEERMeta AI Speech from BrainText-to-Code 模型CodexAlphacodeText-to-Science 模型GalacticaM…

超简单!pytorch入门教程:Tensor

超简单&#xff01;pytorch入门教程&#xff1a;Tensor 一、pytorch安装 安装pytorch之前&#xff0c;需要安装好python&#xff08;废话&#xff09;&#xff0c;还没安装过python的宝宝请先移步到廖雪峰的python教程&#xff0c;待安装熟悉完之后&#xff0c;再过来这边。 …

C代码中访问链接脚本中的符号

一、目的在之前的《GNU LD脚本命令语言&#xff08;一&#xff09;》、《GNU LD脚本命令语言&#xff08;二&#xff09;》我们介绍了GNU链接脚本的知识点&#xff0c;基本上对链接脚本中的SECTION、REGION、以及加载地址与执行地址的关系等内容有了一定的了解。本篇主要讲解链…

工业4.0是如何优化垃圾处理行业的

如今&#xff0c;工业4.0正在影响着制造业和物流等行业&#xff0c;其发展潜力在未来还有望进一步扩大。一些全球领先的垃圾处理公司已经开始在水处理和废物回收等领域应用工业4.0。工业4.0的创新给这个领域带来了一些必要的改进。随着环境危机的加剧&#xff0c;垃圾处理行业面…

2022年最新数据库调查报告:超八成DBA月薪过万,你拖后腿了吗?

数据库管理员属于IT行业高薪职业的一种&#xff0c;近几年关于数据库管理员的薪资统计文章也层出不穷&#xff0c;那么当前&#xff0c;DBA们的薪资究竟到达了怎样的水平呢&#xff1f;墨天轮数据社区发布最新《2022年墨天轮数据库大调查报告》&#xff0c;数据显示超八成DBA月…

《MySQL学习》 全局锁和表锁

一.MySQL锁的分类 二.全局锁 全局锁对整个数据库加锁&#xff0c;可以执行如下命令&#xff0c;整个数据库都将处于只读状态。 Flush tables with read lock ;我们可以执行 unlock table进行解锁 unlock table ;读操作 非读操作&#xff08;阻塞&#xff09; 全局锁的典型使…

【并发编程】【2】进程与线程

并发编程 2.进程与线程 2.1 进程与线程 进程 程序由指令和数据组成&#xff0c;但这些指令要运行&#xff0c;数据要读写&#xff0c;就必须将指令加载至 CPU&#xff0c;数据加载至内存。在 指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管…

开源大数据分析工具有几大内容?

在数据越来越重要的今天&#xff0c;数据管理的重要性不言而喻。引用专业的开源大数据分析工具可以为企业实现数字化办公&#xff0c;提升效率&#xff0c;提高数据管理品质和效率。我们今天就一起来了解下开源大数据分析工具的详细内容吧。 一、实现数据分析的重要性 在以前&a…

Java面试——Spring 事务

目录 1.什么是Spring 事务 2.Spring 事务的开启方式 3.Spring事务的实现方式/原理 4.事务传播机制 5.事务隔离级别 6.事务失效的原因 1.什么是Spring 事务 事务在逻辑上是一组操作&#xff0c;要么执行&#xff0c;要不都不执行。 如下&#xff1a; Begin; insert into…

【java】Spring Boot --spring boot项目整合xxl-job

文章目录1、源码下载地址2.文档地址3.源码结构4.初始化数据库脚本5.配置调度中心xxl-job-admin5.1 修改调度中心配置文件&#xff1a;/xxl-job/xxl-job-admin/src/main/resources/application.properties5.2 启动调度中心5.3 访问调度中心管理界面6.创建执行器项目6.3 载入配置…

Framework——【MessageQueue】消息队列

定义 队列是 Apache RocketMQ 中消息存储和传输的实际容器&#xff0c;也是 Apache RocketMQ 消息的最小存储单元。 Apache RocketMQ 的所有主题都是由多个队列组成&#xff0c;以此实现队列数量的水平拆分和队列内部的流式存储。 队列的主要作用如下&#xff1a; 存储顺序性…

BUUCTF-练习场-WEB-第一部分(8道)

[极客大挑战 2019]EasySQL 1payload&#xff1a;1 or 11#是闭合前面的查询语句&#xff0c;or 11恒成立&#xff0c;可以使用or句子绕过判断&#xff0c;#用于注释&#xff0c;注释后面的内容不再执行&#xff0c;所以该sql命令会返回表内所有内容&#xff0c;其实就是实现一个…