设计构建一个智能饮品点单系统
Knock2DrinkDrink 让酒吧和餐厅的顾客通过敲击桌面来点饮料——无需打开应用,也无需按按钮。桌上搭载了内置IMU的Seeed XIAO设备会监听振动。当顾客敲击三到六次时,设备利用训练好的机器学习模型识别出敲击模式,并通过蓝牙将结果发送至配套应用程序,服务员即可立即看到订单信息。工作人员可提前在应用中设置,将每种敲击模式与特定饮品对应。订单状态则通过RGB LED灯回馈给顾客。
问题
任何在繁忙酒吧工作过的人,都清楚其中的套路:顾客在被服务前会挥手、喊叫,或试图与你眼神交流几分钟。现有的桌边点餐解决方案要求顾客扫描二维码、下载应用程序,或与屏幕互动。我们想要的是一种完全无需顾客费力的操作——就像敲门一样自然。
结果就是Knock2Drink。
系统的工作原理
从客户到系统的流程包含三个阶段:
•顾客敲了敲桌子
•微控制器对敲击模式进行分类(设备端的机器学习)
•结果已通过蓝牙发送至服务员的手机应用。
•应用程序显示已排序的饮品,服务员可接受或拒绝订单
智能功能完全在设备本地运行。XIAO 会在本地运行训练好的模型,并仅发送最终分类结果(如“3次敲击”、“4次敲击”等)。
使用 Edge Impulseulse 进行机器学习
我们的模型被训练用于通过惯性测量单元(IMU)检测单次敲击。该模型使用了100个记录的单次敲击加速度计数据样本和100个记录的怠速/噪声样本进行训练。
采用频谱分析(FFT)对数据进行分类,使用神经网络模型进行机器学习。我们在训练集和测试集上均实现了100%的准确率。
固件
Seeed Studio XIAO nRF5284000 感应微控制器在两种状态之间运行。主要处于低功耗睡眠状态,以延长电池寿命。当加速度计信号出现突变时,会触发中断唤醒微控制器,进入扫描状态,并对记录的加速度数据运行机器学习模型。如果检测到敲击声,则会启动下一个扫描周期以检测后续的敲击。在统计敲击次数后,设备ID和敲击代码将通过蓝牙发送至配套应用程序。
伴侣应用
Knock2DrinkDrink 应用程序可让服务员将不同的敲击动作与不同的饮品进行对应。该系统支持使用3至6个敲击序列来点4种不同饮品。
当检测到敲击时,屏幕上会弹出一个窗口,提供接受或拒绝订单的选项。设备ID用于识别该订单来自哪个表格。订单状态通过RGB LED灯反馈给客户:红色表示拒绝,绿色表示接受。
本文编译自hackster.io





