【雕爷学编程】Arduino动手做(193)---移远 BC20 NB+GNSS模块8

news2024/11/27 21:03:00

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百九十三:Gravity: I2C & UART BC20 NB-IoT & GNSS通信模块
NB-IoT广域低功耗无线通信 GPS/北斗精准定位 户外物联网必备

在这里插入图片描述
在这里插入图片描述
知识点:移远BC20
BC20 是一款高性能、低功耗、多频段、支持 GNSS 定位功能的 NB-IoT 无线通信模块。其尺寸仅为 18.7 mm × 16.0 mm× 2.1 mm,能最大限度地满足终端设备对小尺寸模块产品的需求,同时有效帮助客户减小产品尺寸并优化产品成本。

BC20 在设计上兼容移远通信 GSM/GPRS/GNSS 系列 MC20 模块,方便客户快速、灵活的进行产品设计和升级。BC20提供丰富的外部接口和协议栈,同时支持中国移动 OneNET、中国电信 IoT 以及阿里云 IoT 等物联网云平台,为客户的应用提供极大的便利。

基于先进的 GNSS 技术,BC20 可支持 BeiDou 和 GPS 双卫星导航系统解调算法,使其定位更加精准、抗多路径干扰能力更强,比传统的单 GPS 定位模块具有更多优势。另外,BC20 模块内置 LNA 和低功耗算法:前者保证更高的灵敏度,后者保证低功耗模式下更低的耗流。

相较传统的 NB-IoT + GNSS 方案,BC20 的一体化设计使其体积减少 40 %。凭借其紧凑尺寸、超低功耗和超宽工作温度范围,BC20 在各种应用中占具更大优势;其主要应用领域为:自行车和摩托车防盗、宠物追踪、金融财产追踪及行车记录仪等等。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百零九:Gravity: I2C & UART BC20 NB-IoT & GNSS通信模块
NB-IoT广域低功耗无线通信 GPS/北斗精准定位 户外物联网必备
项目十三:通过串口查询全球导航卫星系统GLL协议的信息

实验开源代码

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百零九:Gravity: I2C & UART BC20 NB-IoT & GNSS通信模块
  NB-IoT广域低功耗无线通信 GPS/北斗精准定位 户外物联网必备
  项目十三:通过串口查询全球导航卫星系统GLL协议的信息
  实验接线:
  BC20       UNO
  VIN        5V
  GND        GND
  SCL        A5
  SDA        A4
*/

#include "DFRobot_BC20_Gravity.h"

//RGB有7种颜色可供选择
#define  RED 0
#define  BLUE 1
#define  GREEN 2
#define  YELLOW 3
#define  PURPLE 4
#define  CYAN 5
#define  WHITE 6

//IIC通讯
#define USE_IIC

//硬件串口通讯
//#define USE_HSERIAL

//软件串口通讯
//#define USE_SSERIAL

DFRobot_BC20_IIC myBC20(0x33);

void setup() {
  Serial.begin(115200);
  myBC20.LED_OFF();

  //初始化 BC20
  Serial.print("正在启动BC20,请稍等...... ");
  myBC20.changeColor(RED);
  while (!myBC20.powerOn()) {
    Serial.print(".");
    myBC20.LED_ON();
    delay(500);
    myBC20.LED_OFF();
    delay(500);
  }
  Serial.println("BC20 启动成功!");

  //禁用睡眠模式
  myBC20.configSleepMode(eSleepMode_Disable);

  //启动 GNSS
  Serial.print("打开全球导航卫星系统...  ");
  myBC20.setQGNSSC(ON);
  myBC20.changeColor(YELLOW);
  if (myBC20.getQGNSSC() == OFF) {
    Serial.print(".");
    myBC20.LED_ON();
    delay(500);
    myBC20.LED_OFF();
    delay(500);
  }
  Serial.println("GNSS 开启");
  myBC20.changeColor(CYAN);
}

void loop() {
  myBC20.getQGNSSRD(NMEA_GLL);

  /*
    UTC 时间,格式:hhmmss.ss,例如。162436.54 => 16:24:36.54
    h - 小时
    m - 分钟
    s - 秒
  */
  Serial.print("UTC 时间: ");
  Serial.println(sGLL.UTC_Time());

  /*
     纬度,格式:ddmm.mmmmm,例如。3150.7820 => 31 度 50.7820 分钟
     d - 度
     m - 分钟
  */
  Serial.print("纬度: ");
  Serial.print(sGLL.LatitudeVal());

  /*
     北纬或南纬
     N - 北
     S - 北
  */
  Serial.print(" ");
  Serial.println(sGLL.LatitudeDir());

  /*
     经度,格式:dddmm.mmmmm,例如。12135.6794 => 121 度 35.6794 分钟
     d - 度
     m - 分钟
  */
  Serial.print("经度: ");
  Serial.print(sGLL.LongitudeVal());
  Serial.print(" ");

   /*
     经度标识
     E - 东
     W - 西
  */
  Serial.println(sGLL.LongitudeDir());

  /*
     数据状态
     V - 无效
     一个有效的
  */
  Serial.print("数据状态: ");
  Serial.println(sGLL.DataStatus());

 /*
     定位方式
     N - 没有修复
     A - 自主 GPS 定位
     D - 差分 GPS 定位
  */
  Serial.print("定位模式: ");
  Serial.println(sGLL.PositionMode());
  Serial.println();
  Serial.println();
  myBC20.clearGPS();

  myBC20.LED_ON();
  delay(500);
  myBC20.LED_OFF();
#ifndef ARDUINO_ESP32_DEV
  delay(500);
#else
  delay(5000);
#endif
}

实验串口返回情况

在这里插入图片描述

NMEA协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的BTCM(海事无线电技术委员会)标准,由美国国家海洋电子协会(NMEA-The National Marine Electronics Associa-tion)制定的一套通讯协议。GPS接收机根据NMEA-0183协议的标准规范,将位置、速度等信息通过串口传送到PC机、MCU等设备。

NMEA-0183协议是GPS接收机应当遵守的标准协议,也是目前GPS接收机上使用最广泛的协议,大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。

NMEA通讯协议所规定的通讯语句都已是以ASCII码为基础的,NMEA-0183协议语句的数据格式如下:“ ”为语句起始标志;“,”为域分隔符;“ ∗ ”为校验和识别符,其后面的两位数为校验和,代表了“ ”为语句起始标志;“,”为域分隔符;“ *”为校验和识别符,其后面的两位数为校验和,代表了“ 为语句起始标志;为域分隔符;为校验和识别符,其后面的两位数为校验和,代表了”和“*”之间所有字符的按位异或值(不包括这两个字符)。

NMEA0183标准语句(GPS常用语句)

G P G L L 例: GPGLL 例: GPGLL例:GPGLL,4250.5589,S,14718.5084,E,092204.999,A*2D
字段0:$GPGLL,语句ID,表明该语句为Geographic Position(GLL)地理定位信息
字段1:纬度ddmm.mmmm,度分格式(前导位数不足则补0)
字段2:纬度N(北纬)或S(南纬)
字段3:经度dddmm.mmmm,度分格式(前导位数不足则补0)
字段4:经度E(东经)或W(西经)
字段5:UTC时间,hhmmss.sss格式
字段6:状态,A=定位,V=未定位
字段7:校验值

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百零九:Gravity: I2C & UART BC20 NB-IoT & GNSS通信模块
NB-IoT广域低功耗无线通信 GPS/北斗精准定位 户外物联网必备
项目十四:通过串口查询全球导航卫星系统GSA协议的信息

实验开源代码

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百零九:Gravity: I2C & UART BC20 NB-IoT & GNSS通信模块
  NB-IoT广域低功耗无线通信 GPS/北斗精准定位 户外物联网必备
  项目十四:通过串口查询全球导航卫星系统GSA协议的信息
  实验接线:
  BC20       UNO
  VIN        5V
  GND        GND
  SCL        A5
  SDA        A4
*/

#include "DFRobot_BC20_Gravity.h"

//RGB有7种颜色可供选择
#define  RED 0
#define  BLUE 1
#define  GREEN 2
#define  YELLOW 3
#define  PURPLE 4
#define  CYAN 5
#define  WHITE 6

//IIC通讯
#define USE_IIC

//硬件串口通讯
//#define USE_HSERIAL

//软件串口通讯
//#define USE_SSERIAL

DFRobot_BC20_IIC myBC20(0x33);

void setup() {
  Serial.begin(115200);
  myBC20.LED_OFF();

  //初始化 BC20
  Serial.print("正在启动BC20,请稍等...... ");
  myBC20.changeColor(RED);
  while (!myBC20.powerOn()) {
    Serial.print(".");
    myBC20.LED_ON();
    delay(500);
    myBC20.LED_OFF();
    delay(500);
  }
  Serial.println("BC20 启动成功!");

  //禁用睡眠模式
  myBC20.configSleepMode(eSleepMode_Disable);

  //启动 GNSS
  Serial.print("打开全球导航卫星系统...  ");
  myBC20.setQGNSSC(ON);
  myBC20.changeColor(YELLOW);
  if (myBC20.getQGNSSC() == OFF) {
    Serial.print(".");
    myBC20.LED_ON();
    delay(500);
    myBC20.LED_OFF();
    delay(500);
  }
  Serial.println("GNSS 开启");
  Serial.println("查询全球导航卫星系统GSA协议");
  myBC20.changeColor(CYAN);
}

void loop() {
  myBC20.getQGNSSRD(NMEA_GSA);

  Serial.print("模式\t\t");
  for (uint8_t i = 0; i < sGSA.NUM; i++) {
    /*
       选择 2D 或 3D 修复
       'M'=手动,强制切换2D/3D模式
       'A'=允许自动切换2D/3D模式
    */
    Serial.print(sGSA.data[i].Mode());
    Serial.print("\t\t");
  }
  Serial.println();

  Serial.print("修复状态\t");
  for (uint8_t i = 0; i < sGSA.NUM; i++) {
    Serial.print(sGSA.data[i].FixStatus());
    Serial.print("\t\t");
  }
  Serial.println();

  Serial.print("系统ID\t");
  for (uint8_t i = 0; i < sGSA.NUM; i++) {
    Serial.print(sGSA.data[i].GNSS_SystemID());
    Serial.print("\t\t");
  }
  Serial.println();

  //每个频道使用的卫星列表
  for (uint8_t i = 0; i < 12; i++) {
    Serial.print("CH");
    Serial.print(i + 1);
    Serial.print("\t\t");
    for (uint8_t j = 0; j < sGSA.NUM; j++) {
      Serial.print(sGSA.data[j].Statellite_CH(i));
      Serial.print("\t\t");
    }
    Serial.println();
  }
  //水平精度因子
  Serial.print("水平精度因子\t\t");
  for (uint8_t i = 0; i < sGSA.NUM; i++) {
    Serial.print(sGSA.data[i].PDOP());
    Serial.print("\t\t");
  }
  Serial.println();

  //垂直精度因子
  Serial.print("垂直精度因子\t\t");
  for (uint8_t i = 0; i < sGSA.NUM; i++) {
    Serial.print(sGSA.data[i].HDOP());
    Serial.print("\t\t");
  }
  Serial.println();

  Serial.print("VDOP\t\t");
  for (uint8_t i = 0; i < sGSA.NUM; i++) {
    Serial.print(sGSA.data[i].VDOP());
    Serial.print("\t\t");
  }
  Serial.println();

  Serial.println();
  myBC20.clearGPS();

  myBC20.LED_ON();
  delay(500);
  myBC20.LED_OFF();
#ifndef ARDUINO_ESP32_DEV
  delay(500);
#else
  delay(5000);
#endif
}

实验串口返回情况

在这里插入图片描述

NMEA0183标准语句(GPS常用语句)

G P G S A 例: GPGSA 例: GPGSA例:GPGSA,A,3,01,20,19,13,40.4,24.4,32.2*0A
字段0:$GPGSA,语句ID,表明该语句为GPS DOP and Active Satellites(GSA)当前卫星信息
字段1:定位模式,A=自动2D/3D,M=手动2D/3D
字段2:定位类型,1=未定位,2=2D定位,3=3D定位
字段3:PRN码(伪随机噪声码),第1信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段4:PRN码(伪随机噪声码),第2信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段5:PRN码(伪随机噪声码),第3信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段6:PRN码(伪随机噪声码),第4信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段7:PRN码(伪随机噪声码),第5信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段8:PRN码(伪随机噪声码),第6信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段9:PRN码(伪随机噪声码),第7信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段10:PRN码(伪随机噪声码),第8信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段11:PRN码(伪随机噪声码),第9信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段12:PRN码(伪随机噪声码),第10信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段13:PRN码(伪随机噪声码),第11信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段14:PRN码(伪随机噪声码),第12信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段15:PDOP综合位置精度因子(0.5 - 99.9)
字段16:HDOP水平精度因子(0.5 - 99.9)
字段17:VDOP垂直精度因子(0.5 - 99.9)
字段18:校验值

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百零九:Gravity: I2C & UART BC20 NB-IoT & GNSS通信模块
NB-IoT广域低功耗无线通信 GPS/北斗精准定位 户外物联网必备
项目十五:通过串口查询全球导航卫星系统GSV协议的信息

实验开源代码

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百零九:Gravity: I2C & UART BC20 NB-IoT & GNSS通信模块
  NB-IoT广域低功耗无线通信 GPS/北斗精准定位 户外物联网必备
  项目十五:通过串口查询全球导航卫星系统GSV协议的信息
  实验接线:
  BC20       UNO
  VIN        5V
  GND        GND
  SCL        A5
  SDA        A4
*/

#include "DFRobot_BC20_Gravity.h"

//RGB有7种颜色可供选择
#define  RED 0
#define  BLUE 1
#define  GREEN 2
#define  YELLOW 3
#define  PURPLE 4
#define  CYAN 5
#define  WHITE 6

//IIC通讯
#define USE_IIC

//硬件串口通讯
//#define USE_HSERIAL

//软件串口通讯
//#define USE_SSERIAL

DFRobot_BC20_IIC myBC20(0x33);

void Display_Satellite_Information() {
  Serial.print(sSAT.NUM);
  Serial.println(" 颗卫星在视图中");

  //卫星 PRN 号码
  Serial.print("卫星编号\t");
  
  //仰角,单位为度
  Serial.print("仰角(度)\t");
  
  //方位角,单位度
  Serial.print("方位角(度)\t");
  
  //信噪比,单位 dBHz
  Serial.print("信噪比(dBHz)\t");
  Serial.println("系统");
  for (uint8_t i = 0; i < sSAT.NUM; i++) {
    Serial.print(sSAT.data[i].PRN());
    Serial.print("\t");
    Serial.print(sSAT.data[i].Elev());
    Serial.print("\t\t");
    Serial.print(sSAT.data[i].Azim());
    Serial.print("\t\t");
    Serial.print(sSAT.data[i].SNR());
    Serial.print("\t\t");
    Serial.println(sSAT.data[i].SYS());
  }
  Serial.println();
}

void setup() {
  Serial.begin(115200);
  myBC20.LED_OFF();

  //初始化 BC20
  Serial.print("正在启动BC20,请稍等...... ");
  myBC20.changeColor(RED);
  while (!myBC20.powerOn()) {
    Serial.print(".");
    myBC20.LED_ON();
    delay(500);
    myBC20.LED_OFF();
    delay(500);
  }
  Serial.println("BC20 启动成功!");

  //禁用睡眠模式
  myBC20.configSleepMode(eSleepMode_Disable);

  //启动 GNSS
  Serial.print("打开全球导航卫星系统...");
  myBC20.setQGNSSC(ON);
  myBC20.changeColor(YELLOW);
  if (myBC20.getQGNSSC() == OFF) {
    Serial.print(".");
    myBC20.LED_ON();
    delay(500);
    myBC20.LED_OFF();
    delay(500);
  }
  Serial.println("GNSS 开启");
  myBC20.changeColor(CYAN);
}

void loop() {
  myBC20.getQGNSSRD(NMEA_GSV);
  Display_Satellite_Information();
  myBC20.clearGPS();

  myBC20.LED_ON();
  delay(500);
  myBC20.LED_OFF();
#ifndef ARDUINO_ESP32_DEV
  delay(500);
#else
  delay(5000);
#endif
}

实验串口返回情况

在这里插入图片描述

NMEA0183标准语句(GPS常用语句)

G P G S V 例: GPGSV 例: GPGSV例:GPGSV,3,1,10,20,78,331,45,01,59,235,47,22,41,069,13,32,252,45*70
字段0:$GPGSV,语句ID,表明该语句为GPS Satellites in View(GSV)可见卫星信息
字段1:本次GSV语句的总数目(1 - 3)
字段2:本条GSV语句是本次GSV语句的第几条(1 - 3)
字段3:当前可见卫星总数(00 - 12)(前导位数不足则补0)
字段4:PRN 码(伪随机噪声码)(01 - 32)(前导位数不足则补0)
字段5:卫星仰角(00 - 90)度(前导位数不足则补0)
字段6:卫星方位角(00 - 359)度(前导位数不足则补0)
字段7:信噪比(00-99)dbHz
字段8:PRN 码(伪随机噪声码)(01 - 32)(前导位数不足则补0)
字段9:卫星仰角(00 - 90)度(前导位数不足则补0)
字段10:卫星方位角(00 - 359)度(前导位数不足则补0)
字段11:信噪比(00-99)dbHz
字段12:PRN 码(伪随机噪声码)(01 - 32)(前导位数不足则补0)
字段13:卫星仰角(00 - 90)度(前导位数不足则补0)
字段14:卫星方位角(00 - 359)度(前导位数不足则补0)
字段15:信噪比(00-99)dbHz
字段16:校验值

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

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

相关文章

我设置了IIS的默认文档为什么还是提示403 - 禁止访问: 访问被拒绝。

我设置了IIS的默认文档为什么还是提示403 - 禁止访问: 访问被拒绝。 这个问题我是在处理dedeCMS站点时发现的问题 解决方法&#xff1a; 打开IIS》应用程序池》&#xff08;找到你的站点应用池&#xff09;》右键》基本设置》版本&#xff1a;选择2.0》管道&#xff1a;选择“…

Qt6之QListWidget——Qt仿ToDesk侧边栏(1)

一、 QLitWidget概述 注意&#xff1a;本文不是简单翻译Qt文档或者接口函数&#xff0c;而侧重于无代码Qt设计器下演示使用。 QListWidget也称列表框类&#xff0c;它提供了一个类似于QListView提供的列表视图&#xff0c;但是它具有一个用于添加和删除项的经典的基于项的接口…

​币安或面临「美司法部」欺诈指控

作者&#xff1a;维特根斯坦他弟 美国媒体semafor独家报道&#xff0c;知情人士透露&#xff0c;美国司法部正计划对币安提出欺诈指控&#xff0c;但又担心消费者会为此付出的巨大代价。 知情人士表示&#xff0c;联邦检察官担心他们起诉币安&#xff0c;可能会引发该交易所发生…

Django进阶

1.模板 1.1 寻找html模板 TEMPLATES [{BACKEND: django.template.backends.django.DjangoTemplates,DIRS: [os.path.join(BASE_DIR, templates)],APP_DIRS: True,OPTIONS: {context_processors: [django.template.context_processors.debug,django.template.context_process…

开窗积累之学习更新版

1. 开窗使用1之 count range between current row and current row 将相同排序字段的值进行函数计算 selectsku_id,substr(create_date,1,7) date_month,order_id,create_date,sku_num*price,sum(sku_num*price) over (partition by sku_id order by substr(create_date,1,7)…

M2I触摸屏与PLC通信手册下部

其它推荐设置见内部同步、端子块、清除发送CTS置于0V位置。 固定设置在偶校验&#xff0c;数据比特7位&#xff0c;停止比特位在第2比特位上。 (3) C500-LK203 拨动开关设置 开关 设置项目 开关设置状态ON OFFSW1 1~5 制定站号 0 1 2 … 30 31 1 站号设置 OFF ON OFF … OFF…

stable-diffusion-webui 界面汉化

本教程通过安装 sd-webui-bilingual-localization 插件来达到汉化目的, 项目地址为:https://github.com/journey-ad/sd-webui-bilingual-localization 一、安装插件 先进入插件安装界面 在搜索栏搜索 zh_CN Localization 中文语言包, 项目地址: https://github.com/dtlnor/st…

vue+iviewUi+oss直传阿里云上传文件

前端实现文件上传到oss&#xff08;阿里云&#xff09;适用于vue、react、uni-app&#xff0c;获取视频第一帧图片 用户获取oss配置信息将文件上传到阿里云&#xff0c;保证了安全性和减轻服务器负担。一般文件资源很多直接上传到服务器会加重服务器负担此时可以选择上传到oss&…

怎么修改ip地址 手机ip地址如何改

如今的数字化时代&#xff0c;IP地址是连接我们与互联网世界的桥梁。然而&#xff0c;有时我们可能需要修改IP地址以满足特定需求&#xff0c;比如提高网络速度、绕过地理限制等。本文将为您提供修改IP地址的简单步骤和常见问题解答&#xff0c;帮助您轻松完成IP地址修改。 一、…

SciencePub学术 | Elsevier旗下计算机类重点SCIE征稿中

SciencePub学术 刊源推荐: Elsevier旗下计算机类重点SCIE征稿中&#xff01;信息如下&#xff0c;录满为止&#xff1a; 一、期刊概况&#xff1a; 计算机语音类重点SCIE 【期刊简介】IF&#xff1a;4.0-4.5&#xff0c;JCR2区&#xff0c;中科院3区&#xff1b; 【出版社…

NANK南卡签约傅园慧,倡导更健康的听音体验

近日&#xff0c;中国知名骨传导耳机品牌——NANK南卡&#xff0c;正式官宣著名游泳冠军傅园慧成为Nank南卡的品牌推荐大使。 傅园慧是一位备受瞩目的运动员&#xff0c;在游泳领域取得了令人瞩目的成就&#xff0c;不仅如此她独特的个性和乐观向上的态度而闻名&#xff0c;深受…

2023全新UI好看的社区源码下载/反编译版

2023全新UI好看的社区源码下载/反编译版 这次分享一个RuleAPP二开美化版&#xff08;尊重每个作者版权&#xff09;&#xff0c;无加密可反编译版本放压缩包了&#xff0c;自己弄吧&#xff01;&#xff01;&#xff01; RuleAPP本身就是一款免费开源强大的社区&#xff0c;基…

一文5000字从0到1构建高效的接口自动化测试框架思路

在选择接口测试自动化框架时&#xff0c;需要根据团队的技术栈和项目需求来综合考虑。对于测试团队来说&#xff0c;使用Python相关的测试框架更为便捷。无论选择哪种框架&#xff0c;重要的是确保 框架功能完备&#xff0c;易于维护和扩展&#xff0c;提高测试效率和准确性。…

现代C++中的从头开始深度学习【1/8】:基础知识

一、说明 提及机器学习框架与研究和工业的相关性。现在很少有项目不使用Google TensorFlow或Meta PyTorch&#xff0c;在于它们的可扩展性和灵活性。也就是说&#xff0c;花时间从头开始编码机器学习算法似乎违反直觉&#xff0c;即没有任何基本框架。然而&#xff0c;事实并非…

同芯同意创未来——赛意力量 SNP ·南京半导体高科专场

7月28日&#xff0c;“赛意力量全国行”将在南京组织以“同芯同意创未来”为主题的南京半导体高科专场沙龙活动。届时&#xff0c;“赛意力量”将携众优秀企业IT及财务领域嘉宾&#xff0c;开展深度交流&#xff0c;共同为推动科技创新与区域经济发展而出谋划策。 南京作为中国…

并发——线程与进程的关系,区别及优缺点?

文章目录 1. 图解进程和线程的关系2.程序计数器为什么是私有的?3. 虚拟机栈和本地方法栈为什么是私有的?4. 一句话简单了解堆和方法区5. 说说并发与并行的区别? 从 JVM 角度说进程和线程之间的关系 1. 图解进程和线程的关系 下图是 Java 内存区域&#xff0c;通过下图我们…

【echarts】手把手喂饭教学!最容易懂的微信小程序 echarts 项目实践入门教程

前言&#xff1a;echarts是一个使用 canvas 制作图表的组件库&#xff0c;是前端中最常见的数据可视化( DashBoard ) 工具之一。相信很多同学都已经接触过了&#xff0c;但一直局限于使用官网的模板&#xff0c;无法完成个性化的精美图表。如果你也正被 无法使用echarts完成个性…

word单独一页设置页面设置

点击“分隔符——下一页”&#xff0c;这一页就成为了独立的一节&#xff0c;就可以单独设置页面布局了

掌握Python列表的魔法:解密常用方法揭示的编程奥秘!

在Python的编程世界中&#xff0c;列表是你的魔法仓库&#xff0c;能够存储、组织和操控各种数据。这些数据可以是数字、字符串、对象&#xff0c;甚至是其他列表。无论你是新手还是经验丰富的开发者&#xff0c;本篇博客将带你深入探索Python列表的常用方法&#xff0c;揭示这…

python简单知识点大全

python简单知识点大全 一、变量二、字符串三、比较运算符四、随机数4.1、随机整数4.2、随机浮点数4.3、随机数重现 五、数字类型5.1、整数5.2、浮点数5.3、复数 六、数字运算七、内置函数八、布尔类型八、逻辑运算符九、短路逻辑和运算符优先级十、分支和循环10.1、if语句10.2、…