【DIY背景】
现在大家基本上已经熟悉了使用手机支付,在小店付款后会听到语音提示:支付宝/微信到账XXX元。这个其实是一个语音终端。这个终端的用途其实很广,并不仅仅局限于支付到账提醒。比如:订单提示、车辆租赁中的车辆启动/熄火提醒等等诸如此类。但凡需要人去时时紧盯的地方,基本上都可以用。细思原理发现并不难,于是,果断开启DIY之旅。
【技术要点】
1、硬件:使用2G模块作为网络和控制核心,使用2G模块自带的TTS功能将文字转换成语音并播放。
2、服务器:使用MQTT服务器为数据转发服务器,MQTT服务器可以使用阿里云的mqtt服务也可以使用开源服务器。当然,也可以自己开发。此处使用开源服务器。
3、控制端:使用C#开发一套web api 对外提供通讯接口。当然,也可以使用ws协议直接与服务器通讯,但个人认为从安全性 考虑建议开发一套web api接口。
4、测试端:使用C#开发一个PC应用程序,用于对终端进行测试。有需要的话,也可以将测试端改为数据处理终端。此处并不需要,仅作为测试用。
【系统架构示意图】
【所需材料】
1、2G通讯模块及天线
2、PCB底板
3、USB小型音箱一个
4、流量为30M/月的物联网卡一张
5、5V/2A的电源适配器一个
6、USB转TTL模块一个
7、5.5/2.5 接线头带30mm线
【DIY流程】
1、在阿里云申请购买一个ECS云服务器,操作系统使用windows或linux都可以。这里使用windows系统。
2、在ECS云服务器上安装并配置好MQTT服务器
3、使用C#开发一个PC版的测试端,测试MQTT服务器是否正常
4、使用C#编写一套WEB Api用于外部程序(自有或者第三方的管理系统)使用
5、更新2G模块的固件
- 由于2G模块自带的固件不支持tts语音转换功能,所以需要下载新的固件并更新到2G芯片中
6、使用lua语音编写好代码并使用USB转TTL模块将代码下载2G芯片中
7、使用PCB画图软件绘制好PCB线路图,发送给代工厂打样
8、组装硬件
- 零部件大集合、USB音响有2个箱体,这里只需要一个即可
- 使用电烙铁将底板和配件焊接好
- 组装
- 成品