# 在w600上实现局域网发现功能

## 一、前期准备

* 硬件准备

  1. w600开发板
  2. 下载线

* 软件准备

     1.keil mdk 编译软件

  2.w600 基于RT-Thread的sdk

## 二、实现思路

基于RT-Thread丰富的软件包,实现局域网发现功能只需要配合四个组件再简单修改一下即可实现.

1.wifi组件,使能wifi联网和创建ap热点。
2.romfs组件,文件系统放置web网页和ssdp协议的设备描述文件。
3.webnet组件,web cgi功能。
4.ssdp软件包,实现局域网发现功能。



## 三、实现过程

1.在env命令行中使用 menuconfig开启wifi功能。
开启wifi功能.png
图1.

2.在main.c中配置wifi的模式。
配置wifi代码.png
图2.

3.通过env命令行使用menuconfig 开启romfs组件

添加ROMFS组件.png 图3.

4.添加romfs文件系统挂载代码

添加romfs初始化代码.png
图4.

5.通过env命令行使用menuconfig 添加webnet软件包。

添加webnet组件.png
图5.

6.添加webnet初始化代码导入到app初始化中。

webnet初始化配置代码.png
图6.

7.通过env命令行使用menuconfig 添加lssdp软件包。

添加lssdp软件包.png
图7

8.修改LOCATION指定路径。
配置设备描述文件.png
图8
9.添加指定描述文件的请求前缀
添加http的前缀.png
图9
最终效果实现
局域网实现图.png
设备描述文件中的配置
设备描述文件内容.png
到此已经成功地发现了自定义的设备,局域网发现协议功能已经完成。
文章的资料大部分来自RT-Thread官方文档,感谢RT-Thread官网提供的lssdp软件包。
下一步会继续编写一些关于如何DIY一个智能家居的场景,让生活变得更加智能。