通过泊声背景音乐中央主机获取年月日

[复制链接]
羽电流音 发表于 2019-4-30 17:03:33 | 显示全部楼层 |阅读模式
本帖最后由 羽电流音 于 2019-4-30 17:03 编辑

  为了解决部分用户希望分季节定时的要求,我们需要想办法获取当前的日期,考虑到聪普主机自己不带该功能,我们需要借助第三方产品,本文以泊声背景音乐中央主机为例。   在正式开始写程序之前,需要准备泊声背景音乐主机自带的调试软件 1.png 。双击打开该软件,选择搜索主机,然后再左边的指令列表里面找到获取系统时间的指令,再选中主机,会在JSON协议栏出现相应的JSON协议,然后将协议描述栏的“16进制数据是否带空格”打钩,然后点击下方的协议描述,会出现16进制的协议,指令发送成功的话会在下方数据接收返回区的“TCP指令”栏出现正确的回码,如下图:
2.png

以上图的主机为例其获取系统时间的指令为:\x78\x00\x00\x00\x7b\x22\x61\x72\x67\x22\x3a\x20\x7b\x7d\x2c\x22\x63\x6d\x64\x22\x3a\x20\x22\x47\x65\x74\x53\x79\x73\x44\x61\x74\x65\x22\x2c\x22\x64\x69\x72\x65\x63\x74\x69\x6f\x6e\x22\x3a\x20\x22\x72\x65\x71\x75\x65\x73\x74\x22\x2c\x22\x72\x65\x63\x76\x49\x64\x22\x3a\x20\x22\x42\x41\x37\x36\x30\x34\x30\x30\x61\x63\x36\x39\x30\x37\x63\x31\x37\x66\x66\x63\x22\x2c\x22\x73\x65\x6e\x64\x49\x64\x22\x3a\x20\x22\x42\x41\x37\x36\x45\x43\x30\x30\x31\x31\x32\x32\x33\x33\x34\x34\x35\x35\x36\x36\x22\x7d
回码为:9A 00 00 00 7B 22 61 72 67 22 3A 20 7B 22 64 61 74 65 22 3A 20 22 32 30 31 39 2D 30 34 2D 32 32 22 2C 22 72 65 73 75 6C 74 43 6F 64 65 22 3A 20 30 7D 2C 22 63 6D 64 22 3A 20 22 47 65 74 53 79 73 44 61 74 65 22 2C 22 64 69 72 65 63 74 22 3A 20 22 72 65 73 70 6F 6E 73 65 22 2C 22 72 65 63 76 49 64 22 3A 20 22 42 41 37 36 45 43 30 30 31 31 32 32 33 33 34 34 35 35 36 36 22 2C 22 73 65 6E 64 49 64 22 3A 20 22 42 41 37 36 30 34 30 30 61 63 36 39 30 37 63 31 37 66 66 63 22 7D
对比16进制回码和JSON回码得知第23、24、25、26个字节对应年,28、29字节对应月、31、32字节对应日。则我们需要对回码做处理,所用函数为Serial I/O、Serial Check、Serial to byte,具体如下:
3.png
接下来我们需要对选择出来的各个模拟量做处理,都需要减去一个固定值30H,然后将新获得模拟量在根据实际情况做乘和和运算。以年份为例,所需函数和具体情况如下:
5.png
4.png
同理可以获得月份和日份。如此一来我们就完整的获取了日期,可以在此基础上做夏冬定时了,在这就不做展开讨论了。
需要注意的是每个泊声背景音乐获取系统时间的指令都不是完全一致的,该指令与主机的类似序列号相关。不能直接抄袭上述的指令。
 楼主| 羽电流音 发表于 2019-4-30 17:04:09 | 显示全部楼层
回复

使用道具 举报

crodigy 发表于 2019-4-30 17:39:21 | 显示全部楼层

回帖奖励 +1 金钱

背景音乐不能掉线
回复

使用道具 举报

crodigy 发表于 2019-4-30 17:40:18 | 显示全部楼层
可以做感应器关灯判断;冬夏不同的时间段开关灯
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则