资源简介
STM32+MQTT+SIM800使用AT指令实现;
通过自建服务器测试完成,支持连接、订阅、发布、心跳保持;
全部使用AT指令控制;
代码片段和文件信息
#include “gpio.h“
#include “MQTTPacket.h“
u8 ch_print=OS_UART2; //printf选择串口
u32 Sys_addr; //设备地址
const char* MQTT_sub_names[] = //预存主题信息
{
“ask“ “update““set“ “ping“
};
const char* MQTT_qusn_names[] = //预存内容信息
{
“CH1PV“ “CH2PV““CH3PV“ “CH4PV“
};
/**********************************
预定义内容GPRS模组数据部分
***********************************/
u8 SIM900_sys;
u8 SIM900_count;
u8 SIM900_rx_en;
u8 SIM900_rx_ok;
u8 SIM900_rssi;
u8 SIM900_ccid[21];
/**********************************
预定义内容定时器3数据部分
***********************************/
u8 Timer3_S1cut; //定时器累加
u8 Timer3_count; //定时器累加
u8 Timer3_fg1s; //定时器心跳累加
u8 Timer3_cmd_cut; //发送命令累加
/**********************************
预定义内容串口1数据部分
***********************************/
u8 S1_receive_flag; //串口1接受完成标志位
u8 S1_sendend_flag; //串口1发送完成标志位
u8 Si_rec_timeout; //串口1超时
u8 S1TData[300]; //发送缓冲区
u8 S1RData[800]; //接收缓冲区
u16 S1_Rx_Len; //接收长度
/**********************************
预定义内容MQTT数据部分
***********************************/
u8 MQTT_login; //MQTT连接状态
u8 MQTT_heart_flag; //MQTT心跳发送标志
u8 MQTT_rxok_flag; //MQTT收包完成标识
u8 MQTT_suback; //MQTT订阅标志
u8 MQTT_rxsub[50]; //MQTT接收主题
u8 MQTT_rxbuf[600]; //MQTT接收内容
u16 MQTT_packid=1; //MQTT报文标识符
/**********************************
预定义内容串口3数据部分
***********************************/
u8 S3_recstart_flag; //串口3接受开始标志位
u8 S3_receive_flag; //串口3接受完成标志位
u8 S3_send_flag; //串口3发送标志位
u8 S3_time_cunt; //串口3超时
u8 S3_error_cnt; //串口3错误计数
u8 S3TData[10]; //发送缓冲区
u8 S3RData[10]; //接收缓冲区
u8 S3_Rx_Len; //接收长度
/**********************************
预定义内容外设数据部分
***********************************/
u16 Device_i; //外设数据
#if 0
#define EN485 PBout(1) //DS0
//LED端口定义
#define LED1 PBout(5) //DS0
#define LED2 PBout(4) //DS0
//GSM模组端口定义
#define GSM_PWR PAout(15) //DS0
#define GSM_RST PBout(3) //DS0
#endif
//初始化独立看门狗
//prer:分频数:0~7(只有低3位有效!)
//分频因子=4*2^prer.但最大值只能是256!
//rlr:重装载寄存器值:低11位有效.
//时间计算(大概):Tout=((4*2^prer)*rlr)/40 (ms).
void IWDG_Init(u8 preru16 rlr)
{
IWDG->KR=0X5555; //使能对IWDG->PR和IWDG->RLR的写
IWDG->PR=prer; //设置分频系数
IWDG->RLR=rlr; //从加载寄存器 IWDG->RLR
IWDG->KR=0XAAAA; //reload
IWDG->KR=0XCCCC; //使能看门狗
}
//喂独立看门狗
void IWDG_Feed(void)
{
IWDG->KR=0XAAAA; //reload
}
void gpio_init(void)
{
RCC->APB2ENR|=1<<0; //关闭JTAG功能
AFIO->MAPR&=0xF8FFFFFF;
AFIO->MAPR|=1<<25;
RCC->APB2ENR|=1<<3; //使能PORTB时钟
RCC->APB2ENR|=1<<2; //使能PORTA时钟
GPIOA->CRH&=0x0FFFFFFF; //PA高端口初始化
GPIOA->CRH|=0x70000000; //1-GSM_PWR
GPIOB->CRH&=0xFFF0FFFF; //PB高端口初始化
GPIOB->CRH|=0x00070000; //1-GSM_DRT
GPIOB->CRL&=0xF0000F0F; //PB低端口初始化
GPIOB->CRL|=0x04337030; //2-LED 1-GMS_RST 1-EN_485
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3475 2018-09-21 10:31 HARDWARE\gpio.c
文件 2537 2018-09-21 10:31 HARDWARE\gpio.h
文件 235814 2017-11-22 08:57 OBJ\can.crf
文件 506 2017-11-22 08:57 OBJ\can.d
文件 265668 2017-11-22 08:57 OBJ\can.o
文件 700 2018-09-21 10:19 OBJ\crc.crf
文件 62 2018-09-21 10:19 OBJ\crc.d
文件 10332 2018-09-21 10:19 OBJ\crc.o
文件 223238 2018-09-21 10:19 OBJ\delay.crf
文件 324 2018-09-21 10:19 OBJ\delay.d
文件 237548 2018-09-21 10:19 OBJ\delay.o
文件 244912 2018-09-21 10:32 OBJ\device.crf
文件 1131 2018-09-21 10:32 OBJ\device.d
文件 257372 2018-09-21 10:32 OBJ\device.o
文件 238639 2018-01-10 14:59 OBJ\display.crf
文件 645 2018-01-10 14:59 OBJ\display.d
文件 270516 2018-01-10 14:59 OBJ\display.o
文件 243644 2018-09-21 10:32 OBJ\eeprom.crf
文件 903 2018-09-21 10:32 OBJ\eeprom.d
文件 263920 2018-09-21 10:32 OBJ\eeprom.o
文件 19 2018-09-19 10:35 OBJ\ExtDll.iex
文件 241304 2018-09-21 10:32 OBJ\gpio.crf
文件 761 2018-09-21 10:32 OBJ\gpio.d
文件 252012 2018-09-21 10:32 OBJ\gpio.o
文件 237902 2018-01-15 08:59 OBJ\key.crf
文件 649 2018-01-15 08:59 OBJ\key.d
文件 255652 2018-01-15 08:59 OBJ\key.o
文件 229492 2018-01-10 14:59 OBJ\lcd.crf
文件 440 2018-01-10 14:59 OBJ\lcd.d
文件 258964 2018-01-10 14:59 OBJ\lcd.o
............此处省略170个文件信息
相关资源
- AG35 AT指令
- esp8266创建MQTT任务,订阅接收和发布发
- 中兴北斗模块MG2810AT指令集
- 基于STM32控制SIM800C打电话发短信程序
- 基于STM32的MQTT移植
- windows下基于QT5.7的mqttClient测试上位机
- SIM800C模块参考例程.7z
- 百度云IoT物联网平台 -ESP8266-MQTT 1路开
- OneNet云IoT物联网平台 ESP8266 MQTT 1路开
- 中兴物联ME3630模块AT指令手册_V2.0
- stm32f1+sim800c全部代码GPRS短信电话等
- MT2503或FreeRTOS上移植MQTT协议
- stm32通过esp8266把温湿度和gps地图上传
- 用STM32实现sim800c透传
- 华为ME909s模块AT指令集
- STM32_MQTT_TCP.rar
- stm32 + w5500 + MQTT
- MQTT-client for D7
- utdMQTT-client for D7
- SIM800L_硬件设计手册_V1.1.pdf
- SIM800_datasheet.pdf
- STM32+ESP8266+MQTT接入OneNet 通过手机APP控
- paho.mqtt.c 树莓派交叉编译版本SDK
- L620 NBIOT AT指令手册
- STM32+MQTT协议功能实现
- MQTT-ESP8266.rar
- 4G AT指令集 4G模块硬件设计指南 Modu
- sim800上传温湿度到onenet
- 基于STM32F1和ESP8266的MQTT数据传输
- 通讯猫-mqtt测试软件
评论
共有 条评论