stm32毕业设计 NBIOT远程通信系统

article/2025/8/29 22:17:30

文章目录

  • 1 简介
  • 2 NBIOT 简介
    • 2.1 NBIOT 的特点
    • 2.2 NBIOT 的优点
    • 2.3 NBIOT能做什么
  • NBIOT 模块使用
  • 4 实现效果
  • 5 STM32 驱动NBIOT模块
  • 6 最后


1 简介

Hi,大家好,NBIOT是近几年不比较火的远程通信模块,是物联网的重要技术,今天学长向大家详细介绍什么是NBIOT,NBIOT模块能做什么,以及但单片机如何使用NBIOT模块

单片机与NBIOT通信模块

大家可用于 课程设计 或 毕业设计

2 NBIOT 简介

基于蜂窝的窄带物联网(Narrow Band Internet of Things, NB-IoT)成为万物互联网络的一个重要分支。NB-IoT构建于蜂窝网络,只消耗大约180KHz的带宽,可直接部署于GSM网络、UMTS网络或LTE网络,以降低部署成本、实现平滑升级。

NB-IoT是IoT领域一个新兴的技术,支持低功耗设备在广域网的蜂窝数据连接,也被叫作低功耗广域网(LPWAN)。NB-IoT支持待机时间长、对网络连接要求较高设备的高效连接。据说NB-IoT设备电池寿命可以提高至至少10年,同时还能提供非常全面的室内蜂窝数据连接覆盖。

重点:NBIOT是一种通信技术,是用于通信的!单片机通过该模块可以与外接互联网进行数据交互!

2.1 NBIOT 的特点

  • 频谱窄:200kHz;
  • 终端发射窄带信号提升了信号的功率谱密度,提升了信号的覆盖增益,并且提升了频谱利用效率;
  • 相同的数据包重复传输也可获得更好的覆盖增益;
  • 另外该技术降低了终端的激活比,降低了终端基带的复杂度。
  • NB-IOT四大能力:广覆盖,海量连接,更低功耗,更低芯片成本。
  • NB-IOT基于现有蜂窝网络的技术,可以通过升级现网来快速支持行业市场需求,成为GUL网络上的第四种模式。

2.2 NBIOT 的优点

  • NB-IOT与其他的LPWA技术LoRa,Sigfox的比较优势
  • 可以重用现网资源,支持广覆盖
  • 标准化技术,支持切换移动性好。产业链丰富
  • 20dB+增益(vs GSM)
  • 授权频谱,抗干扰性好

2.3 NBIOT能做什么

  • 智能水表
  • 智能停车
  • 宠物智能跟踪
  • 智能自行车
  • 智能烟雾检测器
  • 智能马桶
  • 智能售货机
  • 等等等等

NBIOT 模块使用

这里以市面上常见的NB260模块为例:
在这里插入图片描述
NB260是基于移远NB-IOT模块:BC26的小系统板,板载了IPEX射频天线座,5V转3.3V LDO稳压电源,MicroSIM卡座,ESD防护电路,开机电路等,即插即用。

NB260小系统板采用2.54标准间距排针,引出BC26模块的全部可用GPIO口,整板尺寸仅 25mm*33.02mm,便于嵌入到客户产品中。

支持的频段
在这里插入图片描述

引脚信号

NB260引脚排列如下图所示。

CON1(P1)右侧一列信号为:GND,VIN,TXD,RXD,PEN,RST,EINT,NRI(NRI电压域1.8V,若用作唤醒MCU,可以简单串联1K电阻然后上拉后与MCU的GPIO口相连。),该列信号还与NB101,NB200兼容,可以相互替换。

在这里插入图片描述

SIM卡槽

NB260采用自弹式MicroSIM卡槽,注意SIM卡插入方向为:卡缺口朝外。

工作模式

在这里插入图片描述

4 实现效果

(以下为学长作品)
stm32 + NBIOT模块构建的家庭烟雾报警系统(智能家居的一部分)
在这里插入图片描述

在这里插入图片描述

NBIOT指纹签到系统:

在这里插入图片描述

5 STM32 驱动NBIOT模块

#include"nbiot.h"
/***************************************************************************************
函数名:send_NB_IoT
功  能:发送数据到NB模块
参  数:cmd 要发送的数据或者命令
返回值:
例  子:
说  明: 
****************************************************************************************/
void send_NB_IoT(u8 *cmd)
{while(*cmd!='\0'){USART_SendData(USART2,*cmd++);while(USART_GetFlagStatus(USART2,USART_FLAG_TXE)==Bit_RESET);	//发送数据结束}
}/***************************************************************************************
函数名:NB_IoT_ack_chack
功  能://检查NB模块应答是否符合预期   
参  数:
返回值:
例  子:
说  明:  memset(a, 0, sizeof a);  //清空数组  
****************************************************************************************/
u8 NB_IoT_ack_chack(u8 *str)
{delay_ms(10);if(USART2_RX_STA!=0){USART2_RX_STA=0;if(strstr((const char*)USART2_RX_BUF,(const char*)str))//符合预期{ memset(USART2_RX_BUF,0, sizeof USART2_RX_BUF);    return 0;}else //不符合预期  { memset(USART2_RX_BUF,0, sizeof USART2_RX_BUF);    return 1;}                             	} else { memset(USART2_RX_BUF,0, sizeof USART2_RX_BUF);  //清空数组  		 return  1;}
}
u8 NB_IotConect()
{u8 x=1;cmd1:send_NB_IoT("AT\r\n");//  指令测试if(!NB_IoT_ack_chack("OK"))  x=0;else   goto cmd1;return x;
}
/***************************************************************************************
函数名:NB_IoT_ZDFW
功  能:自动附着网络
参  数:
返回值:
例  子:
说  明:
****************************************************************************************/
u8 NB_IoT_ZDFW()
{u8  x=0;
cmd1: send_NB_IoT("AT+NCONFIG=AUTOCONNECT,TRUE\r\n") ;  if(!NB_IoT_ack_chack("OK"))  x++ ;else   goto cmd1;
cmd2: send_NB_IoT("AT+CFUN=1\r\n") ;     if(!NB_IoT_ack_chack("OK"))  x++ ;else   goto cmd2;		
cmd3: send_NB_IoT("AT+NRB\r\n") ; if(!NB_IoT_ack_chack("REBOOTING"))  x++ ;else   goto cmd3;	//确认自动附网
cmd4:	send_NB_IoT("AT+NBAND?\r\n");  if(!NB_IoT_ack_chack("+NBAND:5"))  x++ ;else   goto cmd4;		
cmd5: send_NB_IoT("AT+CFUN?\r\n"); if(!NB_IoT_ack_chack("+CFUN:1"))   x++ ;else   goto cmd5;		
cmd6: send_NB_IoT("AT+CIMI\r\n");if(!NB_IoT_ack_chack("460113007651563")) x++ ;else   goto cmd6;		
cmd7:send_NB_IoT("AT+CSQ\r\n");  //确认信号质量第一个参数应该 1-30 之间delay_ms(10);if(USART2_RX_BUF[7]>'0'&&USART2_RX_BUF[7]<'3'){memset(USART2_RX_BUF,0, sizeof USART2_RX_BUF); USART2_RX_STA=0;x++ ;}else {memset(USART2_RX_BUF,0, sizeof USART2_RX_BUF); USART2_RX_STA=0;goto cmd7;}	
cmd8: send_NB_IoT("AT+CGATT?\r\n");if(!NB_IoT_ack_chack("+CGATT:1")) x++ ;else   goto cmd8;
cmd9:send_NB_IoT("AT+CEREG?\r\n");if(!NB_IoT_ack_chack("+CEREG:0,1")) x++ ;else   goto cmd9;
cmd10:send_NB_IoT("AT+CSCON?\r\n");if(!NB_IoT_ack_chack("+CSCON:0")) x++ ;else   goto cmd10;  		 
cmd11:send_NB_IoT("AT+CGPADDR\r\n"); if(!NB_IoT_ack_chack("+CGPADDR:0,10.")) x++ ;else   goto cmd11; if(x==11)  return 0;//自动附着网络成功else       return 1;//自动附网失败}
/***************************************************************************************
函数名:NB_IoT_conect_COAP
功  能:COAP连接
参  数:
返回值:
例  子:
说  明:
****************************************************************************************/
u8 NB_IoT_conect_COAP()
{u8  x=0;
cmd1: send_NB_IoT("AT+CGSN=1\r\n") ;  if(!NB_IoT_ack_chack("+CGSN:356566078248721"))  x++ ;else   goto cmd1;
cmd2: send_NB_IoT("AT+NCDP=180.101.147.115,5683\r\n") ;     if(!NB_IoT_ack_chack("OK"))  x++ ;else   goto cmd2;	
cmd3: send_NB_IoT("AT+NRB\r\n") ; if(!NB_IoT_ack_chack("REBOOTING"))  x++ ;else   goto cmd3;	
cmd4:	send_NB_IoT("AT+NCDP?\r\n");  if(!NB_IoT_ack_chack("+NCDP:180.101.147.115,5683"))  x++ ;else   goto cmd4;			
cmd5: send_NB_IoT("AT+NSMI=1\r\n"); if(!NB_IoT_ack_chack("OK"))   x++ ;else   goto cmd5;		
cmd6: send_NB_IoT("AT+NNMI=2\r\n");if(!NB_IoT_ack_chack("OK")) x++ ;else   goto cmd6;
cmd7:			send_NB_IoT("AT+NMGS=3,000102\r\n");  if(!NB_IoT_ack_chack("OK")) x++ ;else   goto cmd7;if(x==7)  return 0;//COAP连接成功else      return 1; //COAP连接失败
}
/***************************************************************************************
函数名:NBIoTInit
功  能:NBIoT初始化
参  数:
返回值:
例  子:
说  明:
****************************************************************************************/
void	NBIoTInit(){NB_IotConect();NB_IoT_ZDFW();NB_IoT_conect_COAP();
//		      send_NB_IoT("AT+NMGS=10,53544d33325f4e423735\r\n"); //发送设备名字:STM32_NB75
//		    POINT_COLOR=BLUE;	//设置字体为蓝色 
//				LCD_ShowString(50,80 ,250,16,16,"NBIoT conecting...");
//				if (!NB_IotConect())           LCD_ShowString(50,80 ,250,16,16,"NB_IotConect success!");
//				else                          LCD_ShowString(50,80 ,250,16,16,"NB_IotConect error!!");
//				LCD_ShowString(50,100 ,250,16,16,"NBIoT Net conecting...");
//				if(!NB_IoT_ZDFW())     		    LCD_ShowString(50,100,250,16,16,"NBIoT ZDFW success!                  ");					 //自动附着网络
//				else                          LCD_ShowString(50,100,250,16,16,"NBIoT ZDFW error!                     "); 
//				LCD_ShowString(50,120 ,250,16,16,"NBIoT COAP conecting...");
//				if(!NB_IoT_conect_COAP())			LCD_ShowString(50,120,250,16,16,"NBIoT COAP success!        ");//COAP连接
//				else                          LCD_ShowString(50,120,250,16,16,"NBIoT COAP error!         ");
//		     send_NB_IoT("AT+NMGS=2,0005\r\n");  }

6 最后


http://chatgpt.dhexx.cn/article/UGTcL5U6.shtml

相关文章

NB-IoT技术实战开发 ----- NB-IoT介绍

一.1------初识NB-IoT 1、NB-IoT介绍2、 物联网技术发展2.1有线物联网2.2 无线网络网 3、为什么需要NB-IOT4、NB-IOT优势5、NB-IOT解决方案亮点和价值5.1 广覆盖5.2 低功耗5.3低成本5.4 大连接 6、NB-IOT的应用1.智能抄表2.智能停车3.宠物跟踪4.else 1、NB-IoT介绍 NB-----Na…

【物联网】LoRa vs NBIoT

LoRa &#xff08;Long Range&#xff09; VS NB-IoT&#xff08;Narrow Band Internet of Things&#xff09; LoRa和NB&#xff0d;IoT是什么 通常物联网设备分为三类&#xff1a; 无需移动性&#xff0c;大数据量&#xff0c;需较宽频段&#xff1b;移动性强&#xff0…

物联网协议之NBIOT

什么是NBIOT 在物联网行业目前常用的网络通信技术主要有以下这些&#xff1a; nbiot属于一种LTE网络&#xff0c;LTE网络是目前主流的通信网络&#xff0c;覆盖完整、技术成熟&#xff0c;未来大量物联网设备都需要在LTE网络中实现通讯功能。Cat.X这个值是用来衡量用户终端设…

浅谈NBIOT

一、什么是NBIOT&#xff1f; 1、概念 窄带物联网&#xff08;Narrow Band Internet of Things, NB-IoT&#xff09;&#xff0c;NB-IoT构建于蜂窝网络&#xff0c;只消耗大约180KHz的带宽&#xff0c;使用License频段&#xff0c;可采取带内、保护带或独立载波等三种部署方式…

【物联网毕设基础】NBIOT 窄带物联网

文章目录 1 简介2 NBIOT简介3NB的型号介绍3.1 BC95:3.2 BC35&#xff1a;3.3 BC28&#xff1a;3.4 BC26&#xff1a;3.5 BC20&#xff1a;3.6 BC30&#xff1a; 4 NB物联网卡5 OpenCPU6 BC260模块详解6.1 基本性能6.2 引脚介绍6.3 模块供电 7 其他注意点8 最后 1 简介 Hi&…

NB-IoT学习笔记 —— NB-IoT介绍

一、简介 NB-IoT 是指窄带物联网&#xff08;Narrow Band Internet of Things&#xff09;技术&#xff0c;是一种低功耗广域&#xff08;LPWA&#xff09;网络技术标准&#xff0c;基于蜂窝技术&#xff0c;用于连接使用无线蜂窝网络的各种智能传感器和设备&#xff0c;聚焦于…

淘宝客解析url优惠链接获取商品ID

淘宝客解析商品链接获取PID 优惠链接都有一个e参数&#xff0c;提取e参数&#xff0c;直接解析e参数就可以获取推广链接的商品ID&#xff1b; 这是一个优惠推广链接:https://uland.taobao.com/coupon/edetail?ed4tkoUeRofIN%2BoQUE6FNzDiOaI9VHkxMoEVLjjyR2S%2Bki3b8ti%2Bp7j…

ANSI/CAN/UL 1973:2022 固定和运动辅助电源用电池安规要求-最新的英文2022完整版{135页}

ANSI/CAN/UL 1973:2022 Batteries for Use in Stationary andMotive Auxiliary Power Applications 固定和运动辅助电源用电池 UL1973-2022&#xff08;February25,2022&#xff09;.pdf-其它文档类资源-CSDN下载UL1973-2022&#xff08;February25,2022&#xff09;.pdf更多下…

java测试示例-生成ULID

ULID全称Universally Unique Lexicographically Sortable Identifier&#xff0c;直译就是通用唯一按字典排序的标识符&#xff0c;原始仓库是https://github.com/ulid/javascript&#xff0c;由前端开发者alizain发起&#xff0c;基于JavaScript语言。从项目中的commit历史来看…

scrapy_splash简单爬取淘宝页面信息

首先打开淘宝页面&#xff0c;搜索手机&#xff1a; https://uland.taobao.com/sem/tbsearch?refpidmm_26632258_3504122_32538762&clk104511dd93dde330d86022e9ce3a3dc46&keyword手机&page0 # 新建scrapy项目 scrapy startproject taobao # 进入项目目录: cd t…

淘宝API 优惠券查询接口

淘宝API 优惠券查询接口 item_search_coupon - 优惠券查询 返回值说明: 返回数据: Result Object: {“item”: [ {“pic_url”: “https://img.alicdn.com/bao/uploaded/i4/4190751820/O1CN01mohpC11PJbKKu33Gj_!!4190751820.jpg”, “num_iid”: “584401368799”, “se…

UL-1973-2022 储能电池安全标准

UL1973储能电池安全标准 UL-1973版发布于2013年2月15日&#xff0c;&#xff0c;最新更新2022年版。是全球储能电池系统的安全标准&#xff0c;标准主要涵盖给光伏、风能、后备电源、通信基站使用的各类储能电池&#xff0c;并包括对储能系统的结构评估和测试评估。UL1973-2022…

淘宝API 优惠券查询

item_search_coupon - 优惠券查询 Result Object: {“item”: [ {“pic_url”: “https://img.alicdn.com/bao/uploaded/i1/260030441/O1CN01jITAtS1F81EP8GV2T_!!0-item_pic.jpg”, “num_iid”: “562341312840”, “seller_id”: “260030441”, “title”: “预售红蜻蜓商…

Python + selenium 爬取淘宝网(销量,店铺名,价格等)

import time from selenium import webdriver from lxml import etreedef Run(keywords, numPage):# 构造无头的ChromeDriveroption webdriver.ChromeOptions()option.add_argument(headless)driver webdriver.Chrome(executable_pathD:\\Project\\Pycharm\\Driver\\chromedr…

python爬虫爬取淘宝商品并保存至mongodb数据库

使用工具介绍 python3.8 selenium&#xff08;请确保你已经成功安装了谷歌驱动chromedriver&#xff09; mongodb数据库 mongo-compass 谷歌浏览器 分析请求链接 打开淘宝首页的链接&#xff0c;https://www.taobao.com/如下&#xff1a; 这里以商品ipad为例&#xff0c;在搜索…

sfjd

一、声像资料 &#xff08;一&#xff09;监控视频

ftp服务器和sftp服务器

首先&#xff0c;ftp跟sftp是一种传输协议&#xff0c;一种安全&#xff0c;一种不安全。其中经过实践发现要有相对于的服务器才能实现上传跟下载&#xff0c;不能混淆使用。 windows中ftp服务器的建立方法&#xff1a;第一种&#xff1a;系统自带的ftp 开启服务&#xff1a;…

JFFS2

文章目录 一、JFFS2介绍1、JFFS2简介2、JFFS2框架 二、JFFS2实现1、JFFS2的机制2、JFFS2数据结构1&#xff09;struct jffs2_sb_info2&#xff09;struct jffs2_inode_info3&#xff09;struct jffs2_raw_node_ref4&#xff09;struct jffs2_inode_cache5&#xff09;struct jf…