恋上你的芯 发表于 2017-7-13 15:46:50

【我爱DIY】STM32配合ESP8266进行LiFi局域网通信系统

LiFi就是利用可见光实现无线通信和上网,通过LED灯发出人眼不可见的快速闪烁的光线来实现信息(0和1的二进制数据)的传输。相对于传统的WiFi,LiFi有如下优点:
1、可见光频段的带宽大,上网速度秒杀WiF,这也是LiFi应用的最主要优点

2、在部分应用场景下,LiFi相对WiFi更适合。比如飞机上WiFi的会干扰电子设备。在海里由于海水是良导体,射频信号会迅速衰减,而用可见光的话就会避免这些问题。

3、LiFi的保密性更好,光线照不到的地方自然不会泄密。

4、在LED灯泡的大力普及下,LiFi的铺设相对容易。

LiFi的优点还有很多。国外美德日英都取得不错的进展,在国内据我了解,复旦大学和解放军信息工程大学在此领域研究颇深。在未来的十年到二十年会是一个巨大的商业点。

下面进入主题,无数大神在LiFi的发展道路上披荆斩棘,硕果喜人,不过现在能看到可以演示的系统却是凤毛麟角,小弟不才,在此演示一下我做的一套最简单的LiFi系统Demo。


使用软件环境
KEIL5-V4.54
Source Insight-V3.50
AltiumDesiger9
串口调试助手


项目介绍
首先说一下系统的设计思路:
1、系统的目标是用可见光的方式实现简单的局域组网,进而实现文字通信,类似一个“QQ聊天”的功能。
2、系统设计有一个服务器(用于数据接收与转发)和三个客户端(作为通信的基本单位,设为1号、2号、3号)。
3、系统的最终功能是,1、2、3号中的某一个客户端可以与其他任何一个客户端进行文字通信,也可以群发。
4、系统使用了ESP8266 WiFi模块,之所以要用它,是因为在可见光通信中,可见光一般仅仅作为数据下载时使用,而不在数据上传时使用。想象一下使用LiFi上网的情景,在数据下载时手机或电脑可以接收头顶LED灯发出的光线,但是在数据上传时,手机和电脑也要发出光线的话就不合适了,因为会晃闪人眼。所以,数据上传一般采用传统的WiFi或者是红外通信方式,在本系统中,我们采用的是基于ESP8266模块WiFi上传方式。
5、根据以上描述,我们对本系统的框架大致有了比较清晰的认识了,它的工作流程是:
假设1号client想要给3号client发消息,首先1号client先把消息通过WiFi发送给server,同样需要发给server的还有自身ID和目标ID。server收到1号client发来的信息之后,将信息进行编码与调制,然后通过驱动电路把信息用可见光的方式发射出来。3号client通过光电传感器采集到光信号之后,读取到信息的目的ID与自身ID相符合,则接收信息然后做后续处理。


整个系统安装使用示意图如下:



分析设计系统的框架和功能要求之后,就可以开始制作了,制作的步骤如下:

1、用AltiumDesiger9绘制系统图纸

2、焊接制作
有了以上的三个图纸,就可以得到钢网和PCB板了。在焊台上利用钢网向PCB上刷锡膏,然后用镊子贴片,然后就可以放置到回流焊机里面加工了。就用下面这个家伙自动焊接:



3、编程调试
整个系统大约可以分为ABC三个功能模块:
A:client和server与PC的接口部分:
这部分就是简单的串口通信,PC端用串口调试助手就可与系统通信了。
B:WiFi通信部分:
这部分功能代码其实ESP8266在AP模式下实现client和server的WiFi通信的驱动。
C:光通信部分:
通信部分主要用OOK方式实现信号的调制解调,在硬件驱动稳定工作前提下不难实现。


调试完毕后,就可以爆工作照啦!!


信息收发演示1:

信息收发演示2:

当然汉字也可以可以的:


页: [1]
查看完整版本: 【我爱DIY】STM32配合ESP8266进行LiFi局域网通信系统