Mục lục:
- Quân nhu
- Bước 1: Tổng quan
- Bước 2: Lập trình Puck
- Bước 3: Tạo ứng dụng Android
- Bước 4: Thiết kế vỏ máy
- Bước 5: Kết hợp tất cả lại với nhau
Video: Talos, Giữ an toàn cho bạn trong quá trình đi làm: 5 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:30
Trở thành nạn nhân của quấy rối khi đang đi làm là một điều khá phổ biến đối với nhiều người, đặc biệt là phụ nữ. Dù ở bất kỳ quốc gia nào, việc sử dụng phương tiện giao thông công cộng thường đồng nghĩa với việc bạn biết mình có thể bị quấy rối tình dục, hoặc thậm chí bị theo dõi khi đang đi bộ về nhà. Trong những tình huống đó, không phải lúc nào cũng dễ dàng phản ứng và đánh giá mối đe dọa, từ một sự sợ hãi đơn giản từ một cuộc gọi đến một mối lo ngại thực sự về một điều gì đó tồi tệ có thể xảy ra. Sợ hãi luôn là một yếu tố, và việc không muốn thu hút sự chú ý của kẻ quấy rối tiềm năng có thể khiến chúng ta không thể cảnh báo cho người mà chúng ta tin tưởng.
Talos là một thiết bị nhỏ kết nối với điện thoại của bạn và cho phép bạn gửi tin nhắn cho người bạn chọn. SMS tự động bao gồm vị trí đã biết gần đây nhất của bạn và văn bản được ghi trước mà bạn chọn. Với sự xuất hiện của một chiếc móc khóa đơn giản, Talos vẫn được kẹp vào túi của bạn và cho phép bạn tùy ý kích hoạt nó bằng cách nhấn vào nó, thao tác này sẽ kích hoạt gửi tin nhắn văn bản. Mức tiêu thụ điện năng thấp của nó có nghĩa là bạn không phải sạc nó hàng ngày và có nguy cơ quên nó - hoặc chỉ được nhắc nhở hàng ngày về mối đe dọa mà bạn phải đối mặt.
Dự án này có ba phần:
- Mô-đun vật lý: Tôi đã sử dụng mô-đun Puck-js, dựa trên mô-đun nRF52832 và có thể được lập trình bằng Javascript nhờ ứng dụng Espruino- Android: Tôi đã tạo một ứng dụng đơn giản kết nối với mô-đun. che cho Puck JS trông giống như một chiếc móc khóa đơn giản
Quân nhu
- Mô-đun Puck.js (https://www.puck-js.com)
- Điện thoại Android có ít nhất phiên bản 8.0- Máy tính cài đặt Android Studio
- Máy in 3D (tùy chọn)
Bước 1: Tổng quan
Sơ đồ này sẽ cung cấp cho bạn ý tưởng về các thành phần khác nhau: bản thân mã trên mô-đun Puck thực sự đơn giản và chúng tôi đang để ứng dụng Android xử lý kết nối thay vì quét Puck cho điện thoại. Chúng tôi sẽ sử dụng Bluetooth Low Energy và các đặc điểm của nó để giao tiếp giữa ứng dụng và thiết bị, nhằm duy trì tuổi thọ pin
Bước 2: Lập trình Puck
Sau khi kiểm tra trên puck-js.com rằng trình duyệt và máy tính của bạn hỗ trợ Web Bluetooth, hãy truy cập www.espruino.com/ide và kết nối với Puck của bạn bằng cách nhấp vào biểu tượng phích cắm ở góc trên cùng bên trái của trang.
Sau đó, bạn có thể sao chép và dán mã từ tệp đính kèm vào trình chỉnh sửa và gửi đến Puck.
Trong phần đầu tiên của mã, chúng tôi đang xác định chức năng Blink và updateCharacteristic, chúng tôi sẽ sử dụng sau này trong mã. Trong hàm updateCharacteristic, chúng tôi đang gán ngày hiện tại cho đặc tính để đảm bảo rằng nó thực sự sẽ được xem như một giá trị mới. Sau đó, chúng tôi sẽ thông báo cho bất kỳ người đăng ký nào về bản cập nhật này.
Sau những khai báo đó, vào đoạn mã sẽ được thực thi:
Mã trên dòng 56 cho phép bạn truy xuất địa chỉ thực của Puck của bạn, mà bạn sẽ cần phải mã hóa harcdode trong ứng dụng Android: bỏ ghi chú dòng này và bạn sẽ thấy địa chỉ trên nhật ký ở phía bên trái của IDE (xem đính kèm ảnh chụp màn hình). Khi bạn có giá trị này, bạn có thể nhận xét dòng hoặc để nó theo cách đó.
Sau đó, chúng tôi đang xác định một dịch vụ BLE tùy chỉnh (UUID là giá trị ngẫu nhiên) với ba đặc điểm khác nhau, tất cả đều đáng chú ý. Chúng tôi sẽ không sử dụng bản thân các giá trị để truyền tải thông điệp của mình mà chỉ sử dụng thực tế là chúng đã thay đổi.
Trên dòng 78 và 79, chúng tôi đặt một số bộ nghe sẽ khiến đèn LED tích hợp nhấp nháy bất cứ khi nào thiết bị được kết nối hoặc ngắt kết nối với thiết bị Bluetooth khác. Cuối cùng, trên dòng 81, chúng tôi đang gắn một ngắt vào nút tích hợp để nhấn vào nó sẽ gọi hàm updateCharacteristic
Bước 3: Tạo ứng dụng Android
Vì toàn bộ ứng dụng bao gồm một số thư viện khá nặng, tôi chỉ bao gồm các tệp nguồn và tệp gradle cho ứng dụng bên trong tệp zip đính kèm. Để làm cho nó hoạt động, bạn cần khởi chạy Android studio và tạo một dự án mới (chọn Hoạt động trống, xem ảnh chụp màn hình). Chọn 26 (Android 8.0, Oreo) làm phiên bản tối thiểu cho ứng dụng vì một số mã tôi đã viết sử dụng các API không tồn tại trước đó. Khi dự án của bạn được thiết lập, bạn sẽ có tệp build.gradle cho Ứng dụng (được đánh dấu là build.gradle - Mô-đun: Ứng dụng). Mở nó và sao chép nội dung từ tệp zip: IDE sẽ nhắc bạn thực hiện đồng bộ hóa Gradle trong đó nó sẽ tải xuống thư viện Bắc Âu mà ứng dụng dựa vào. Sau đó, bạn có thể khởi chạy ứng dụng một lần và kiểm tra xem nó có hoạt động không.
Sau khi ứng dụng được cài đặt trên thiết bị của bạn, hãy chuyển đến menu cài đặt, chọn Ứng dụng và tìm ứng dụng trong danh sách. Chọn nó và nhấp vào "Autorisations". Ở đó, bạn sẽ có một vài nút radio sẽ bị tắt theo mặc định: hãy kiểm tra tất cả chúng để đảm bảo rằng ứng dụng có quyền truy cập vào mọi thứ mà ứng dụng cần.
Bây giờ bạn có thể nhập các tệp nguồn từ kho lưu trữ zip: cách dễ nhất để làm điều đó là tạo các lớp mới (nhấp chuột phải, tệp / lớp Kotlin mới) và đặt chúng cùng tên với các lớp từ kho lưu trữ. Khi tệp lớp được mở, bạn có thể thoải mái sao chép và dán mã vào chúng.
Nếu bạn chỉ muốn sử dụng ứng dụng, chỉ cần sửa đổi địa chỉ ở dòng 31 trên lớp BTService và nhập địa chỉ bạn đã lấy được ở bước trước đó. Bây giờ bạn sẽ có thể biên dịch ứng dụng và chạy nó trên thiết bị của mình!
Nếu bạn muốn biết thêm về cách ứng dụng hoạt động, hãy đọc tiếp:-)
Sơ đồ sau sẽ cho bạn hiểu rõ hơn về những gì xảy ra bên trong ứng dụng: - MainActivity là cái mà người dùng sẽ chỉ sử dụng một lần trong một thời gian: mục đích chính của nó là để họ có thể nhập số điện thoại của người đó. họ muốn liên hệ khi sử dụng Talos, cũng như văn bản để gửi cho họ.
- BTService là một dịch vụ nền, có nghĩa là bất cứ khi nào nó được khởi chạy, nó sẽ tạo ra một thông báo liên tục để hạn chế việc giống như dịch vụ bị Android khai tử. Dịch vụ này cố gắng kết nối với Talos bằng quy trình Bluetooth Low Energy cổ điển - Tôi đã sử dụng mã mẫu của Nordic và các tài nguyên khác mà tôi có thể tìm thấy. Ngay bây giờ, có vẻ cụ thể cho UUID của Puck: bạn nên thay đổi giá trị này (private val remoteMacAddress = "CF: EB: 2F: 6E: 33: 30") để khớp với địa chỉ của chính thiết bị của bạn đã lấy ở bước trước. Sau khi tìm thấy thiết bị và kiểm tra rằng nó có dịch vụ mà chúng tôi đang tìm kiếm, nó sẽ đăng ký các thông báo về đặc tính sẽ được cập nhật bất cứ khi nào người dùng nhấn nút.
Khi BTService nhận được bản cập nhật cho đặc tính này, nó sẽ kích hoạt một đối tượng LocalBroadcast để các thành phần khác của ứng dụng phản ứng. Nó cũng sẽ gọi SMSIntentService để nó gửi SMS
- SMSIntentService sẽ lấy số điện thoại và văn bản từ SharePreferences để người dùng nhập các giá trị cuối cùng. Sau đó, nó sẽ tự động gửi SMS mà không cần người dùng tương tác với ứng dụng và thêm vị trí đã biết cuối cùng của người dùng vào SMS.
Bước 4: Thiết kế vỏ máy
Hộp đựng hiện tại mà Puck đi kèm đã bao gồm một vòng nhỏ để gắn vào móc khóa, vì vậy chúng tôi gần như có thể để nó theo cách đó. Lớp vỏ silicon màu trắng mà tôi tình cờ vẫn thấy khá kỳ lạ nên để nó không thu hút bất kỳ sự nghi ngờ nào, tôi đã thiết kế một vật đơn giản để đặt lên trên Puck. Họ nói rằng một bức ảnh có giá trị một nghìn từ, tôi nghĩ tôi sẽ cung cấp cho bạn 25 hình ảnh mỗi giây: trong video sau, bạn sẽ thấy cách tôi sử dụng Fusion 360 để tạo thiết kế, bao gồm các lệnh và phím tắt mà tôi đã sử dụng:
Bước 5: Kết hợp tất cả lại với nhau
Bây giờ bạn đã có các thành phần khác nhau, đã đến lúc ghép chúng lại với nhau! Vỏ hiện tại của mô-đun Puck đã có một lỗ mà bạn có thể sử dụng để lắp dây chuyền - Tôi tình cờ có một chiếc móc khóa cũ mà tôi đã tháo rời, nhưng bạn cũng có thể mua chúng một cách dễ dàng. Dùng kìm tách chiếc nhẫn ra - khi bạn đã định vị được lỗ của chiếc nhẫn, hãy di chuyển từng nửa vòng theo các hướng ngược nhau, một nửa về phía bạn và nửa kia cách xa bạn. Sau đó, bạn có thể lắp chiếc nhẫn vào Puck và đóng nó lại.
In 3D thiết kế bạn vừa tạo - Tôi đã sử dụng một số PLA màu tím và gắn lên trên trên Puck
Đề xuất:
Giữ an toàn cho Windows của bạn: 10 bước
Giữ an toàn cho Windows của bạn: HACKING- Một từ hấp dẫn nhưng lại khiến tất cả chúng ta sợ hãi. Nó có nghĩa là bạn có thể trở thành một người hoàn toàn hay ho về công nghệ hoặc trở thành người bị hack. Trong thế giới kỹ thuật số ngày nay, nơi mọi thứ đều phụ thuộc vào máy tính và điện thoại thông minh, việc bị tấn công không phải là điều chúng ta
Làm cho điện tử và lập trình dễ học với bàn làm việc tự làm trực quan: 3 bước
Làm cho điện tử và lập trình dễ học với bàn làm việc tự làm trực quan: Bạn đã bao giờ muốn truyền cảm hứng cho trẻ em học về điện tử và vi điều khiển? Nhưng vấn đề chung mà chúng ta thường gặp phải là các kiến thức cơ bản về lĩnh vực này khá khó đối với trẻ nhỏ. Có một vài bảng mạch trên
Cảm biến chặn ánh sáng Arduino (Mô-đun ngắt ảnh) - Giữ an toàn cho thẻ của bạn (Nguyên mẫu): 4 bước
Arduino Light Blocking Sensor (Photo Interrupter Module) - Giữ an toàn cho thẻ của bạn (Nguyên mẫu): Dự án này là một nguyên mẫu và trong dự án này, tôi sẽ thảo luận về cách các thẻ của bạn - chẳng hạn như thẻ tín dụng, thẻ ghi nợ, thẻ quà tặng - có thể được giữ an toàn. Hãy xem những hình ảnh ở trên để biết dự án này hoạt động như thế nào. Hãy để tôi cho bạn một cái nhìn sơ lược về
Cách giữ cho PC của bạn chạy NHANH CHÓNG và HIỆU QUẢ: 7 bước
Cách giữ cho PC của bạn chạy NHANH CHÓNG và HIỆU QUẢ: Tài liệu hướng dẫn này sẽ hướng dẫn bạn từng bước về cách dọn dẹp máy tính của bạn và giữ cho nó chạy nhanh mà không phải trả tiền cho một trong những chương trình tuyệt vời đó
Lily điện hoặc ghim an toàn: Cách an toàn và trông tốt khi làm việc đó: 9 bước (có hình ảnh)
Lily điện hoặc Chốt an toàn: Làm thế nào để An toàn và Trông Tốt khi Làm Điều đó: Tài liệu hướng dẫn này dành cho người đi bộ và người đi xe đạp. Ai muốn được nhìn thấy vào ban đêm mà vẫn nhìn tốt. Hãy tặng nó cho bạn gái của bạn, chị gái của bạn, anh trai của bạn, anh trai nhà bạn hoặc thậm chí là mẹ của bạn. Bất kỳ ai sành điệu và đi bộ, chạy hoặc đi xe đạp vào ban đêm!!!