基于ESP8266的网络时钟的设计1.绪论1.1设计背景时钟同步问题来源于计算机科学与工程领域,主要是用来解决多个计算机时钟不一致的问题。即使在初始状态时把每个时钟调到非常精确的一致,在一段时间的运行之后时钟也会不同步,这是由于时钟以不同的频率运行,所产生的时钟漂移不断地积累所导致的。手机的系统内部要求各手机之间保持较为准确的时间同步。例如,查看不同计算机的日志信息时,需要统一的时间;一些网络设备重新启动后时间将恢复到初始值,需要从网络上重新配置准确的时间。尤其是一些工业控制领域,对被控制对象的时间同步的精确度提出了更高的要求。随着智能控制技术的发展,采用WiFi芯片作为远程智能控制家电系统,为智能家居的实现提供了可能,使人们的生活更加方便和快捷,尤其是ESP8266WiFi芯片,由于其成本低、性能好,得到了广泛的运用。现在的网络时钟都是以红外遥控的方式进行时钟控制,大多都不具备自动同步时间的功能。使用ESP8266WiFi芯片之后,用户可以随时随地通过手机在联网状态下对手机的时间进行同步,以获知正确的时间。在睡觉前,通过手机手机时间的设定,使得手机时间时时刻刻保持准确。1.1国内外研究现状国外多采用NTP协议,该协议最早是来源于美国特拉华大学David.L.Mills教授主持的网络时钟同步项目,该项目由美国军方和政府资助,当时成功开发出了NTP协议的1,2,3版本。目前,NTP协议在网络上被广泛地应用在计算机网络时钟服务器或者其他时间源的同步,比如无线电、卫星接收器或者电话服务都可以作为标准时间参考源,对于从属的客户端,也可以被用来作为服务器。在局域网内,精度一般可以达到微秒,典型的NTP配置会使用多个冗余服务器和不同的网络路径,以达到更高的准确性和可靠性。尤其在商业环境中,对于一切的维护、故障诊断设备以及分布攻击的取证分析,准确的时间戳记录是用来解决争端的最重要的证据,特别是在涉及到有价值的时间敏感的商业交易时被使用。例如,在编程环境中,时间戳信息经常被用来确定什么样的代码需要作为一个依赖的检查过程被重建,这也涉及到其他代码上的时间戳记录,如果整个开发过程中没有好的时间戳记录,则很有可能会造成运行过程的停顿。在执法过程中,对于分布式通信事件相关性的研究,正确的时间戳也非常必要也很有可能在研究犯罪过程中被作为证据使用。总而言之,所有的调试、安全、审计以及授权都是在验证是事件相关性的基础上进行的,都要准确地知道哪一方发生什么样的事情,包括事件是以什么顺序发生的,这些都需要依赖于良好的时间同步。所谓授时,是指确定地保持某种时间的尺度,并通过某种方法把时间传送出,供应用者使用的整个过程。随着人类的进步和科学的发展,授时的精度不断提高,规模不断扩大,而且授时即时间服务的好坏直接关系到社会生产和人类生活的方方面面。目前,现代获得授时方法主要有电视授时、无线电授时、电话授时、Internet授时、专用电台授时(长波和短波)、卫星授时等,每一种授时方法都提供不同精度、成本和获取难易程度,方便不同需求的应用获取时间[27]。不同授时方法之间相互补充,比如电视、电话、网络、长波、短波这五种授时方法,前三种不需要单独建立传输设备,而后两种必须依赖专门的电台,主要用于导航和定位,传递时间频率信号。我国的“北斗”卫星导航系统也具有授时的功能,实现的原理就是基于多个电台基站,已经于2011年12月27日对中国及其周边地区提供授时服务。时钟同步问题来源于计算机科学与工程领域,当多台计算机的内部时钟需要同步问题就变得复杂起来。即便在初始化的时候,各台计算机都精准地统一,事实上,由于各台计算机内部时钟的运行频率有差异,即便是很微小的相差在运行了一段时间以后,所累计时钟的漂移必然会导致真实时钟不同。但是,对于金融法律事务、交通运属、涉及分布式资源分配系统以及其他的相关应用都需要准确可靠的时间作为保证。2.硬件2.1ESP8266ESP8266价格低廉,体积小,是一种低成本的Wi-Fi微芯片,具有完整的TCP/IP堆栈和微控制器功能,可以实现TCP/IP连接,可以适用于工业领域、移动设备、局域网和互联网。支持三种工作模式:STA、AP、...