[AliOS-Things入门] 让MK3060连接网络

前面我们已经将自己的开发板 MK3060 跑起来了,不过也仅仅是跑起来了。作为一个 WiFi 模组,如果 WiFi 的功能都未被使用的话,岂不是贻笑大方。所以,我们还得想办法把网络跑起来。

关于 AliOS 的系列博客,请参考 AliOS-Things系列学习笔记-目录

使用 mqttapp

我们现在以 mqttapp 为例,因为 helloworld 例程里面缺少一些关于 wifi 的命令。

其它一些例程也带有比 helloworld 更完整的 wifi 命令,例如 coapapp、alinkapp、atapp 等。

将 mqttapp 烧写到板子并上电后,在串口终端中输入 help。

![](help.png)

我们主要关注用黄框圈出的几个命令,这些命令是与 WiFi 相关的。

开发板作为 WiFi 客户端

当开发板作为 WiFi 客户端(即 sta)时,需要连接到一个 WiFi 热点才能进行通信。这里又可以分为两类:

  • 单次连网,即不保存 ssid 和密码,板子重启后需要再次设置 ssid 和密码才能联网
  • 永久联网,即连上 wifi 后,还要保存该热点的 ssid 和密码,今后板子重启后会自动连接到该热点

单次连网

单次联网对应的命令是 sta,更具体地说,命令的格式是 sta 热点的名字 热点的密码。例如,我的热点的名字是 “ABC”,其密码是 “ABC8881033”,则:

![](sta.png)

可以看到,开发板已经成功从路由器获取到 IP 地址了。

永久联网

永久联网对应的命令是 netmgr,它具体而言可以有三类参数:

  • start,即启动 netmgr,此时开发板会尝试去连接一个默认的热点,该热点的名字是 “cisco-15AB”,密码是 “12345678”
  • connect ssid password,即连接到一个由参数 ssid 和 password 所指定的热点
  • clear,由 netmgr 命令联网后,板子下次启动后会自动联网,而这个 clear 命令则是删除记录在板子上的 ssid 和 password。

下图使用的是 netmgr connect 进行永久联网:

![](netmgr-connect.png)

将板子重启后,系统自动连接到热点了:

![](auto-connect.png)

开发板作为 WiFi 热点

除了作为 WiFi 的客户端外,MK3060 还可以作为一个 AP,其它客户端可以连接到这个热点,对应的命令是:

softap 待建立的热点的名字 待建立的热点的密码

不过经自己测试,这个命令目前还不能使用。

发送 UDP 数据

Shell 的内置命令 udp 可以发送 UDP 包,具体格式如下:

udp ip地址 端口号 待发送的消息

如下图所示,在 PC 上打开一个网络调试助手监听 8888 端口,从串口终端输入命令 udp 192.168.0.144 8888 "hello from mk3060 udp packet",然后在网络调试助手中收到了来自 MK3060 的 UDP 消息。

![](udp.png)