注:因为我仅负责后端iot开发,所以这篇文章只会包含后端代码的解释,前后端都已经开源。具体可以参见:azuse/lift
肥宅快乐梯开发笔记
没有unity玩的肥宅一点也不开心,而且还不能去瑞士滑雪,呜呜呜
系统配置说明
如图,系统分为两部分:云服务器和电梯控制器。
云服务器跑一个http服务器负责用户的蓝牙绑定和消息关注(未来可以加入小游戏和电梯楼层选择),负责储存每一个蓝牙地址的电梯操作记录(每一个乘电梯的人的来楼层和去楼层)写到数据库中,然后在用户再次进入电梯时返回给电梯控制器用户最有可能要前往的楼层(通过时间段,历史记录等数据推断);
电梯控制器为一块树莓派3B型开发板,使用GPIO和电梯控制芯片通信(在测试机中电梯控制芯片为arduino uno),同时扫描电梯中的蓝牙信号,不需要用户主动连接,只需要用户打开蓝牙并且蓝牙设置为可见,树莓派就可以扫描到电梯中的蓝牙设备情况(下次换个专业的蓝牙扫描芯片吧,树莓派自带的实在扫描太慢了);
本次开发因为缺少usb声卡和麦克风,本来应该集成到树莓派上的语音指令功能放在了电脑上,但是使用pyauido录音并且使用百度api语音识别的python脚本要移植到树莓派上应该不会有很大问题
待开发的项目
- unity小游戏——瑞士滑雪队作品
- 人脸识别,对于陌生人自动报警——仅次于瑞士滑雪队的作品
- 亚克力板原型机
- 四面液晶(投影)屏幕,用来显示小游戏和互动