“云巢快递”基于图像识别和语音识别技术的智能快递柜

“云巢快递”是基于百度智能云的图像识别技术和语音识别技术来实现的,其主要有存快递和取快递两大功能。由于放假了,家里没有足够的材料来实现实物效果,所以这里只能先展示下程序设计和基础功能的实现效果。智能快递柜的demo实物只能等年后开学了再去学校拿材料做了~~

材料清单:掌控板*1,Micro:bit*1,micro:bit 电机驱动扩展板*1,迷你舵机*4,Gravity: UART OBLOQ - IoT物联网模块 *1

下面先附上简单的一个演示视频,有一丢丢长~~有一丢丢简陋,还请见谅!

步骤1 准备工作一:创建百度ai应用

首先,我们需要先去百度智能云注册一个账号,并且创建一个图像识别的应用,登录百度智能云后,点击左上角的“产品服务”,在全部产品中找到“图像识别”,如下图:

在进入图像识别页面后,点击蓝色的“创建应用“图标,进入应用的创建,名称自取,所需勾选的有“语音技术”和“人脸识别”内的全部项目(全勾选,说不定后面用得到呢,嘿嘿!)然后拉到页面底部点击确定提交就可以了!

在创建好后,点击浏览应用,复制下图红框处的内容一一对应粘贴到mind+的“切换至独立账户”中即可。

步骤2 准备工作二:创建easyiot应用

登录easyiot网站,点击+号创建一个新应用,然后将下图红框处的内容复制,填写到mind+的obloq mqtt初始化积木的设置里(这里需要先在上传模式里从扩展中添加obloq通信模块),具体见下图:

步骤3 开始,先写micro:bit脚本

因为Micro:bit的脚本比较简单,这边就先讲了。Micro:bit主要是结合驱动扩展板来控制4个舵机,实现快递箱门的开关操作,下图是iot模块和扩展板的接线示意图:

接好后,就可以直接开始写脚本了。Micro:bit的脚本是基于上传模式写的。关于iot连接设置,请参考上面的“准备工作二”。

Micro:bit主要职责就是从iot中接收消息,并做出判断执行开关门操作。其中,在开门后,会反馈一个消息给主控,主控再根据反馈的消息来继续发号施令。

步骤4 再写掌控板的脚本

掌控板在此处作为控制中心使用,掌控板是在舞台模式中进行编程的。首先需要进行初始化设置和连接easyiot,并且进行启动开关的触发操作编写,这里使用的是当触电P被接通,就相当于启动了快递柜的存/取快递操作。

在初始化完成后,接着就是存快递和取快递两个功能的识别操作了。这里通过手势比数字1和数字2来实现存/取快递的选择。

下面是存快递的脚本,主要通过广播消息和iot的方式来实现消息的传递。这里使用了两个列表,一个用来存储记录各个快递箱空/满状态的,另一个是来存储快递箱取件密码的。

当完成存件后,系统会自动生成一个4位数的密码,在存储到列表对应位置的同时也会通过语音和屏幕显示的方式告诉用户。

下面是取快递的操作,取快递需要获取用户的取件密码,所以这里使用了语音识别技术。通过语音识别获取用户的取件密码,并与已存储的密码列表进行核对,如果存在,则开箱取件,如果不存在,则终止操作。

当快递被成功取走后,系统会自动清空对应箱子的密码,并将该箱子的状态设置为“空”。

步骤5 Scratch舞台的设计

Scratch舞台中我绘制了一个多造型的简单角色,与实物进行同步显示快递箱门的开关状态。这个目前还是比较简陋的。

制作小结

实在是非常抱歉,目前只实现了最最基础的功能,由于材料不足,还没办法实现实物物品,希望以上简陋的设计能给各位小伙伴们分享一些思路。

下面是两个板子的源码程序,有兴趣的小伙伴欢迎下载diy!

点击此处下载源程序!