Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
EC20
ESP8266
AT_DEVICE 2.0.3 rtthread 4.0.2链接不了多台设备
发布于 2021-04-16 11:39:39 浏览:1216
订阅该版
AT_DEVICE 2.0.3版本 rtthread 4.0.2版本 ESP8266和EC20各自用不同的三元组链接阿里云,在at_socket只会调用第一个注册的去链接阿里云,假如ESP8266先注册的AT_DEVICE,那么两个三元组都会通过ESP8266链接到阿里云,EC20这个设备根本不会被用到,现在想要独立开来使用,两个设备各链接一个三元组信息到阿里云
查看更多
3
个回答
默认排序
按发布时间排序
flashman2002
2021-04-16
这家伙很懒,什么也没写!
这在逻辑上没有问题,你注册2个AT_DEVICE就好了,可以分别使用ESP8266和EC20。关键是你的代码逻辑有无问题,请展示你的关键代码。
Jone
2021-04-16
写了还是懒
这种情况就相当于双网卡了吧,这有个选网口通信的[例程](https://blog.csdn.net/chenyefei/article/details/78655094) AT_Socket API比较有限,不一定能这样用,试试看吧
lchnu
2021-08-19
Witness, Understand, Skill
我尝试过用ESP32和Sim7600ce连接同一个MQTT服务器,通过切换默认网卡解决。用了kawaii-mqtt 1.1.0,at_device 2.0.4。 我的测试代码如下。但是,kawaii-mqtt有断线重连机制,建议在kawaii_mqtt_demo函数中,增加一个断线重连的回调函数,在回调函数中,根据任务的info再次进行默认网卡切换;否则,在断线重连后,依然只有一张网卡起作用。 ```c typedef struct _client_info{ char netdev_name[64]; struct netdev *netdev; char cid[64]; char sub_topic[128]; char pub_topic[128]; }client_info; static client_info esp32_demo_topics = {0}; static client_info sim7600ce_demo_topics = {0}; static int demo_mqtt(int argc, char *argv[]) { rt_thread_t tid_mqtt; client_info *info; struct netdev *netdev = RT_NULL; if (argc != 2) { rt_kprintf("demo_mqtt [default_netdev_name] --expected default network interface device.\n"); return -1; } rt_kprintf("input parameters are: %s %s \n", argv[0], argv[1]); netdev = netdev_get_by_name(argv[1]); if (netdev == RT_NULL) { rt_kprintf("not find network interface device name(%s).\n", argv[1]); return -1; } /* 设置线程名称 */ rt_snprintf(tid_name, sizeof(tid_name), "mqtt_%s", argv[1]); /* 设置默认网卡对象 */ netdev_set_default(netdev); rt_kprintf("demo_mqtt set default network interface device(%s) success.\n", argv[1]); /* 根据输入的网卡名称 设置MQTT topics相关信息*/ if (0 == strcmp(argv[1],"sim7600ce")) { info = &esp32_demo_topics; } else if (0 == strcmp(argv[1],"esp32")) { info = &sim7600ce_demo_topics; } rt_snprintf(info->netdev_name, sizeof(info->netdev_name), "%s", argv[1]); info->netdev = netdev; rt_snprintf(info->cid, sizeof(info->cid), "rtthread_%s", argv[1]); rt_snprintf(info->sub_topic, sizeof(info->sub_topic), "server/%s", info->cid); rt_snprintf(info->pub_topic, sizeof(info->pub_topic), "client/%s", info->cid); tid_mqtt = rt_thread_create(tid_name, kawaii_mqtt_demo, (void *)info, 2048, 17, 10); if (tid_mqtt == RT_NULL) { return -RT_ERROR; } /* only for test */ if (RT_FALSE == is_salof_init) { mqtt_log_init(); is_salof_init = RT_TRUE; } rt_thread_startup(tid_mqtt); return RT_EOK; } MSH_CMD_EXPORT(demo_mqtt, Kawaii MQTT client test program); ```
撰写答案
登录
注册新账号
关注者
0
被浏览
1.2k
关于作者
繁星点点
这家伙很懒,什么也没写!
提问
5
回答
1
被采纳
0
关注TA
发私信
相关问题
1
关于ESP8266的配网
2
at device跑esp8266, 总是提示缓冲区不够,应该怎么解决?
3
at device跑esp8266提示连接超时
4
ESP8266 连接问题
5
AT组件配网问题 ESP8266微信配网
6
请问一下esp8266能在at指令组件下支持ap模式吗
7
esp8266用paho-mqtt出现溢出
8
ONENET+esp8266连接报错
9
ESP8266通过smartconfig配网?
10
esp8266 WiFi名设成中文后 打不开RT_Thread Settings
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
LVGL使用字库IC芯片显示中文
2
基于STM32H750和Rt-Thread的CANFD通信实现的记录(一)
3
freemodbus主机在freertos的适配,参考rtthread例程
4
开源共生 商业共赢 | RT-Thread 2024开发者大会议程正式发布!
5
【24嵌入式设计大赛】基于RT-Thread星火一号的智慧家居系统
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
SFUD
msh
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1443
个答案
289
次被采纳
张世争
805
个答案
174
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
4
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
1
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部