广和通L610_ADP对腾讯云通信笔记——02(STM32F411控制L610)

硬件连接:

在这里插入图片描述
(供电开关打在B5V,使用TTL供电)
接二极管有两个作用
1.防止同一个电脑上两个虚拟串口直通,这样可能导致设备管理器反复枚举(不是必然事件)。
2.可以一个TTL转串口同时监听L610和F411,两个L610和F411的TX因为有背靠背的二极管隔壁不会相连。

AT监听结果:

AT
AT

OK
AT+CPIN?
AT+CPIN?

+CPIN: READY

OK
AT+MIPCALL=1
AT+MIPCALL=1

OK

+MIPCALL: 10.207.83.188
AT+MIPCALL=1
AT+MIPCALL=1

ERROR
AT+TCDEVINFOSET=1,“IGA6ZV5NNK”,“lamp_01”,“n41ziNuSI2jyY3jbYh1HvQ==”
AT+TCDEVINFOSET=1,“IGA6ZV5NNK”,“lamp_01”,“n41ziNuSI2jyY3jbYh1HvQ==”

OK

+TCDEVINFOSET: OK
AT+TCMQTTCONN=1,20000,240,1,1
AT+TCMQTTCONN=1,20000,240,1,1

OK

+TCMQTTCONN: OK
AT+TCMQTTSUB=“ t h i n g / d o w n / p r o p e r t y / I G A 6 Z V 5 N N K / l a m p 0 1 " , 1 A T + T C M Q T T S U B = " thing/down/property/IGA6ZV5NNK/lamp_01",1 AT+TCMQTTSUB=" thing/down/property/IGA6Z

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是基于STM32通过广和通L610通信模组与腾讯云连接的代码示例: ```c #include "stm32f10x.h" #include "gprs.h" #include "string.h" #include "stdio.h" #define APN "CMNET" #define USER "" #define PASS "" #define IP "mqtt.tencentdevices.com" #define PORT 1883 #define CLIENT_ID "my_client_id" #define USERNAME "my_username" #define PASSWORD "my_password" #define MQTT_TOPIC "/my_topic" #define MQTT_QOS 0 #define GPRS_RX_BUF_SIZE 1024 #define GPRS_TX_BUF_SIZE 1024 uint8_t gprs_rx_buf[GPRS_RX_BUF_SIZE]; uint8_t gprs_tx_buf[GPRS_TX_BUF_SIZE]; uint8_t mqtt_rx_buf[GPRS_RX_BUF_SIZE]; uint8_t mqtt_tx_buf[GPRS_TX_BUF_SIZE]; int main(void) { uint8_t ip[16]; uint16_t port; uint8_t client_id[32]; uint8_t username[32]; uint8_t password[32]; uint8_t topic[64]; // 初始化GPRS模块 gprs_init(gprs_rx_buf, GPRS_RX_BUF_SIZE, gprs_tx_buf, GPRS_TX_BUF_SIZE); // 连接GPRS网络 if (!gprs_connect(APN, USER, PASS)) { printf("GPRS connect failed!\n"); while (1); } // 获取IP地址和端口号 if (!gprs_get_ip_port(IP, PORT, ip, &port)) { printf("Get IP and port failed!\n"); while (1); } // 连接MQTT服务器 if (!mqtt_connect(ip, port, client_id, username, password)) { printf("MQTT connect failed!\n"); while (1); } // 发布消息 if (!mqtt_publish(MQTT_TOPIC, MQTT_QOS, "Hello, world!")) { printf("MQTT publish failed!\n"); while (1); } // 订阅消息 if (!mqtt_subscribe(MQTT_TOPIC, MQTT_QOS)) { printf("MQTT subscribe failed!\n"); while (1); } // 接收消息 mqtt_receive(mqtt_rx_buf, GPRS_RX_BUF_SIZE); // 断开MQTT连接 mqtt_disconnect(); // 断开GPRS连接 gprs_disconnect(); while (1); } ``` 其中,`gprs_init`、`gprs_connect`、`gprs_get_ip_port`、`gprs_disconnect`是自定义的GPRS模块初始化、连接、获取IP地址和端口号、断开连接函数;`mqtt_connect`、`mqtt_publish`、`mqtt_subscribe`、`mqtt_receive`、`mqtt_disconnect`是自定义的MQTT连接、发布消息、订阅消息、接收消息、断开连接函数。你需要根据你使用的GPRS模块和MQTT库进行相应的修改。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值