用电脑自己给电波表授时

由于国内只有一个商丘授时中心,所以离商丘比较远或者高楼林立的地方经常会出现电波表无法自动收波,手动收波由于信号弱也总是失败。这时候可以试试用电脑给电波表授时。win7,win10等系统会自动和网络上的时间同步所以也是比较准的。那么自己授时如何做?

很简单,下载一个日本的授时软件,然后用耳机线插上,然后音量开最大。然后耳机线在手表上绕几圈,然后开启软件就可以了,一般等几分钟,就授时成功了。

我用的是头戴耳机,直接把手表夹在两个耳机中间授时成功。

然后要注意的是本软件是以东京时区发的信号,所以在软件上把发出时间调快一小时。授时成功后再手表时区调为东八区北京时间即可。

软件原理呢应该是模拟授时信号是日本JJY授时台 ,频率:40KHZ & 60 kHz  左右的信号,用声卡虽然超出人耳的听力范围但也能发出信号来。通过耳机线会有无线电波向外辐射,所以音量开大能提高信号量。


软件界面如图:

程序开启后耳机会发出滴答声,等手表完成授时后即可关闭软件。如果直接以北京时间授时,手表完成授时后时间不准相差几个小时,那么调整一下手表的时区。

下载地址,这是我从安装包里解包出来的,可以解压后直接运行,不用安装:

链接: http://pan.baidu.com/s/1hs7NoTe 文件提取密码: gbkc

BPC电波授时编码 一种电波授时编码。其特征在于:帧周期为20秒,每分钟包含三帧;以秒脉冲宽度示四进制数的0,1,2,3,以四进制数示相应的“分”, “时”,“日”,“月”,“年”,“星期”等时间信息;以帧标志示帧所在的时间段,以缺少秒脉冲作为帧间隔和帧预告标志;采用码位复用技术。本发明克服 了现有的时间编码帧周期过长的缺陷,接收一帧时间信息所用的最少时间由1分钟减少到20秒,提高了接收机效率,降低了对抗干扰的要求。 名词术语解释: 时间编码:以数字脉冲信号的方式对“分”,“时”,“日”,“月”,“年”,“星期”等时间信息进行编码。 方波秒脉冲:数字脉冲信号的波形为方波,其周期为1秒。 帧(即时间信息帧):一组包含“分”,“时”,“日”,“月”,“年”,“星期”等时间信息和必要的校验标志位的编码(或代码)。 帧周期:一帧的起始到下一帧的起始所用的时间。 背景技术: 电波授时是将高精度原子钟导出的精确时间信息用时间编码方式,通过无线电发射装置以低频(20KHz—100KHz)无线电波进行传播,用户端利用无线电接 收机接收信号并解调以恢复时间编码,再经过微处理器对编码进行一定的处理(解码)得到精确时间信息。目前在德国,美国,英国,日本等国家,电波授时已广泛 应用于电力,通信,民航,铁路以及个人计时器等各个领域。 电波授时所采用的时间编码是影响时间信息传播准确性和可靠性以及发射,接收装置制造难易程序的重要因素。现有时间编码包括DCF(德国),MDF(英 国),WWVB(美国),JJY/JG2AS(日本)等,这些时间编码的共同特征是:以方波秒脉冲形成时间编码;以脉冲前沿标志1秒的起始,以不同的脉冲 宽度(即方波脉冲信号持续时间)示二进制数的1或0,以二进制数示“分”,“时”,“日”,“月”,“年”,“星期”等时间信息,1分钟一帧,即周期为1分钟。由于无线电波传播过程中不可避免地要受到各种干扰,因此信息失真,错码,漏码等就成为可能。虽然现有时间编码中设置了必要的校验位用于判断所接收信息的正解 性,但这种简单的校验方式的误判率仍然较高。有效的做法也是目前被广泛采用的方法是:在接收信号时先利用校验码对每组编码进行初步校验,然后对连续接收到 的二到三帧信息进行比较后作出最终判断。因此,要接收到一组完整准确的时间编码信息至少要二到三分钟时间。这不公使接收机的效率低,而且当干扰比较严重 时,尤其是在远距离发射地,信号微弱或信号有时无的情况下,使得接收信号非常困难甚至不可能。
本方案采用的是MCU+AT指令的形式开发,MCU是大家比较熟悉的意法半导体公司STM32F103C8T6,WiFi模块使用的是安信可ESP-12F,本方案是一个Demo设计,比较简单,仅实现了功能,算是一个抛砖引玉吧! 先上视频演示:https://v.youku.com/v_show/id_XNDE3OTE4MDY4NA==.html?spm=a2hzp.8244740.0.0 WiFi模块资料链接:https://wiki.ai-thinker.com/esp8266 STM32F103C8芯片资料链接:https://www.stmicroelectronics.com.cn/content/st_com/zh/products/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus/stm32-mainstream-mcus/stm32f1-series/stm32f103/stm32f103c8.html#overview 硬件部分,由时钟电路+WiFi模块+MCU最小系统+OLED显示屏+稳压电路+按键电路组成,这里采用时钟电路是希望模块在断网后还能获取一个比较精准的时间,并且电路设计上增加了储能电容可以在断电一个月后保持时间数据不丢失,当然这里也可以用STM32里面的RTC时钟;OLED显示屏采用的是裸屏设计,使整体电路板一体化效果好些;其他电路都是参考开发板or硬件手册上设计的;硬件设计软件采用的是Altium Designer (13.0),原理图概略图如下图所示: 实物图如下图所示:(电路板是找厂家打样的,元器件是纯人工手焊) 软件部分,由底层驱动+WiFi联网+调用API接口并解析数据+OLED显示组成;首先分析一波,这里面用到了MCU的USART、I2C*2、GPIO*2引脚资源,然后对应去找相关类似的例程,既然已经有轮子了,为何还要花时间去造轮子,当然是直接改例程来的舒服。这里开发方式采用的是库函数开发,用的是STM32的标准库,对应找到了OLED显示屏的驱动资料、PCF8563的驱动资料、WiFi模组的驱动资料、按键输入的驱动资料;将它们整合到一个工程里面,然后更改里面的引脚配置等,就完成了整个设计的底层驱动。 WiFi联网,这里WiFi是设置成了STA模式(STA模式是啥,可自行问度娘),然后连接手机开的热点(注意手机必须要能连接上公网,即我们常用的互联网)。具体如何设置可以参考WiFi模块的AT指令集,AT指令集在上面WiFi模块资料里面有。手机开的WiFi热点的账号密码需要事先知道,并写入在程序里面,后续如果需要更改热点的账号密码,就需要更改程序。 天气和时间更新,即调用API接口并解析数据,这里用到了两个API接口,第一个是心知天气的天气实况数据获取,因为是免费版所以只能获取到天气现象和气温两项数据;第二个是Nowapi的北京时间数据获取。因为用到的两个API接口是隶属于两个不同的服务器,所以程序上需要进行切换,连完这个服务器后需要断开连另一个服务器,比较麻烦。后面我发现其实Nowapi里面就有天气数据可以获取,完全可以通过只连接这个服务器就实现天气和时间数据的更新。实现方法参考下面的网址,写比较详细。 心知天气:https://docs.seniverse.com/api/weather/now.html、服务器IP116.62.81.138(域名api.seniverse.com)、默认端口80 Nowapi:https://www.nowapi.com/api/life.time、服务器IP103.205.4.43(域名api.k780.com)、默认端口80 解析数据用的是比较简单的方法,因为需要解析的数据量不大,所以并没有移植cjson,直接用strtok函数硬解。 OLED显示,OLED显示用的是I2C接口,然后给的例程只有常用的标点符号和26个英文字母的字库,如果需要汉字还需要自己添加字库,一般是用到什么汉字就添加什么汉字的字库,然后用例程里面给的功能函数去实现显示。 显示屏资料:http://pan.baidu.com/s/1dFri9Vz 下图是用到的所有.c文件(除库函数之外) bsp_usart1.c是用来串口调试使用,可以打印在电脑串口调试助手上显示;bsp_SysTick.c是用来生成精准的延时函数,用于I2C通讯等对时序敏感的接口;bsp_esp8266.c里面是对WiFi模块的一些初始化配置和WiFi的功能函数;Common.c里面是一些辅助函数;test.c里面是实现WiFi配网应用和API接口调用及解析;oled.c里面显示屏的初始化配置和显示功能函数;bsp_pcf8563.c里面是时钟芯
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值