群晖NAS通过TTL串口控制4G(GSM)通信模块实现语音短信告警的解决方案(电话告警/语音助手/远程控制)

一、前言

由于家里使用了小米 关连接的部分智能设备。使用使用两年的时间里,它的设防功能相对还是很适用。但是一直都觉得它有一个问题,那就是当家里设备触发告警之后,仅能够手机APP自带的推送消息来提醒。这种弱提醒方式很多时候都不会被楼主及时发现。再加上楼主平时不太喜欢将手机的提示语打开,所以基本都没有办法第一时间收到告警消息。于是一直在考虑是否可以通过电话的方式实现告警通知。这样当设备告警的时候就可以第一时间得到通知。

因为家里有群晖NAS,再加上楼主是一枚标准码农,所以一直想通过在群晖设备上部署代码,然后通过什么模块实现电话告警。因为我们都知道当米家 关打开局域 传输协议之后,就可以在局域 内部收到各种设备的状态变更消息,当然包括告警消息。通过各方搜索与了解,最终楼主终于接触到了4G GSM通信模块。通过该模块我们便可以实现电话告警功能。

二、实现原理

实现基础原理如上图。

1、首先智能设备之间通过zigbee协议和米家 关通信

2、米家 关可以通过局域 通信协议(基于组播)和我们自己开发的事件接收器通信,通知各类设备事件

3、事件接收器接收到告警事件后,则可以通过告警发送功能,通过串口驱动,使用TTL串口与4G GSM模块通信

4、4G GSM模块(需要插4G电话卡)则可以根据串口反过来的数据进行相应的告警通知(拨打电话或者发送短信)

三、实现功能

1、电话短信告警

基于该解决方法,电话短信告警是比较基础的功能。具体参考上面的原理图。

2、语音助手

基于上面的原理,我们实现了打电话,但是只能拨通电话,但是无声音。如果我们需要拨通之后能有语音具体的播放出当前是什么告警,什么内容。则需要在选择4G GSM模块的时候选择支持TTS或者Audio功能的模块。

通过TTS,我们可以将文字发送给4G GSM模块,然后模块可以将该文字转换为语音,并在拨通之后直接播放给电话接听者。从而实现语音助手功能。

通过Audio功能,则可以将本地的语音文件,转换为字节数据通过TTL串口传递给4G GSM模块,其同样能够将该音频内容直接播放给电话接听者。从而实现语音助手功能。

这样我们可以根据不同的场景给电话接听者播放不同的语言,从而达到语言助手的功能。

3、远程控制(DTMF双音多频)

熟悉GSM同学模块的同学应该知道,在GSM同学模块中有个功能叫做:DTMF,中文名叫做双音多频。说起这个名字大家可能都很陌生,但其实大家在生活中都有接触。大家都应该拨打过电信运营商或者银行的客服电话。当我们拨过去之后对方都会让我们通过按1-9的按键来选择菜单或者输入密码等信息。这个使用的就是DTMF技术。即当电话接通之后,我们在电话上的所有按键信息都会被对方实时接收到,如果我们使用4G GSM模块拨 ,那么我们在手机上的按键信息都会被4G GSM模块捕获到。这样我们就可以根据手机按键,来实现对咱们家里的NAS进行控制,甚至对智能设备进行控制。

大致流程如下图,其中红色的线则表示控制流程从电话接听者到Java服务器设置是 关和智能设备。

如果我们再结合上面的语言控制功能,我们就可以自己实现一个和电信运营或者银行客户电话统一的智能机器人。从而实现自己需要的各类需求。

三、重要技术点

如果想要完美的完成该解决方案,我们还是需要解决如下几个技术难点。

1、4G GSM模块(TTL串口通信)

首先我们需要购买4G GSM模块,具体功能可以根据自己的需求选择器是否需要支持TTL、Audio或者DTMF。当然包含的功能越多越贵。同时要注意如果是电信卡需要购买全 通通信模块。基础的只支持电话、短信和DTMF则只需要5、60块钱。而支持TTL或者Audio的GSM模块则通常需要200+。

同时我们还需要掌握GSM模块的TTL串口通信指令,即AT指令。我们可以通过AT指令控制GSM模块实现打电话、发短信、发送语音等功能,具体大家搜索即可。

2、软件开发能力

由于我们需要在NAS上部署Web服务器,因此咋需要由一定的开发能力。能够使用Java、C、python等编程语言进行开发。

因为对米家智能设备控制,需要自己开发程序来基于局域 通信协议来实现。而通过串口发送AT指令,也需要自己开发程序来实现。

3、熟悉(学习) 关通信协议

如果需要控制或者接受米家设备的事件信息,则需要熟悉其通信协议。米家和绿米都有,绿米还有一个对应的开发中心。http://docs.opencloud.aqara.com/development/oauth-cloud-development/

四、惯例

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年3月7日
下一篇 2021年3月7日

相关推荐