终于可以玩玩模组和stm32通信啦,他们之间的交互就是AT socket,Let’s go~
首先是硬件
一块潘多拉stm32的板子,一块4G模组ml302的板子。
通过ATK模块接口把两块板子连在一起。
软件积木式配置
使用menuconfig进入components->network
-
选择modules-enable iot modules support->ml302,并且配置uart2为ml302设备的io接口
-
然后选择AT->enable at components
使能AT解析的TE模式,使能RAW格式数据;使能at解析放到shell中,使能AT socket。
-
使能NIC全部
-
使能SAL,使能BSD标准API,使能at协议栈的支持
进入at命令发送
配置好以后,执行scons --target=mdk5
生成项目文件,点击project.uvprojx
打开项目,进行编译,然后下载到pandora下运行。
Pandora运行起来以后,会自动进入sh控制台,输入help
可以查看相关支持命令。这里要用的是at_shell
进入at命令模式:
at_shell - OneOS AT Parser shell: at_shell <ta|te [dev_name]>
这里使用的命令是:
at_shell te uart2
为何?因为在menuconfig下就是这么配置的呀。如果要退出at命令模式,进入sh控制台,则按’Esc’即可。
怎么测试sal呢?
如果我只是使用at_shell
,那么其实并没有走网络通道,而只是做了个透传~。啥意思呢?就是说,这时候的串口输入输出,接入的就不是Pandora的板子了,而是模组ml302。
但是,我是要测试AT socket
呀,怎么办呢?自己写一个测试用例。然后让模组ml302和阿里云相连接。
具体到命令就是,在main.c
里面写好测试用例,并把接口tcpclient
给export
到shell中去。然后编译运行,等sh自动启动后,输入:
tcpclient 121.89.166.244 6588