説明なし

朱天龙 (Armink) 85addce41b Merge pull request #11 from cndabai/master 4 年 前
docs 20d1e7faf4 【添加】lssdp 软件包 RT-Thread 移植 6 年 前
inc b2c0c4564b 【修改】修改为单链表方式实现 6 年 前
samples 8bf1a86d93 【完善】lssdp 使用示例 6 年 前
src 3bf60a8729 dfs_posix.h改为sys/ioctl.h 4 年 前
tools 20d1e7faf4 【添加】lssdp 软件包 RT-Thread 移植 6 年 前
LICENSE b1d1e3a5b5 update README.md and function description 11 年 前
README.md 0dc137cdb8 【添加】原作者以及仓库地址链接 6 年 前
SConscript e095aa4297 【修改】软件包依赖错误的问题 6 年 前

README.md

LSSDP

1. 介绍

LSSDP (Lightweight Simple Sever Discovery Protocol),简单服务发现协议是一种应用层协议,此协议为网络客户提供一种无需任何配置、管理和维护网络设备服务的机制,此协议采用基于通知和发现路由的多播发现方式实现。

通过使用该软件包,可以让连接到局域网中的 RT-Thread 设备被客户端自动发现,并使用 RT-Thread 设备所提供的服务。例如 adb 软件包提供的文件传输服务。

1.1 许可证

The MIT License (MIT)

2. 获取软件包

在使用的 BSP 目录下,使用 ENV 工具打开 menuconfig 来获取软件包。

  • 配置软件包并使能示例

    RT-Thread online packages --->
     IoT - internet of things  --->
         Lssdp: SSDP protocol implemented on rt-thread
             [*]   Enable LSSDP add/del samples
                   Version (latest)  --->
    
  • 使用 pkgs --update 命令下载软件包

3. 使用 LSSDP

3.1 打开软件包示例

配置软件包时打开 lssdp 软件包的添加 [*] Enable LSSDP add/del samples 选项,重新编译下载运行。

lssdp_add_example 命令会注册一个名为 urn:rt-thread:service:ssdp 的服务到 ssdp 中:

1557565323474

从示例代码中可以看到注册的设备信息:

1557571840845

3.2 运行桌面端测试程序

通过 tools 目录下的测试程序,可以看到在局域网中提供 urn:rt-thread:service:ssdp 服务的设备,如下图所示:

1557571616388

从上图可以看到从 RT-Thread 设备收到了提供 urn:rt-thread:service:ssdp 服务的设备信息。从 LOCATION 属性可以得知提供该服务的设备地址和端口号。

3.3 添加 lssdp 服务

可以参考 lssdp_sample 中的示例代码,使用如下 API 在 lssdp 中添加或者删除服务。

API 接口 功能
int lssdp_service_add(struct lssdp_service *h); 添加服务到 lssdp
int lssdp_service_del(struct lssdp_service *h); 从 lssdp 中删除服务

4、参考资料

5、 联系方式 & 感谢