1. 背景介绍
最近做一个项目,因为空间限制,拆掉了工控机的触摸屏,要求用平板显示工控机的画面并做控制,工控机使用的windows10系统,自带无线网卡。
同事之前已经实现了用平板控制工控机,方法是工控机和平板连接同一个WiFi,用微软的远程控制软件实现远程控制。但是这个方法有个缺点,就是工控机要提前配置好WiFi连接,一旦换了工作地点,工控机又没有显示器,完全没法操作来连接网络了呀!
2. win10开热点
查阅了大量资料后,终于找到了办法,就是工控机开热点,平板连接热点后,双方就是直连,开机就能自动连接啦!然而win10系统开热点之前必须连接网络…我要是能连接网络,我还有必要开热点嘛!
事情似乎无解了,但是思考后发现,如果我能避开win10系统开热点之前必须联网的设定不就行了。又是一顿查阅资料,有人说可以开启承载网络,我试了一下,然而工控机自带网卡并不支持承载网络,笔记本电脑自带网卡也不支持承载网络,倒是外接的USB无线网卡可以开启承载网络,我想给工控机配个USB无线网卡,问题就算解决了。
3. WiFi-Direct底层实现
然而我这个人就是犟驴,我凭什么要多花40多块钱来实现win10系统本来就有的功能?我非要看看win10底层是怎样开热点的。win10开热点之后,我发现网络适配器里面多出来一个WiFi Direct虚拟网卡,好,找到突破点了!又查了一天资料,在网上找到一个论坛,博主给的是C#源码,然而我复制下来是各种报错,好在评论里给了一个c++源码链接,代码跑起来了!略做修改后运行,发现笔记本电脑确实开启了热点,关键是不需要联网!大功告成,把代码甩给同事继续完善吧,哈哈哈😁!
论坛链接:WiFi-Direct底层代码