历史天气数据接口(使用RTT语音控制获取心知天气信息)

硬件环境

ART-PI(其他开发板也可以)

LD3320语音模块

板载wifi(ESP8266也可以)

“一张会说话的嘴”

软件环境

RT-Thread studio 版本2.1.1

  • 软件包

webclient V2.1.2

mbedTLS V2.7.10.1

cjson V1.7.14

netutils V1.3.1

fal V0.5.0

本次的知识点还是相当的丰富的,搬好小板凳,泡杯茶,坐一会慢慢看吧...

wifi配置

在LD3320的工程基础之上,来添加wifi,ART-PI上板载的wifi模组是AP6212,是蓝牙于wifi一体的模组,本次我们只使用wifi功能

历史天气数据接口(使用RTT语音控制获取心知天气信息)(1)

在setting勾选即可,对应的宏为ART_PI_USING_WIFI_6212_LIB,勾选之后,工程会自动添加相关宏定义控制的代码

历史天气数据接口(使用RTT语音控制获取心知天气信息)(2)

历史天气数据接口(使用RTT语音控制获取心知天气信息)(3)

完了,CTRL S保存到我们的工程就可以了...好像啥也没干,来看看效果是怎样的

在控制台可以看到,很多关于网络的配置已经初始化完成了,终端输入wifi,可以看到几个关于wifi的指令,本次用到的是wifi的AP功能,连接家里的wifi

历史天气数据接口(使用RTT语音控制获取心知天气信息)(4)

输入wifi scan,来看看附近都有哪些“hot pot”,还是有几个的,也不隐藏了,欢迎过来蹭网~

历史天气数据接口(使用RTT语音控制获取心知天气信息)(5)

使用wifi join命令加入网络即可,千万不要跟着教程输入我家的...

wifi join "你家热点名称" "你家无线密码"

网络状况好像不太好,还重连了,顺便把重连功能验证了,连接成功之后,可以看到是自动获取IP地址的,输入ifconfig,来看看获取到的地址相关的,DHCP功能是使能的

历史天气数据接口(使用RTT语音控制获取心知天气信息)(6)

接下来,开发板“点灯”,网络经典ping百度...还算比较顺利

历史天气数据接口(使用RTT语音控制获取心知天气信息)(7)

就这样,我们的wifi就完成了,对,就这样...一行代码没写,sun le dog,好怀念写代码的日子

这样直接添加wifi功能的方式,掉电是不会保存wifi信息的,需要重新wifi join

HTTPS访问组件配置webclient 软件包

setting->Add->输入webclient->确认找到对应软件包

历史天气数据接口(使用RTT语音控制获取心知天气信息)(8)

双击打开可以详细看到关于此软件包的用法

点击获取1V1嵌入式学习规划,现在还送100G精选学习资料http://makerschool.mikecrm.com/6R13y5p

历史天气数据接口(使用RTT语音控制获取心知天气信息)(9)

历史天气数据接口(使用RTT语音控制获取心知天气信息)(10)

-点击软件包,进入详细配置界面,

  • Enable webclient GET/POST samples :添加示例代码;
  • Select TLS mode :配置开启 HTTPS 支持,选择支持的模式
  • Not support:不支持 TLS 功能
  • SAL TLS support:配置 SAL 组件中 TLS 功能支持,SAL 组件中抽象 TLS 操作,用户还需要手动配置开启使用的 TLS 软件包类型(目前只支持 MbedTLS 软件包)
  • MbedTLS support:配置 MbedTLS 功能支持
  • Version :配置软件包版本

历史天气数据接口(使用RTT语音控制获取心知天气信息)(11)

mbedtls软件包

使能mbedtls功能之后,mbedtls软件包自动添加,mbedTLS(前身 PolarSSL)是一个由 ARM 公司开源和维护的 SSL/TLS 算法库。其使用 C 编程语言以最小的编码占用空间实现了 SSL/TLS 功能及各种加密算法,易于理解、使用、集成和扩展,方便开发人员轻松地在嵌入式产品中使用 SSL/TLS 功能

历史天气数据接口(使用RTT语音控制获取心知天气信息)(12)

详细配置

  • Select Root Certificate ---> # 选择证书文件
  • mbedtls: An portable and flexible SSL/TLS library # 打开 mbedtls 软件包
  • Store the AES tables in ROM # 将 AES 表存储在 ROM 中
  • Maximum window size used # 用于点乘的最大“窗口”大小(2-7)(3584) Maxium fragment length in bytes # 配置数据帧大小
  • Enable a mbedtls client example # 开启 mbedtls 测试例程
  • Enable Debug log output # 开启调试 log 输出
  • version (latest) ---> # 选择软件包版本,默认为最新版本

历史天气数据接口(使用RTT语音控制获取心知天气信息)(13)

注意:

在调试的时候,获取不同的信息时,有时候返回的数据量太大,报错-0x7200

历史天气数据接口(使用RTT语音控制获取心知天气信息)(14)

不要慌,百度错误码,可能是数据buffer太小了,增大buffer即可解决

历史天气数据接口(使用RTT语音控制获取心知天气信息)(15)

历史天气数据接口(使用RTT语音控制获取心知天气信息)(16)

关于证书的内容就比较多了,小伙伴可以自行百度或者查看mbedtls软件包的使用教程

netutils

这里汇集了 RT-Thread 可用的全部网络小工具集合,你所需要的小工具都可以在这里找到。

历史天气数据接口(使用RTT语音控制获取心知天气信息)(17)

TLS 握手是证书验证需要时间的验证,添加此网络工具用于时间同步

原文作者:果果小师弟

原文链接:https://mp.weixin.qq.com/s/9IF-v7Z6clFyzeMOPjtUPw

原文标题:使用RTT语音控制获取心知天气信息

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页