《基于物联网、APP-智能免触门锁》

一、目的思路:

疫情期间用于促进公共卫生,协助人们生活防疫需要的创意制造,同时紧跟科学技术的快速发展,促进免触门锁的产品智能化的改造。

二、研究过程:

1、将机械锁更换为使用继电器模块控制电磁锁;

2、对比蓝牙模块(Bluetooth Specification v2.0+EDR)与wifi模块(WiFiBee-MT7681);DF-BluetoothV3蓝牙模块低功耗、低辐射,更稳定、实用、安全性更强;本装置采用物联网技术,通过DF-BluetoothV3蓝牙+APP,控制家居的门、灯等;

3、人工智能的发展,离线人脸识别日趋成熟,免接触人脸识别门禁开发不再是神秘的黑科技;本作品采用HuskyLens AI 视觉传感器,内置的机器学习技术,运行神经网络算法的速度比STM32H743快1000倍以上;仅需一个按键即可完成AI训练,摆脱繁琐的训练和复杂的视觉算法,让你更加专注于项目的构思和实现。

4、Mind+图形化编程完美的将当前科技教育中的主流开源硬件平台进行了整合,使其拥有一致的使用体验,并且可以脱离电脑运行,拥有强大的硬件扩展功能库,直接使用即可以对上百种硬件模块,包括各种传感器、执行器、通讯模块、显示器、功能模块进行编程控制,同时还开放了扩展库,为丰富的扩展空间提供无限的可能。

5、考虑门禁系统的各种未知因素,本系统还在房内增加手动开关。

6、针对语音合成,对比在线与离线,离线语音合成几乎没有时间延时,遗憾的是声音机械,不够人性化,在线百度AI-语音合成虽然声音很好,但时间延时有点长,而且要WIFI模块,成本增加,坚决选择离线语音合成模块。

探索将家居进行智能化改造,实现用人脸识别、手机APP+蓝牙免接触开关门锁、电灯等的功能,切断传播途径,避免不必要的感染。

三、科学方法与原理:

1、物联网:蓝牙模块(Bluetooth Specification v2.0+EDR);采用独特双层板设计,即美观又防止静电损坏模块,设计2个电源输入口,宽电压供电(3.5V~8V)和3.3V供电,可适用于各种场合。自带高效板载天线,信号质量好发射距离更远,透明串口,可与各种蓝牙适配器、蓝牙手机配对使用,人性化的设计为二次开发提供便利。工作电压:3.5~8v DC and 3.3v DC/50mA 、蓝牙芯片:CSR BC417143、串口波特率:4800~1382400/N/ 8/1  默认为9600bps、传输距离:20~30m(空旷区域)、传输速率:Asynchronous: 2.1Mbps(Max) / 160 kbps;Synchronous: 1Mbps/1Mbps。

2、人工智能:HuskyLens AI 视觉传感-人脸识别;内置7种功能:人脸识别、物体追踪、物体识别、巡线追踪、颜色识别、标签识别、物体分类。HuskyLens板载UART / I2C接口,可以连接到Arduino、Raspberry Pi、LattePanda、micro:bit等主流控制器,实现硬件无缝对接。

3、人工智能:离线语音合成;清晰、自然、准确的中文语音合成效果;可合成任意的中文文本,支持英文字母的合成;具有智能的文本分析处理算法,可正确识别数值、号码、时间日期及常用的度量衡符号;具备很强的多音字处理和中文姓氏处理能力;支持多种文本控制标记,提升文本处理的正确率;每次合成的文本量最多可达200字节;支持多种控制命令,包括:合成、停止、暂停合成、继续合成、改变波特率等;支持串行数据通讯接口,支持三种通讯波特率:9600bps,19200bps、38400bps;支持16级音量调整;播放文本的前景音量和播放背景音乐的背景音量可分开控制;可通过发送控制标记调节词语语速,支持6级词语语速调整;

4、DFRduino UNO R3是一块基与开放原始代码的Simple i/o平台,並且具有使用类似java,C语言的开发环境。让您可以快速使用Arduino语言与Flash或Processing等软件,作出互动作品。Arduino可以使用开发完成的电子元件例如Switch或Sensors或其他控制器、LED、步进电机或其他输出裝置。

四、创新部分:;

1、采用物联网无线通讯技术-蓝牙,实现个人局域网与移动设备之间进行短距离数据交换;低成本,近距离传输、功耗低。

2、采用人工智能HUSKYLENS AI视觉传感器,内置多种算法,您只需一键操作,便可让二哈识图智能识别更多新事物;内置强大机器学习技术,使其具有人脸识别、颜色识别、标签识别和物体识别和追踪等能力,比普通传感器更智能更强大;自带2.0寸IPS显示屏,体积小巧,本地处理所有算法直接输出结果,快捷,识别率更高;采用新一代AI专用芯片Kendryte K210性能更高效。

3、采用离线语音合成;清晰、自然、准确的中文语音合成效果;支持英文字母的合成;具有智能的文本分析处理算法,可正确识别数值、号码、时间日期及常用的度量衡符号;具备很强的多音字处理和中文姓氏处理能力;支持多种文本控制标记,提升文本处理的正确率;

4、全程免接触开关门,家人到门口,门锁自动开启,门打开,进入家中,门自动关闭,并伴随虚拟管家亲切的问候语,感受家的温馨,幸福感油然而生。

五、作品介绍:

公共卫生是每个人都要保持的,尤其在疫情防控期间,公共卫生的重要性尤为显著。门作为生活中常见的工具,门把更是人们生活中经常触碰到的。在公共场所中,若是不注意手部清洁,则容易造成不必要的感染,免接触式智能电磁锁,可以最大限度减少接触,有效降低被病毒感染的风险率。

本设计源于疫情期间解决减少传染途径,切实帮助人们安全放心的做好防控防疫的工作。

本作品应用物联网技术,使用Arduino UNO+扩展板,通过DF-BluetoothV3蓝牙串口模块、按键、以及HUSKYLENS AI视觉传感器人脸识别来对继电器发送指令,对舵机、灯条和电磁锁进行控制,让人们可以无需接触到门体就可以达到免接触开关门的目的。

5.1三种开锁方式:

1、人脸识别:主要适用于室外开门,先对住户进行人脸录入,在哈士奇摄像头内存留住户信息,就可以通过摄像头人像识别在门外自动检测识别住户人脸信息进行开门,方便快捷,无需多余操作,在日常生活中安全有效;

2、按键功能:主要运用于室内,通过按键闭合,发送信息指令,对门进行直接操作开启,由于此方式需要接触按键,因此比较适用于作为一种应急操作保障;

3、蓝牙模块:主要用于远距离开门(不超过30m),即使不在门体附近仍旧可以通过蓝牙+APP对蓝牙模块发送信息指令,远距离进行开关门。

5.2材料清单:

 

名称型号数量附图
主板DFRduino UNO R31
扩展板IO 传感器扩展板 V7.11
蓝牙BluetoothV31
摄像头HuskyLens AI视觉传感器1
语音合成SYN62881
喇叭4cm8欧0.5W1
舵机SG90 9g舵机 180度1
电磁锁12V输入(常规斜口)电控1
继电器1路12V继电器模块1
Led灯珠1
电源插座DC直流1
大按键1
8珠RGB圆环1
门轴合页1寸0.6厘厚=25*24(4孔)2
杜邦线若干
5MM椴木板若干

5.3硬件连接图:

5.4思路解析:

当下达开门指令,继电器会处于高电平,电磁锁通电开锁,一秒后舵机旋转自动开门;门开启后,语音合成模块会进行语音提示,给人以温馨的家庭氛围,同时室内八珠LED灯环和室外LED提示灯将会亮起;下达关门指令,继电器处于低电平,舵机旋转将门闭合,三秒后电磁锁断电上锁。

5.5 LaserMaker建模:

本作品外观设计上采用中国风的元素,以木质结构塑造整体模型,首先用LaserMaker软件进行整体建模,通过对木料的激光切割与手工拼装,外观更加贴近生活,富有中国特色古典韵味,更加面向大众,生活化产品化设计,增加中华文化的内涵,设计上更显人性化。

5.6激光切割与拼装:

5.7 作品完成相片:

5.8 电脑编程:

本编程分成6个函数块,分别定义为“初始化”、“蓝牙”、“按键”、“人脸识别”、“ open”、“close”;主程序简洁明了,调试方便,稳定性强。

5.9 编程源代码:

/*!

* MindPlus

* uno

*

*/

#include <DFRobot_Servo.h>

#include <DFRobot_SYN6288.h>

#include <DFRobot_NeoPixel.h>

#include <DFRobot_HuskyLens.h>

 

// 动态变量

volatile float mind_n_KaiGuan, mind_n_JieShouShuJu;

// 函数声明

void DF_RenLianShiBie();

void DF_open();

void DF_close();

void DF_ChuShiHua();

void DF_LanYa();

void DF_AnJian();

// 创建对象

DFRobot_HuskyLens huskylens;

DFRobot_SYN6288   syn6288;

Servo             servo_10;

DFRobot_NeoPixel  neoPixel_11;

SoftwareSerial    softSerialSyn6288(3, 2);

 

 

// 主程序开始

void setup() {

servo_10.attach(10);

DF_ChuShiHua();

}

void loop() {

DF_LanYa();

DF_RenLianShiBie();

DF_AnJian();

}

 

 

// 自定义函数

void DF_RenLianShiBie() {

huskylens.request();

huskylens.clearOSD();

if ((huskylens.isLearned(1) && (huskylens.isLearned(2) && (huskylens.isLearned(3) && huskylens.isLearned(4))))) {

if (huskylens.isAppear(1,HUSKYLENSResultBlock)) {

huskylens.writeOSD(String(“my_father”), 230, 35);

syn6288.playText(“爸,您回来啦”, 0);

while (!syn6288.isIdle()) {}

DF_open();

delay(5000);

DF_close();

}

else if (huskylens.isAppear(2,HUSKYLENSResultBlock)) {

huskylens.writeOSD(String(“my_mather”), 230, 35);

syn6288.playText(“妈,您回来啦”, 0);

while (!syn6288.isIdle()) {}

DF_open();

delay(5000);

DF_close();

}

else if (huskylens.isAppear(3,HUSKYLENSResultBlock)) {

huskylens.writeOSD(String(“my_sister”), 230, 35);

syn6288.playText(“姐,您回来啦”, 0);

while (!syn6288.isIdle()) {}

DF_open();

delay(5000);

DF_close();

}

else if (huskylens.isAppear(4,HUSKYLENSResultBlock)) {

huskylens.writeOSD(String(“me”), 230, 35);

syn6288.playText(“我回来了”, 0);

while (!syn6288.isIdle()) {}

DF_open();

delay(5000);

DF_close();

}

}

else {

syn6288.playText(“请联系我的家人。”, 0);

delay(5000);

while (!syn6288.isIdle()) {}

}

}

void DF_open() {

digitalWrite(12, HIGH);

digitalWrite(9, LOW);

delay(1000);

servo_10.angle(abs(90));

delay(2000);

neoPixel_11.setRangeColor(0, 7, 0xFF0000);

}

void DF_close() {

digitalWrite(12, LOW);

servo_10.angle(abs(0));

delay(5000);

digitalWrite(9, HIGH);

delay(1000);

neoPixel_11.setRangeColor(0, 7, 0x000000);

syn6288.playText(“记得锁门”, 0);

}

void DF_ChuShiHua() {

mind_n_KaiGuan = 0;

Serial.begin(115200);

neoPixel_11.begin(11, 8);

servo_10.angle(abs(0));

neoPixel_11.setRangeColor(0, 7, 0x000000);

huskylens.beginI2CUntilSuccess();

huskylens.writeAlgorithm(ALGORITHM_FACE_RECOGNITION);

digitalWrite(12, LOW);

syn6288.begin(&softSerialSyn6288, 4);

syn6288.playText(“智能管家初始化成功”, 0);

}

void DF_LanYa() {

if ((Serial.available())) {

mind_n_JieShouShuJu = Serial.read();

if ((mind_n_JieShouShuJu==97)) {

DF_open();

}

if ((mind_n_JieShouShuJu==98)) {

DF_close();

}

}

}

void DF_AnJian() {

if (digitalRead(8)) {

delay(500);

if ((mind_n_KaiGuan==0)) {

DF_open();

mind_n_KaiGuan = 1;

}

else {

DF_close();

mind_n_KaiGuan = 0;

}

}

}

六、设计思考

本作品是本人将学习的技术应用于日常生活的一次勇敢尝试,深刻理解到技术来源于生活,服务于生活;科技的最终成果必都将应用于现实生活中;将科技与创新紧密结合,才能顺应时代发展潮流,抓住历史的机遇,迎来飞跃和发展,让生活更美好。希望未来能创造出更优秀的作品,帮助身边更多的人,为时代动脉贡献自己的绵薄之力。

 

 

 

 

 

 

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部