Mục lục:

Trình giữ mật khẩu trên Aruino Pro Micro
Trình giữ mật khẩu trên Aruino Pro Micro

Video: Trình giữ mật khẩu trên Aruino Pro Micro

Video: Trình giữ mật khẩu trên Aruino Pro Micro
Video: [Lập trình Arduino - KCQ - 4.2] - Giao tiếp nút Keypad 4x4 (Ma trận phím) - dùng 8 chân GPIO 2024, Tháng bảy
Anonim
Trình giữ mật khẩu trên Aruino Pro Micro hoặc Tại sao lại giữ nó đơn giản khi tồn tại cách công phu!
Trình giữ mật khẩu trên Aruino Pro Micro hoặc Tại sao lại giữ nó đơn giản khi tồn tại cách công phu!

Có vẻ như, vấn đề chính đối với vi điều khiển dành cho người hâm mộ điện tử (đặc biệt là người mới bắt đầu) là tìm ra nơi áp dụng chúng:) Thiết bị điện tử Nowaday, đặc biệt là kỹ thuật số, ngày càng trông giống như một ma thuật đen. Chỉ những người khôn ngoan 80-Lvl mới có thể làm điều gì đó ở đó với các thành phần nhỏ. Đó là một lý do tại sao bảng Arduino trở nên rất phổ biến. Họ gói ma thuật đen và một số khói;) vào bảng bằng các chốt do con người quản lý.

Bài đăng này tôi muốn dành cho một dự án khá đơn giản, có tên là PasswordKeeper, trên nền của bo mạch Aruino Pro Micro. Bo mạch này lưu trữ chip ATmega32U4.

Bước 1: Ý tưởng

Ý tưởng
Ý tưởng

Trong một thời gian dài, tôi đã muốn làm một cái gì đó đơn giản và hữu ích với một số bộ điều khiển. Và rồi một đồng nghiệp của tôi đã nảy ra một ý tưởng thú vị - anh ta quá lười nhập thông tin đăng nhập và mật khẩu vào máy tính của mình mỗi ngày. Vì vậy, ông đã lấy bảng DigiSpark (ATTiny85) nhỏ bé và tạo ra một thiết bị gửi thông tin đăng nhập + mật khẩu đến máy tính khi được nhấp vào nút. Đây là kế hoạch này.

Bước 2: Ý tưởng và đấu dây

Ý tưởng và Hệ thống dây điện
Ý tưởng và Hệ thống dây điện

Ý tưởng tuyệt vời - tôi nghĩ. Tại sao không mượn nó và áp dụng một số sáng tạo điên rồ vào nó.

Xây dựng lại dự án Arduino và tải lại nó vào bảng mỗi khi thay đổi mật khẩu - "Nó không phải là droid bạn đang tìm kiếm" [wave]. Nó quá đơn giản. Chúng tôi sẽ đi theo con đường rối hơn nhiều!

Kế hoạch sẽ cho thấy nó hoạt động như thế nào. Nhưng chỉ có ba đèn LED tiêu chuẩn trên bo mạch - quá ít cho mục đích này. Hãy nâng số LED lên 4099! Vì vậy, một mô-đun màn hình OLED 128X32 nhỏ đã được thêm vào dự án. Tôi không thể nghĩ ra nơi để kêu nó trong một lúc. Và nó hoàn toàn phù hợp với dự án này. Thêm một vài nút nữa - và tất cả đã sẵn sàng!

Không có đủ dung lượng trong chip ATTiny85 cho dự án - thêm màn hình được kéo cho thư viện đồ họa + phông chữ. Vì vậy, tất cả những thứ này không vừa với bộ nhớ DigiSpark. Tìm kiếm nhanh đi kèm với một nền tảng phù hợp: Arduino Pro Micro.

Ý tưởng chính của dự án là ATmega32U4 mặc định đóng giả thiết bị HID - bàn phím USB và cổng USB COM. Trình điều khiển cho các thiết bị này đã được cài đặt sẵn trong hầu hết các hệ điều hành - và không cần thiết lập gì khác.

PasswordKeeper, khiến bạn chú ý, là một chindogu bắt chước cách nhấp vào các nút trên bàn phím. Những đoạn này có thể chuyển thông tin đăng nhập và mật khẩu sang máy tính. Ngay cả Ctrl-Alt-Del phổ biến cũng có thể được gửi bằng cách nhấp vào 1 nút thay vì 3. Hoặc bất kỳ chuỗi phím nào khác theo sở thích của bạn.

Hệ số hình thức của các mô-đun được chọn rất nhỏ gọn, nhưng không bao giờ lỗi, dễ bị rối. Có thể với những nỗ lực tối thiểu để lắp ráp thiết bị nhỏ và khá hữu ích. Hệ thống dây điện không thể đơn giản hơn.

Bước 3: Nấu ăn

Nấu nướng
Nấu nướng

Thành phần đóng gói:

1) Aruino Pro Micro - 1 miếng

2) Màn hình OLED 128x32 - 1 mảnh

3) Các nút - 2 mảnh (hoặc bất kỳ loại nào khác - bởi người hoàn thiện).

4) Đầu nối DuPont - 7 mảnh (hoặc một số dây để hàn tất cả lại với nhau - theo hương vị).

Cho tất cả vào hộp đựng thức ăn nhỏ và lắc kỹ. Theo lý thuyết xác suất, các mục cuối cùng sẽ kết nối với nhau theo cách đúng đắn.

Ồ, chờ đã! Nó không phải là bài viết liên quan đến nấu ăn! Tôi xin lỗi.

Tốt hơn bạn nên kết nối tất cả lại với nhau theo cách thủ công - theo sơ đồ đấu dây và tiết kiệm cho mình một vài lần rung lắc.

Vì vậy, nguyên mẫu để gỡ lỗi phác thảo / kiểm tra đã sẵn sàng.

Bước 4: Xây dựng trường hợp

Xây dựng một trường hợp
Xây dựng một trường hợp

Bản phác thảo dường như đang hoạt động. Nhưng nó là bất tiện khi sử dụng thiết bị ở dạng này. Vì vậy, một công việc nhỏ trong Sketchup cung cấp cho chúng ta một khung nhỏ.

Cập nhật: Một ý tưởng về trường hợp.

Bạn có thể lấy bất kỳ hộp nhựa nhỏ trong suốt thích hợp nào.

Hoặc lấy nhựa mỏng trong suốt từ một số bao bì. Uốn cong nó theo hình học của thiết bị. Đặt thiết bị điện tử bên trong và lấp đầy tất cả không gian trống bằng silicon trong suốt. Nó sẽ cung cấp cho bạn một thiết bị tương đối đẹp.

Bước 5: Sơn 3D

Sơn lót 3D
Sơn lót 3D

Đưa nó vào máy in 3D gần nhất.

Bước 6: Vỏ hộp đã sẵn sàng

Trường hợp đã sẵn sàng
Trường hợp đã sẵn sàng

Và như thường lệ, sự vội vàng là cần thiết khi bắt bọ chét.

Phiên bản đầu tiên của vỏ là một chút nhỏ và bảng không phù hợp!

Akela đã bỏ lỡ để để lại một số khoảng trống. Vì vậy bản vẽ được sửa chữa và in lại.

Vượt qua thứ hai tốt hơn - bảng hoàn toàn phù hợp.

Bước 7: Thử trường hợp

Đang thử trường hợp
Đang thử trường hợp

Đặt bảng bên trong, ấn vào nó và với một tiếng rắc đặc trưng, nó được khóa vào vị trí.

Thử các nút - chúng cũng vừa vặn.

Bước 8: Hàn. Dây điện

Hàn. Dây điện
Hàn. Dây điện

Nhân tiện, tôi đã tìm kiếm một dây tạo mẫu tốt trong một thời gian dài.

Kết quả là, bây giờ tôi sử dụng dây 30AWG trong các dự án của mình. Bạn có thể thấy chúng trên ảnh. Nó đang quấn dây.

Ngày nay ít người còn nhớ nó dùng để làm gì.

Nhưng nó cũng hoàn toàn phù hợp để hàn trên bo mạch. Dây màu tốt cho việc dọn dẹp mớ hỗn độn thông thường bằng cách gán các màu riêng biệt cho các chức năng của dây. Dây mỏng. Vật liệu cách nhiệt chịu được nhiệt độ của mỏ hàn tốt. Vật liệu cách nhiệt PVC điển hình tan chảy trong quá trình hàn ngay lập tức. Cái này trở nên mềm hơn, nhưng vẫn giữ nguyên hình dạng và cho phép thỉnh thoảng chạm vào đầu mỏ hàn mà không bị chảy vào lõi.

Bước 9: PwKeeper đã sẵn sàng

PwKeeper đã sẵn sàng
PwKeeper đã sẵn sàng

Vì vậy, kết hợp tất cả lại với nhau sẽ mang lại cho chúng ta một mã thông báo nhỏ kết nối với máy tính và cho phép bạn quản lý và sử dụng

khá nhiều thông tin đăng nhập và mật khẩu.

Bước 10: PwKeeperPc - Chỉnh sửa dữ liệu dễ dàng trong mã thông báo

PwKeeperPc - Chỉnh sửa dữ liệu dễ dàng trong mã thông báo
PwKeeperPc - Chỉnh sửa dữ liệu dễ dàng trong mã thông báo

Số lần đăng nhập bị giới hạn bởi dung lượng bộ nhớ EEPROM trên bo mạch (1024 byte) và độ dài của mật khẩu.

Bộ nhớ EEPROM lưu giữ một số bản ghi.

Mỗi bản ghi chứa trường nhận xét và tối đa 8 trường văn bản.

Hai trong số các trường văn bản được đặt tên là Tên và Mật khẩu - chỉ để thuận tiện cho việc quản lý.

Màn hình hiển thị cho phép bạn chọn thông tin đăng nhập mong muốn hiển thị cho bạn các trường bình luận.

Nó cũng cho phép bạn chỉnh sửa dữ liệu trong mã thông báo. Dữ liệu có thể được chỉnh sửa chỉ với hai nút. Tôi kêu lên một số loại Editor vào mã thông báo. Nhưng, thành thật mà nói, bạn nên là một người tự bạo để sử dụng nó.

Do đó, để đơn giản hóa việc quản lý mật khẩu, tôi đã phải viết một chương trình đặc biệt cho PC (nhân tiện - đừng quên chuyển mã thông báo sang chế độ USB khi bạn sử dụng chương trình này).

Cập nhật: Đối với những người * nix, tôi đã thêm bảng điều khiển TTY nối tiếp trong phần sụn PwKeeper v1.4. Bảng điều khiển này được kích hoạt từ menu thiết bị. Kết nối với nó bằng bất kỳ chương trình đầu cuối phù hợp nào - và bạn có thể chỉnh sửa dữ liệu trong PwKeeper bằng một số lệnh giống như VI. Bảng điều khiển cũng có thể sử dụng trên nền tảng Windows. Chỉ cần nhấn Ctrl-Shift-M từ Arduino IDE và bạn đã ở đó (đừng quên kích hoạt TTY trên PwKeeper trước đó). Nhưng tôi nghĩ PwKeeperPc tiện lợi hơn nhiều.

Bước 11: PwKeeper đang chạy

PwKeeper đang chạy!
PwKeeper đang chạy!

Mã thông báo chứa dữ liệu rất nhạy cảm nên cần phải nỗ lực bảo mật.

Mật khẩu chính để mở khóa mã thông báo tồn tại.

Nó trống theo mặc định, nhưng khi bạn đặt nó trong mã thông báo, bạn nên nhập nó mỗi lần sau khi bật nguồn.

Mật khẩu chính là một chuỗi do người dùng xác định các lần nhấp chuột đơn và nhấp đúp vào các nút lên và xuống.

Bước 12: Dòng suy nghĩ

Về mặt lý thuyết, có thể mã hóa dữ liệu trong EEPROM bằng một số thuật toán mật mã - một số không gian vẫn còn trống trong flash, nhưng những nỗ lực này sẽ không được nhìn thấy từ bên ngoài - vì vậy tôi không bận tâm.

Mã thông báo ở trạng thái bình thường không hiển thị với máy tính. Để đưa nó vào chế độ chỉnh sửa USB, bạn nên thực hiện bằng cách nhấn các nút trên nó. Tương tự như vậy, để gửi mật khẩu, bạn nên nhấn nút LÊN. Vì vậy, tin tặc độc hại sẽ không đánh cắp mật khẩu của bạn từ mã thông báo. Anh ấy sẽ bắt được chúng trên cổng USB khi bạn gửi chúng từ mã thông báo;)

Kết quả của dự án này là một kế hoạch mà tôi lưu trữ mật khẩu cho các tài khoản ngân hàng và diễn đàn của mình. Ngoài ra, bố mẹ tôi cũng thấy nó hữu ích khi đăng nhập vào web mail và một số trang khác.

Đặc biệt đối với đồng nghiệp của tôi, tôi đã lập trình tất cả các đầu vào còn lại của bo mạch dưới dạng các nút truy cập nhanh. Có thể kết nối tối đa 12 nút từ các chân đầu vào còn lại với mặt đất. Bằng cách nhấp vào một trong những nút này, bạn sẽ chuyển sang đăng nhập tương ứng (nếu nó tồn tại). Vì vậy, bạn chỉ phải nhấn nút UP để gửi nó. Hoặc giữ một nút tắt lâu hơn một chút.

Bước 13: Kiểm tra-1

Kiểm tra-1
Kiểm tra-1

Trước khi ra mắt công chúng PwKeeper đã trải qua quá trình kiểm tra tỉ mỉ.

Bước 14: Kiểm tra-2

Kiểm tra-2
Kiểm tra-2

Trưởng phòng kiểm tra vừa mới thức dậy và không có tâm trạng.

Nhưng anh ta vẫn luôn cau mày - tại sao thiết bị rõ ràng chưa hoàn thành lại được đưa ra công chúng.

Những lời của tôi, rằng anh ấy cần phải kiểm chứng chất lượng sản phẩm và rất khó để làm với trường hợp đóng cửa, đã bị anh ấy phớt lờ.

Mới hơn (sau khi hối lộ bằng xúc xích) anh ta đã cấp giấy chứng nhận phê chuẩn.

Đề xuất: