前言: 本小节主要是用202demo增加WiFi获取cJSON的天气数据,过程有点曲折,但数据拿到了,还未在LCD上进行显示。
一、拷贝目录
首先, 将202拷贝一份到203,需要修改.application_config和Kconfig.liteos_m.applications文件,根据修改后的文件自行修改,如图所示修改的demo目录及文件修改。
二、修改文件
其次, 修改wifi_connect.c文件中的SELECT_WIFI_SECURITYTYPE属性为WIFI_SEC_TYPE_OPEN。
然后, 修改wifi_example.c文件。
增加头文件:#include “cJSON.h”
修改WIFI_PWD为空,把WIFI_NAME也修改了。
三、注册获取数据账号
注册心知天气账号及个人用户key,定义心知天气IP及端口号,如图所示。
四、简要说明过程
代码实现过程,我参考网友的实现过程,完整代码我会打包发上来。先说说过程,首先根据202建立WiFi链接,这个只能是open模式下无密码才能连,后面我需要研究一下为啥?连接上之后,给服务器发送GET请求,然后接收请求数据,就是天气相关数据,用第三方库cJSON解析数据,目前还没显示,后面会做,数据回来了,如图所示。
五、编译过程
最后说一下编译过程。
- 修改203目录下的BUILD.gn文件,如图所示,调用第三方库cJSON。
- 回到源码目录的kernel/liteos_m,执行make menuconfig,选中203,如图所示。
- 到源码目录下,执行hb build -f,编译成功,如图所示。
六、下载
- 使用下载工具下载程序,如图所示。
- 复位按键进行复位后,串口打印如下,下载的时候停在那里,说明你的串口被占用着呢。
七、总结
总结:wifi连接上了,数据获取到了,接下来就是显示了,每做一个功能需要查阅不少资料,也从中学到了许多。
*附件:203_wifi_getweather.zip
|