Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
网络学习营
网络编程学习】+the boy no Name + 阿里云的接入
发布于 2018-08-23 15:52:26 浏览:2299
订阅该版
[tocm] ## 硬件环境 原子F429开发板,路由器, ## 软件环境 阿里云物联网平台、rtthread 相关组件 ## 一.阿里物联网平台产品和设备的创建。 1.登陆阿里物联网平台 [阿里物联网平台](https://www.aliyun.com/productiot?spm=a2c4g.11186623.1146454.720.1fee41e2QCfych) 2.单击管理控制台进入开发者界面。 (如果没有注册,可能先要注册、登陆)。 3.点击产品文档->快速入门(基础版)。 里面有详细的产品和设备创建说明。根据手册一步一步完成创建。记录下设备三元组(ProductKey、DeviceName、DeviceSecret),设备注册时需要用到。第一次创建完事之后设备状态为未激活。 二:rhthread阿里组件的添加,使用。 1.使能Ali-iotkit组件。 ![1.png](/uploads/201808/23/154939dz9xf1965s96cj7z.png) 如果之前使能过onenet组件和PahoMQTT组件,需要关掉他们,不然编译会出问题。(可能在menuconfig中关掉之后scons构建时还会自动添加,手动删掉文件夹就好了。)2.lwip协议栈相关的配置。 ![2.png](/uploads/201808/23/154940cc4k77llkc7klckr.png) 对于`socket abstraction layer`中,一定要使能`support lwip stack`选项功能。 3.保存。Scons –target=mdk5 构建。完事keil编译、下载。三.阿里云接入实验 程序运行起来之后,在控制台上输入ifconfig查看网络配置(lwip配置中启动了DHCP自动获取ip功能). ![3.png](/uploads/201808/23/154940p0cxkfxvkqvffhxg.png) 外网连接成功后,控制台上输入ali_mqtt_test start启动例程。 ![4.png](/uploads/201808/23/154940zf71f1gjrsf090uj.png) 从调试信息可以看出,设备连接成功了。此时阿里云上的此设备也由未激活变成了在线。如图: ![5.png](/uploads/201808/23/154940wzwr7wxhfym7w6p7.png) 输入 `ali_mqtt_test pub open` 来发布一条消息。 可以看到云端成功接收: ![6.png](/uploads/201808/23/154940c0tyzgy00dugbytt.png) ![7.png](/uploads/201808/23/154940wcjl81g1jl8tj88u.png) 输入`ali_mqtt_test stop` 来结束连接。此时刷新云端,发现设备变为离线。 ![8.png](/uploads/201808/23/154940nm6iupqf6pa6n251.png) ![9.png](/uploads/201808/23/154940xvkkimkkvip646kt.png) 四:实验过程中遇到的问题 1.组件之间的互相影响 在开通阿里云组件时,需要卸载paho mqtt 组件,不然很多变量、函数重复定义。 2.一定要使能`supportlwip stack`选项,要不然,此函数`sal_proto_family_register()`得不到调用,导致数组`proto_families[]`没有被初始化,进而导致`sal_getaddrinfo()`获取不到数据。 而阿里云组件在连接时会调用此函数。导致直接返回错误,进而连接失败。 失败现象如下: ![10.png](/uploads/201808/23/154940igdr02gdnf6eiee4.png)
查看更多
4
个回答
默认排序
按发布时间排序
yqiu
2018-08-23
这家伙很懒,什么也没写!
:victory:
slyant
2018-08-28
这家伙很懒,什么也没写!
aliyun物联,测试过Enable SSL么?我试了下,好像不行,没看明白什么问题? ``` msh />ali_mqtt_test start [inf] iotx_device_info_init(40): device_info created successfully! [dbg] iotx_device_info_set(50): start to set device info! [dbg] iotx_device_info_set(64): device_info set successfully! [dbg] guider_print_dev_guider_info(271): .................................................... [dbg] guider_print_dev_guider_info(272): ProductKey : a1FE4qOdVs4 [dbg] guider_print_dev_guider_info(273): DeviceName : st01 [dbg] guider_print_dev_guider_info(274): DeviceID : a1FE4qOdVs4.st01 [dbg] guider_print_dev_guider_info(276): .................................................... [dbg] guider_print_dev_guider_info(277): PartnerID Buf : ,partner_id=example.demo.partner-id [dbg] guider_print_dev_guider_info(278): ModuleID Buf : ,module_id=example.demo.module-id [dbg] guider_print_dev_guider_info(279): Guider URL : [dbg] guider_print_dev_guider_info(281): Guider SecMode : 2 (TLS + Direct) [dbg] guider_print_dev_guider_info(283): Guider Timestamp : 2524608000000 [dbg] guider_print_dev_guider_info(284): .................................................... [dbg] guider_print_dev_guider_info(290): .................................................... [dbg] guider_print_conn_info(248): ----------------------------------------- [dbg] guider_print_conn_info(249): Host : a1FE4qOdVs4.iot-as-mqtt.cn-shanghai.aliyuncs.com [dbg] guider_print_conn_info(250): Port : 1883 [dbg] guider_print_conn_info(253): ClientID : a1FE4qOdVs4.st01|securemode=2,timestamp=2524608000000,signmethod=hmacsha1,gw=0,ext=0,partner_id=example.demo.partner-id,module_id=example.demo.module-id| [dbg] guider_print_conn_info(255): TLS PubKey : 080e4fe8 ('-----BEGIN CERTI ...') [dbg] guider_print_conn_info(258): ----------------------------------------- host: a1fe4qodvs4.iot-as-mqtt.cn-shanghai.aliyuncs.com [inf] iotx_mc_init(1703): MQTT init success! [inf] _ssl_client_init(175): Loading the CA root certificate ... cert. version : 3 serial number : 04:00:00:00:00:01:15:4B:5A:C3:94 issuer name : C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA subject name : C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA issued on : 1998-09-01 12:00:00 expires on : 2028-01-28 12:00:00 signed using : RSA with SHA1 RSA key size : 2048 bits basic constraints : CA=true key usage : Key Cert Sign, CRL Sign [inf] _ssl_parse_crt(143): crt content:451 [inf] _ssl_client_init(183): ok (0 skipped) [inf] _TLSConnectNetwork(345): Connecting to /a1fe4qodvs4.iot-as-mqtt.cn-shanghai.aliyuncs.com/1883... msh />[inf] _TLSConnectNetwork(358): ok [inf] _TLSConnectNetwork(363): . Setting up the SSL/TLS structure... [inf] _TLSConnectNetwork(373): ok [inf] _TLSConnectNetwork(408): Performing the SSL/TLS handshake... [inf] _TLSConnectNetwork(412): failed ! mbedtls_ssl_handshake returned -0x7200 [inf] _network_ssl_disconnect(514): ssl_disconnect [inf] HAL_SSL_Destroy(530): handle is NULL [err] iotx_mc_connect(2001): TCP or TLS Connection failed [inf] HAL_SSL_Destroy(530): handle is NULL [inf] iotx_mc_disconnect(2129): mqtt disconnect! [inf] iotx_mc_release(2175): mqtt release! mqtt_client|275 :: MQTT construct failed [err] LITE_dump_malloc_free_stats(594): WITH_MEM_STATS = 0 mqtt_client|346 :: out of sample! ```
guoweilkd
2018-08-28
这家伙很懒,什么也没写!
>aliyun物联,测试过Enable SSL么?我试了下,好像不行,没看明白什么问题? --- -0x7200 查一下他的错误原因吧
slyant
2018-08-28
这家伙很懒,什么也没写!
>-0x7200 查一下他的错误原因吧 ```c #define MBEDTLS_ERR_SSL_INVALID_RECORD -0x7200 /**< An invalid SSL record was received. */ ```
撰写答案
登录
注册新账号
关注者
0
被浏览
2.3k
关于作者
guoweilkd
这家伙很懒,什么也没写!
提问
18
回答
10
被采纳
0
关注TA
发私信
相关问题
1
【LWIP学习营】第一关开发环境搭建
2
LWIP学习营第一周入门移植问题汇总贴
3
【LWIP学习营】f407+lan8720A小结
4
【LwIP学习营】【第一周】仅零散记录,无主题
5
【LWIP学习营】正点原子探索者F407+LAN8720第一周小结
6
【LwIP学习营】【第一周】网络通信基础及实现TCP 聊天客户端
7
【LwIP学习营】【第一周】LWIP移植
8
【LwIP学习营】【第一周】LWIP移植
9
【LwIP学习营】【第一周】开发板适配
10
【LwIP学习营】【第一周】环境搭建和配置验证
推荐文章
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
使用RC522软件包驱动FM1722
2
常量数据类型和表达式陷阱分享
3
进行i2c驱动移植的经验总结
4
在VSCode中使用clang-format
5
我该如何使用这个微雪的WIFI400 WIFI-LPB-100在rtt里或者我该怎样为它开发驱动
热门标签
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
UART
WIZnet_W5500
ota在线升级
freemodbus
PWM
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
编译报错
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1444
个答案
289
次被采纳
张世争
809
个答案
175
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
Woshizhapuren
1
篇文章
5
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部