NB-IoT下发指令控制stm32LED灯

NB-IoT简单介绍

NB-Iot(窄带物联网),本次实验用到的型号是stm32F051 + NB86-G。NB-IOT 节点控制模块是有 1.44 寸 LCD 液晶屏、NB-IOT 模块、和传感器节点接口组成。底部有 miniUSB 转串口,方便单独就一个底板进行调试。
下图为 NB-IOT 一键还原+温湿度模块的硬件图片:在这里插入图片描述

NB-IoT串口通信介绍

其他不做介绍,这里只介绍NB串口通信,stm32有两个uart,分别为uart1和uart2,其中uart1用作stm32与串口调试助手通信的,uart2用作stm32与NB86-G进行通信的。所以如果想要在串口调试助手看到uart2 的数据信息,就需要进行数据透传,也就是,从uart2接收的数据发给uart1,uart1接收到的数据再发给uart2,这样就可以在串口调试助手看到数据信息。

NB-IoT上报和下发指令方式

本文章实现的是通过ctwing电信云平台下发指令给开发板,开发板接收到指令之后,分别进行开灯和关灯。
电信云平台提供了python、go、Java等语言的SDK,所以我们除了在平台下发指令界面点击下发指令完成指令的下发,还可以通过平台提供的API接口完成指令的上报和下发功能(当然SDK包提供了多个API接口,根据需求进行使用)。

实验环境

硬件环境

NB-IOT 一键还原板(开发板,包括stm32F051)
ST-Link 下载器
USB 转串口线

软件环境

STM32CubeMX
MDK-Keil5
串口调试助手
电信云平台
VS Code(用python调用API接口)

实验步骤

在实验开始之前,要先搭建好环境,保证开发板启动之后自动上云,云平台产品、设备、应用提前搭建好,本文章不做介绍。

硬件连接,使用CubeMx生成初始化代码

CubeMx配置如下:
在这里插入图片描述
把PB1 GPIO口设置为输出模式,用于LED灯,uart1和uart2设为异步通信模式,波特率为9600。
uart1基本参数,改下波特率,其他默认:
在这里插入图片描述
uart1使能中断:
在这里插入图片描述
uart2基本参数,改下波特率,其他默认:
在这里插入图片描述
uart2使能中断:
在这里插入图片描述
配置完成之后,点击GENERATE CODE生成初始化代码。

使用KEIL5编写业务代码

main.c中添加重定向函数、全局变量:

int fputc(int c, FILE 
  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值