Raspberry Pi Thiên Lý Nhãn (Phần 5): Tìm số điện thoại ông trùm Tổ Chức Áo Đen với Raspberry Pi và webcam

Mô tả dự án: 

Trong cộng đồng chắc cũng không ít các bạn mê truyện thám tử lừng danh Conan. Trong chương 434, Conan tình cờ nghe được Vermouth liên lạc với ông trùm tổ chức áo đen qua điện thoại di động. Chắc là do ả sát thủ này không biết đến Raspberry Pi nên không biết rằng âm thanh phát ra từ bàn phím điện thoại di động có thể bị dùng để giải mã các thông tin quan trọng. Bài này tui sẽ demo cho các bạn hack lấy số điện thoại dựa vào âm thanh bàn phím với Raspberry Pi và webcam.

Nguyên lý

Tham khảo từ wikipedia. Âm thanh của bàn phím điện thoại được tạo bởi nguyên lý lưỡng sắc - đa tầng (Dual-tone Multi-frequency). Khi bạn bấm 1 phím trên điện thoại thì loa ngoài sẽ phát ra âm thanh với 2 tần số riêng biệt dựa vào bảng sau:

Ví dụ như khi bạn bấm phím 1 thì màng loa sẽ rung với tần số 1209 và 697Hz:

Khi bạn bấm nhiều phím thì sóng âm thu được từ webcam sẽ có dạng như sau: (Tui bấm 6 phím)

Như các bạn thấy, chỉ cần thu lại được âm thanh thì việc nhận diện được khi nào điện thoại được bấm là rất dễ dàng. Lật ngược lại vấn đề, để truy tìm số điện thoại, ta chỉ cần chọn dữ liệu nằm trong ô chữ nhật màu xanh dương và dùng biến đổi Fourier để tìm được tần số nằm trong đồ thị điều hoà đó và tra bảng, thế là xong.

Code thoai

Đầu tiên các bạn phải tải module pyaudio:

sudo apt-get install python-pyaudio

Sau đó cắm webcam vào cổng USB và chép đoạn code sau từ github của tui.

Lưu lại với tập tin là DTMF.py.

Sau đó mở terminal và chạy module python

python DTMF.py

Các bạn lấy điện thoại ra và bấm thử vài phím:

Khi có âm thanh không thuộc các tần số quy định thì Python trả kết quả là "None". 

Chúc các bạn sớm tìm được ông trùm!

lên
10 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 
Các dự án được truyền cảm hứng

Attiny13 học lệnh từ remote, điều khiển on/off 3 kênh

Có bao giờ bạn có tự hỏi như mình: liệu có thể làm một thiết bị remote từ xa sử dụng điều khiển TV hay không? Với bài viết Infrared remote control (điều khiển bằng hồng ngoại) với Arduino của bạn NTP_PRO, mình đã làm được điều đó. Nhưng thực sự Arduino UNO quá đắt để làm được việc này! Vì vậy, mình dùng một dòng chip khác là ATtiny13. Và hôm nay, mình sẽ hướng dẫn các bạn làm nên mạch này!

lên
7 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

"Đi học thoai": Phần 6 - Hẹn giờ bật tắt đèn từ xa với Raspberry Pi

Trong bài trước tui đã hướng dẫn các bạn thu thập dữ liệu từ xa với Raspberry Pi và WebIOPi. Bài này chúng ta sẽ tìm hiểu sâu hơn 1 tí về ứng dụng WebIOPi qua việc thiết lập 1 hệ thống điều khiển bóng đèn từ xa qua Internet. Tutorial này được tham khảo từ trang http://webiopi.trouch.com/Tutorial_Basis.html

LƯU Ý: Tutorial này có liên quan đến nguồn điện 220V có thể gây chết người nên đề nghị các bạn cẩn thận. Tui không chịu trách nhiệm nếu tai nạn xảy ra.

lên
3 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 

"Đi học dzìa": Phần 3 - Sử dụng PIR kết hợp Camera và gửi email

Đây là phần 3 của tutorial "Đi học dzìa". Nếu bạn đã chán youtube hoặc bạn dù không ở nhà nhưng vẫn muốn làm điệp viên "Không Không Thấy" kiểm soát xem ai đã về đến nhà và nhận thông báo qua email.

lên
12 thành viên đã đánh giá bài viết này hữu ích.