亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

通过 Arduino 为 Android/iOS/Win10 设备创建安全区

组件和用品

HC-05 蓝牙串行无线模块
× 1
Arduino Nano R3
× 1
R301T 半导体指纹模组
× 1
5mm RGB 三色 4Pin LED
× 1

应用和在线服务

Arduino IDE

关于这个项目

在本文中,我们想要制作一个很酷的小工具,它可以为您的设备设置一个安全区以进行解锁。在本项目结束时,您:

  • 将学习如何使用指纹传感器。
  • 将学习如何将您的设备与安全区小工具配对。
  • 将制作一个很酷的小工具,称为安全区。

锁定和解锁设备

如今,我们对智能设备的使用得到了改进,我们在设备中拥有许多不同的数据,例如聊天内容、联系人、图像、笔记等。但是其中一些需要对我们保密,这非常重要,也许这是将我们的设备设置为锁定的主要原因。所有智能设备都有不同的设置锁定或解锁模式的方法,但有时当您需要通过安全部分才能使用设备时,它们会限制并给我们带来不好的感觉。例如,当您在私人房间工作并且附近没有尸体时,您不需要安全部分,并且为您的设备制定关闭计划有点复杂。

所以,我们有一个想法,制作一个可以连接我们所有智能设备的小工具,当我们想在没有安全性的情况下轻松工作时,我们只需通过我们的手指 ID 激活它。小工具激活后,它会通过蓝牙与我们的设备配对,直到小工具靠近它们才会解锁。

R301T指纹模组

在本项目中,我们使用 R301T 传感器模块与控制器(例如 Arduino)进行串行通信以交换数据。首先,我们以用户身份为 R301T 设置指纹,并将其连接到 Arduino Tx 和 Rx 引脚。我们使用了一个名为 HC-05 的蓝牙模块,并将其与我们的设备配对一次。现在我们将为 Arduino 编写一个代码,并在用户激活小工具打开蓝牙时说出来。加油吧!

电路

代码

您必须添加指纹传感器的库,然后上传代码。如果您是第一次使用 Arduino 板,请不要担心,只需按照以下步骤操作即可:

  • 转到 www.arduino.cc/en/Main/Software 并下载与您的操作系统兼容的 Arduino 软件。按照说明安装 IDE 软件。
  • 运行 Arduino IDE 并清除文本编辑器,然后在文本编辑器中复制以下代码。
  • 在工具和板中选择板,选择您的 Arduino 板。
  • 将 Arduino 连接到您的 PC 并在工具和端口中设置 COM 端口。
  • 按下上传(箭头符号)按钮。
  • 一切就绪!
#include "Adafruit_Fingerprint.h"#include "SoftwareSerial.h"SoftwareSerial mySerial(2, 3);Adafruit_Fingerprintfinger =Adafruit_Fingerprint(&mySerial);int cc=0;void setup() { Serial.begin( 9600);而(!串行); // 对于云/狮子/微/零/... delay(100); Serial.println("\n\nAdafruit 手指检测测试"); // 设置传感器串口的数据速率finger.begin(57600); if (finger.verifyPassword()) { Serial.println("找到指纹传感器!"); } else { Serial.println("没有找到指纹传感器:("); while (1) { pinMode(13,OUTPUT); digitalWrite(13,LOW); pinMode(9,OUTPUT); digitalWrite(9,HIGH); } } 手指.getTemplateCount(); Serial.print("传感器包含"); Serial.print(finger.templateCount); Serial.println("模板"); Serial.println("等待有效手指..." );}void loop() // 一遍又一遍地运行{ getFingerprintIDez(); delay(50); // 不需要全速运行。}uint8_t getFingerprintID() { uint8_t p =finger.getImage( ); switch (p) { case FINGERPRINT_OK:Serial.println("图片拍摄"); break; case FINGERPRINT_NOFINGER:Serial.println("未检测到手指"); return p; case FINGERPRINT_PACKETRECIEVEERR:Serial.println("通信错误" ); return p; case FINGERPRINT_IMAGEFAIL:Serial.println("Imaging error"); return p; default:Serial.println("Unknown error"); return p; } // OK 成功!p =finger.image2Tz(); switch (p) { case FINGERPRINT_OK:Serial.println("图像转换"); break; case FINGERPRINT_IMAG EMESS:Serial.println("图片太乱");返回 p; case FINGERPRINT_PACKETRECIEVERR:Serial.println("通信错误");返回 p; case FINGERPRINT_FEATUREFAIL:Serial.println("找不到指纹特征");返回 p; case FINGERPRINT_INVALIDIMAGE:Serial.println("找不到指纹特征");返回 p;默认值:Serial.println("未知错误");返回 p; } // 成功转换! p =手指.fingerFastSearch(); if (p ==FINGERPRINT_OK) { Serial.println("找到一个打印匹配!"); } else if (p ==FINGERPRINT_PACKETRECIEVEERR) { Serial.println("通信错误");返回 p; } else if (p ==FINGERPRINT_NOTFOUND) { Serial.println("没有找到匹配项");返回 p; } else { Serial.println("未知错误");返回 p; } // 找到匹配项! Serial.print("找到 ID #"); Serial.print(finger.fingerID); Serial.print(" 有信心 "); Serial.println(finger.confidence); for (int i=255;i>1;i--){analogWrite(9,i);延迟(10);}如果(cc%2==0)digitalWrite(13,HIGH);否则数字写入(13,低); cc++; returnfinger.fingerID;}// 失败返回-1,否则返回ID #int getFingerprintIDez() { uint8_t p =finger.getImage();如果 (p !=FINGERPRINT_OK) 返回 -1; p =手指.image2Tz();如果 (p !=FINGERPRINT_OK) 返回 -1; p =手指.fingerFastSearch();如果 (p !=FINGERPRINT_OK) 返回 -1; // 找到匹配项! Serial.print("找到 ID #"); Serial.print(finger.fingerID); Serial.print(" 有信心 "); Serial.println(finger.confidence);返回finger.fingerID; }  

组装

首先,您应该将蓝牙模块与您的设备配对。要与 Win10 配对,请转到设置并搜索登录选项并启用动态锁定并从那里配对您的 BT 模块。对于 Android 智能手机,转到设置> 显示部分> 锁定屏幕,然后从那里启用 Smart Lock 并与 BT 配对。对于 IOS,转到设置,输入 Touch ID 和密码,然后从那里进行设置。

如果您的设备没有自动配对,您可以使用此技巧。第一次尝试配对时,向设备发送一个字符。

下一步是什么?

您可以根据需要改进此项目。以下是一些建议:

  • 尽量让您的小工具对特定位置敏感。
  • 尝试为其他用户提供同样有限的访问权限。

代码

  • 指纹库
指纹库C/C++
无预览(仅限下载)。

制造工艺

  1. 带有 Arduino 的用于飞行模拟器的 LCD 面板
  2. 使用 Arduino 制作流光溢彩监视器
  3. 学校的智能温度监测
  4. Arduino 的 8 位 IO 端口库
  5. 从 iOS 和 Android 在 Arduino 上闪烁 LED
  6. Arduino 的 64 键原型键盘矩阵
  7. 如何用 Arduino 制作音乐
  8. Arduino Nano 的 TFT 扩展板 - 开始
  9. Arduino 的隔离模拟输入
  10. 控制直流电机的技巧
  11. 超酷室内导航机器人
  12. 直接水泵有利于输水