Mục lục:

Điện thoại di động quay số kiểu cổ điển: 4 bước (có hình ảnh)
Điện thoại di động quay số kiểu cổ điển: 4 bước (có hình ảnh)

Video: Điện thoại di động quay số kiểu cổ điển: 4 bước (có hình ảnh)

Video: Điện thoại di động quay số kiểu cổ điển: 4 bước (có hình ảnh)
Video: 3 cách CHUYỂN CẢNH KINH ĐIỂN trong LÀM PHIM 2024, Tháng sáu
Anonim
Điện thoại di động quay số phong cách cổ điển
Điện thoại di động quay số phong cách cổ điển

Dự án này được thúc đẩy bởi cả nhu cầu thiết thực và mong muốn làm điều gì đó vui vẻ.

Như hầu hết các gia đình hiện đại, chúng ta đã ngừng sử dụng điện thoại "tại nhà" thực sự (có dây) từ nhiều năm trước. Thay vào đó, chúng tôi có thêm thẻ SIM liên kết với số nhà "cũ" của chúng tôi, mà tôi đã mang theo trong điện thoại di động hai sim của mình. Đây là cách thiết lập trong hầu hết thời gian, nhưng nó không hoạt động tốt nhất trong một số trường hợp, như khi chúng tôi có bố mẹ đến thăm (họ là thế hệ cũ - không có điện thoại di động và tôi không thể gọi họ ở nhà khi đi vắng kể từ khi điện thoại "nhà" của chúng tôi ở bên tôi). Điều này cũng được khuếch đại khi tôi chuyển điện thoại (điện thoại mới có khe cắm sim duy nhất). Vì vậy, có vẻ như là một ý tưởng hay khi tìm cách để có một chiếc điện thoại kiểu "gia đình" có thể sử dụng thẻ SIM phụ của chúng tôi.

Về phần thú vị, hầu hết trẻ em ngày nay không có nhiều ý tưởng về cách thức hoạt động của điện thoại quay số cũ, hay thậm chí chúng từng tồn tại như vậy. Ở một phần của thế giới nơi vợ tôi và tôi đến từ, chúng tôi sử dụng cụm từ "quay số" để quay số, điều này gây nhầm lẫn cho dân số trẻ, vì "tại sao mọi người lại quay điện thoại để quay số". Vì vậy, tôi nghĩ rằng sẽ thật tuyệt nếu con trai tôi (người đang tích cực tham gia dự án này) có thể có được kinh nghiệm với điện thoại quay.

Tất nhiên, tôi cũng chắc chắn rằng chiếc điện thoại "mới" này sẽ là một chủ đề trò chuyện thú vị khi chúng tôi có bạn bè và người thân. Hoặc thậm chí tốt hơn, mang theo điện thoại của chúng tôi khi đi thăm bạn bè, khiến mọi người ngạc nhiên với điện thoại di động kiểu cổ điển đầy đủ chức năng.

Trong quá trình dự án, chúng tôi đã thay đổi một số mục tiêu thiết kế ban đầu. Ví dụ: tôi đã nghĩ đến việc nhúng pin bên ngoài có thể sạc lại vào bên trong điện thoại để nó có thể dễ dàng mang đi khắp nơi, nhưng cuối cùng nhận ra rằng điều này là không cần thiết (vì loại điện thoại này tự nhiên luôn ở một nơi, vì vậy nó có thể luôn được cắm vào ổ cắm). Có một số "lối tắt" khác mà chúng tôi có thể thực hiện, giúp dự án tương đối dễ hiểu và không quá phức tạp.

================

Về vật chất, ban đầu tôi hy vọng rằng chúng tôi sẽ có thể nhận được chiếc điện thoại quay cũ từ bố mẹ tôi và sử dụng hầu hết các bộ phận của nó (vỏ điện thoại, mặt số quay, tai nghe, v.v.), điều này sẽ làm giảm chi phí của dự án tổng thể. Điều đó cuối cùng đã không xảy ra do COVID-19 đã ngăn cản chuyến đi dự kiến của chúng tôi đến châu Âu (thăm gia đình), và thay vào đó chúng tôi chỉ tìm và mua điện thoại quay số mới trên Amazon (tôi không hài lòng với các tùy chọn và giá cả trên eBay). Điều này không sao cả, vì nó cung cấp một số chức năng bổ sung thú vị, vì chúng tôi thấy điện thoại quay số xoay có thêm tùy chọn quay số (* và #), thường không khả dụng trên điện thoại cũ.

Phần chính của dự án là GSM / GPRS HAT có sẵn (chúng tôi không cần phiên bản 4G) và có thể được điều khiển trực tiếp bằng bất kỳ bảng Raspberry Pi nào hoặc các bảng tương tự. Trong trường hợp của chúng tôi, chúng tôi có bảng Raspberry Pi Zero nhỏ mà chúng tôi không tích cực sử dụng (từ dự án cũ của con trai tôi).

Điều thú vị là hầu hết các thay đổi về tư duy và thiết kế đều được thực hiện xoay quanh một phần tương đối đơn giản và nhỏ của dự án - tạo ra hành động rung chuông. Như những người quen thuộc với điện thoại cũ đều biết, kiểu chuông cổ điển đặc biệt được tạo ra bởi những chiếc "chuông" được điều khiển bởi 40-60 VAC, đây là một phần của dự án này. Cuối cùng tôi đã quyết định đơn giản hóa phần đó của dự án và kết thúc với giải pháp tương đối đơn giản bằng cách sử dụng mô-đun âm thanh có thể ghi lại thường là một phần của thiệp chúc mừng. Có một số tùy chọn khác, nhưng điều này thực sự hoạt động tốt và là giải pháp tương đối rẻ.

Quân nhu

  • Raspberry Pi Zero W
  • Waveshare GSM / GPRS / GNSS / Bluetooth HAT

  • Mô-đun âm thanh có thể ghi lại, đã kích hoạt nút nhấn
  • (Cũ) Điện thoại quay
  • Thẻ Micro SD (dành cho Raspberry Pi), cáp / chân cắm, tai nghe cũ, v.v.

Bước 1: Chuẩn bị điện thoại

Chuẩn bị điện thoại
Chuẩn bị điện thoại

Điện thoại có dây kiểu cũ là thiết bị tương đối đơn giản. Như có thể thấy từ hình ảnh với điện thoại ban đầu được tách ra, các bộ phận có thể tái sử dụng là vỏ điện thoại chính bao gồm mặt số quay và đế, tai nghe và công tắc của nó, trong khi phần còn lại được lấy ra - chuông rung và bảng điều khiển.

Điều rất hay với mẫu điện thoại cụ thể này là chúng tôi không chỉ có thể sử dụng lại mặt số quay mà còn cả đầu nối của nó, có thể cắm trực tiếp vào tiêu đề trên Raspberry Pi. Cần lưu ý rằng đầu nối này có 3 dây, một để tham chiếu và 2 là đầu vào rời rạc trên Raspberry Pi. Với logic thích hợp (được ghi lại trong mã đính kèm), điều này cho phép phát hiện khi nào quay số và số nào đã được chọn.

Điều tương tự cũng đúng với công tắc tai nghe, có đầu nối có thể cắm trực tiếp vào đầu cắm. Nó là logic đơn giản, vì nó chỉ yêu cầu tham chiếu và một đầu vào rời rạc.

Như dự kiến, cáp tai nghe có 4 dây, mỗi dây có 2 dây cho loa và micrô mức công suất thấp. Vì HAT mà chúng tôi đang sử dụng có giắc cắm âm thanh 3,5 mm cho tai nghe, tôi chỉ cần kết nối 4 dây đó với một trong các phích cắm âm thanh nam 3,5 mm của tai nghe cũ.

Một điều thú vị nữa rất hữu ích từ mẫu điện thoại cụ thể này là gắn các trụ từ đế điện thoại. Mặc dù chúng tôi cần phải cắt một số trong số chúng để tạo không gian cho bảng, chúng tôi vẫn có thể sử dụng lại những cái khác và bảo vệ bảng của chúng tôi. Đây là một kỳ nghỉ tuyệt vời, và tiết kiệm thời gian cho chúng tôi.

Bước 2: Kết hợp mọi thứ lại với nhau

Kết hợp mọi thứ với nhau
Kết hợp mọi thứ với nhau
Kết hợp mọi thứ với nhau
Kết hợp mọi thứ với nhau
Kết hợp mọi thứ với nhau
Kết hợp mọi thứ với nhau

Để có bằng chứng đơn giản về khái niệm, chỉ cần kết nối trực tiếp Raspberry Pi và GSM HAT và cắm tai nghe thông thường vào GSM HAT. Tôi đã có thể sử dụng thiết lập đó cùng với ứng dụng MiniCom (điều khiển cổng nối tiếp Raspberry Pi, được kết nối trực tiếp với GSM HAT) để nhanh chóng kiểm tra xem thẻ SIM của tôi có hoạt động hay không và tôi có thể gọi và gửi / nhận tin nhắn SMS với thiết lập đó.

Vì những người khác có thể muốn làm điều đó (thật thú vị khi nhanh chóng kiểm tra thiết lập mới), đây là các hướng dẫn cách thực hiện điều đó (rõ ràng là dựa trên giả định về các bảng giống nhau / tương tự):

- Cài đặt và cấu hình hệ điều hành trên Raspberry Pi (Tôi đã sử dụng phiên bản Lite OS, không có bất kỳ GUI nào).

- Cắm GSM HAT (đã lắp thẻ SIM) vào Raspberry Pi (đảm bảo rằng GSM HAT có lựa chọn công tắc UART thích hợp dựa trên loại kết nối, xem liên kết bên dưới để biết hướng dẫn sử dụng HAT). Đối với bước này, bạn có thể cần phiên bản Raspberry Pi có đầu nối tiêu đề đã được cài đặt, trong trường hợp của chúng tôi, tôi cần hàn nó vào (vì tôi đang sử dụng Pi 0, theo mặc định không có tiêu đề). Ngoài ra, tùy chọn tốt hơn là sử dụng cáp micro USB để kết nối cả hai thẻ (cả Raspberry Pi và GSM HAT đều có micro USB)

- Cho phép sử dụng cổng nối tiếp Raspberry Pi nếu kết nối GSM HAT thông qua cổng nối tiếp (theo mặc định, cổng Raspberry Pi được sử dụng cho bảng điều khiển). Để làm điều đó, bạn sẽ cần làm theo hướng dẫn cho raspi-config (xem liên kết "config" ở trên), các tùy chọn giao diện - bật SSH và các tùy chọn nối tiếp. Nếu sử dụng phiên bản Lite OS, bạn cũng có thể cần "kết nối với mạng không dây" và bật SSH (xem hướng dẫn từ liên kết "cấu hình" ở trên).

- Kết nối Raspberry Pi với màn hình và bàn phím (hoặc truy cập nó thông qua ssh từ xa)

- Sử dụng MiniCom hoặc ứng dụng nối tiếp tương tự để điều khiển thủ công HAT thông qua cổng thích hợp (đối với cổng thiết lập của tôi là "/ dev / ttyS0", sẽ khác nếu sử dụng micro USB). Cài đặt MiniCom bằng "sudo apt-get install minicom" và sau khi cài đặt, hãy khởi động nó bằng "minicom -D / devtyS0" (hoặc bất kỳ cổng nào được sử dụng).

- Sử dụng hướng dẫn sử dụng GSM HAT hoặc sổ tay AT Command để điều khiển các chức năng HAT khác nhau (gửi SMS, thực hiện cuộc gọi, v.v.). Sau khi được kết nối đúng cách, GSM HAT sẽ trả lời bằng "OK" khi được truy vấn bằng lệnh "AT". Để kiểm tra xem thẻ SIM đã được đăng ký đúng cách hay chưa, hãy sử dụng lệnh "AT + CREG?", Lệnh này cũng sẽ trả về "OK". Bạn cũng có thể xác minh nhà cung cấp mạng bằng "AT + COPS?" Hoặc kiểm tra số điện thoại của chính mình bằng "AT + CNUM"

Để tích hợp phần còn lại của các bộ phận cần thiết, chúng tôi đã tạo cáp 16 chân tùy chỉnh cho Raspberry Pi với GSM HAT, vì chúng tôi cần một số chân IO mục đích chung khác để đọc quay số quay, trạng thái của công tắc tai nghe và để điều khiển chuông (cũng để tự động khởi động GSM HAT trong khi khởi động / khởi động nguồn). Tôi đã cố gắng sử dụng một số dây đứt có sẵn cho Raspberry Pi cho mục đích đó và mặc dù cách đó hoạt động tốt để kết nối và kiểm tra nhanh chóng, nhưng tôi không hài lòng lắm với chất lượng và cuối cùng đã tự tạo đầu nối 16 chân của riêng mình.

Một cách khác để thực hiện kết nối giữa Raspberry Pi và GSM HAT là thông qua cả hai cổng micro USB trên bo mạch (và một lần nữa, bạn sẽ cần đặt công tắc UART thích hợp trên GSM HAT) và đó có thể là một giải pháp nhanh hơn và đơn giản hơn nhiều. Bạn có thể dễ dàng làm điều đó nếu bạn có được cáp thích hợp (điều đó sẽ giúp bạn tiết kiệm thời gian và công sức làm cáp) - chỉ cần đừng quên thay đổi cổng được sử dụng bởi phần mềm / ứng dụng.

Sau khi kết nối bo mạch (với micro USB), phần còn lại rất dễ dàng. Chỉ cần làm theo sơ đồ trên, trong đó các chân được trình bày ở đó được liên kết với mã đính kèm ở cuối hướng dẫn này. Đặc biệt:

- Các chân 35, 37 và 39 (liên kết với Raspberry Pi GPIO 19, 26 và mặt đất) được sử dụng để kết nối với quay số (chân đầu vào). Điện thoại mà chúng tôi chọn đã có đầu nối 3 dây, với dây màu đỏ và đen được liên kết với các chân NO và NC, và dây màu vàng là phổ biến.

- Chân 23 và 25 (Raspberry Pi GPIO 11 và mặt đất) được sử dụng để kết nối công tắc tai nghe (đầu vào - phát hiện khi tai nghe được nâng lên hoặc đặt xuống)

- Chân 22 và 20 (Raspberry Pi GPIO 25 và mặt đất) được sử dụng để kết nối với công tắc mô-đun âm thanh (đầu ra - hành động chuông)

- Ngoài ra, chân 19 (GPIO 10) có thể cần được hàn vào công tắc nguồn GSM HAT, vì một số phiên bản HAT không thể khởi động chỉ bằng cách bật nguồn mà cần ai đó nhấn nút "nguồn" trên HAT theo cách thủ công.

- Về mặt điện thoại, chúng tôi đã loại bỏ cáp 4 dây tai nghe bên trong và kết nối với giắc cắm âm thanh 3,5 mm từ tai nghe cũ. Dây Đỏ / Xanh lá cây dành cho micrô tai nghe và Màu vàng / Đen dành cho loa tai nghe. Tùy thuộc vào phía giắc cắm 3,5 mm được sử dụng, bạn có thể cần tìm dây phù hợp (theo trích dẫn ở trên cho đầu vào tai nghe GSM HAT), nhưng trong trường hợp của chúng tôi, micrô được kết nối với lá chắn và màu đỏ, trong khi dây loa có màu xanh lá cây và xanh lam. Cuối cùng, cắm giắc 3,5 mm vào đầu vào tai nghe GSM HAT.

Bước 3: Đóng gói cuối cùng và thêm "hiệu ứng chuông" mô phỏng

Đóng gói cuối cùng và thêm mô phỏng
Đóng gói cuối cùng và thêm mô phỏng

Mặc dù bao bì bên trong cuối cùng như được nhìn thấy trên hình trên trông tương đối gọn gàng, nhưng nó đòi hỏi rất nhiều sự mày mò và thử các tùy chọn khác nhau. Những hạn chế chính là không gian dưới mặt số quay và các đầu nối cứng, và toàn bộ quá trình giống như xếp các câu đố lại với nhau.

Rất may mắn là chúng tôi đã có thể sử dụng một số bài đăng đã tồn tại bên trong điện thoại (chúng tôi đã xóa các bài đăng khác bằng công cụ Dremel) và để bảo vệ bảng và loa. Nhưng điều đó cũng hạn chế phần còn lại của không gian có sẵn, điều này cuối cùng khiến chúng tôi từ bỏ ý tưởng ban đầu để thêm nguồn điện có thể sạc lại bên trong.

Đối với "chuông", chúng tôi đã kết thúc việc mua mô-đun âm thanh có thể ghi lại chạy bằng pin. Là một tùy chọn (khi kết nối bo mạch thông qua micro USB), có một phiên bản không dùng pin có thể được cấp nguồn trực tiếp từ đầu cắm Raspberry Pi 5V.

Trong cả hai trường hợp, cần phải tháo công tắc điều khiển bên ngoài khỏi mô-đun âm thanh và kết nối dây với một trong các chân GPIO + mặt đất. Và lập trình nhạc chuông thành mô-đun rất đơn giản, chỉ cần kết nối nó với PC và tải xuống bất kỳ tệp mp3 nào bạn muốn sử dụng cho hành động đổ chuông. Đây là liên kết đến một trang web tốt đẹp với rất nhiều âm thanh chuông cũ.

Bước 4: Phần mềm và tích hợp cuối cùng

Tích hợp phần mềm và cuối cùng
Tích hợp phần mềm và cuối cùng
Tích hợp phần mềm và cuối cùng
Tích hợp phần mềm và cuối cùng

Sơ đồ khối trên trình bày tất cả các thành phần chính và mối quan hệ của chúng. Về bản chất, việc triển khai cần 3 đầu vào rời rạc và ít nhất 1 đầu ra rời rạc (chúng tôi đã sử dụng 2 DO kể từ phiên bản GSM HAT mà chúng tôi không thể khởi động tự động nếu không nhấn nút trên HAT, vì vậy chúng tôi cần hàn dây vào nút đó để buộc khởi động HAT khi điện thoại được cấp nguồn).

Theo như mã, nó được viết bằng Python 2.7, vì vậy nếu bạn cài đặt / sử dụng phiên bản 3.x trở lên, có thể có một số thứ cần phải thay đổi (rõ ràng là câu lệnh "print"). Để mã hoạt động bình thường, có một số thư viện Python cần được thêm vào trước tiên, như:

- gpiozero (cần thiết cho giao diện Raspberry Pi GPIO)

- re (thư viện biểu thức chính quy - để phân tích cú pháp các tin nhắn SMS đến, hãy cài đặt nếu không phải là một phần của cài đặt Python mặc định)

- nối tiếp (để kết nối với GSM HAT - cần thiết ngay cả khi kết nối qua micro USB, hãy cài đặt nếu không phải là một phần của cài đặt Python mặc định)

Ngoài ra, có 2 vị trí trong mã đính kèm phải được sửa đổi / điều chỉnh tùy thuộc vào việc triển khai cuối cùng (hoặc 3 vị trí, nếu các chân GPIO khác nhau được sử dụng). Đầu tiên liên quan đến số mà bạn muốn sử dụng để chuyển tiếp tin nhắn:

# *********************************** FORWARDING_NUMBER = "5551234567" # đặt ở đây số điện thoại bạn muốn tin nhắn của mình được chuyển tiếp

# ***********************************

Và cái thứ hai dành cho cài đặt cổng nối tiếp:

# ***********************************

# SIM868 khởi tạo và rutinessim868 = serial. Serial ("/ dev / ttyS0", 115200)

# đảm bảo rằng / dev / ttyS0 phù hợp với thiết lập của bạn

# ***********************************

Mã được xây dựng dưới dạng máy trạng thái, được mô tả trong sơ đồ trên. Hầu hết thời gian điện thoại ở trạng thái IDLE, chờ các sự kiện: 1. Cuộc gọi đến (sẽ đưa điện thoại vào trạng thái RING)

2. Tin nhắn SMS đến - được / có thể tự động chuyển tiếp đến điện thoại khác

3. Nâng tai nghe lên để chuẩn bị quay số (chuyển điện thoại sang trạng thái DIAL)

4. Quay số ký tự đặc biệt mà không cần nhấc tai nghe (theo mã hiện tại, quay số "#" tắt điện thoại)…

Có rất nhiều nhận xét được nhúng trong mã, điều này sẽ giúp đọc và hiểu nó. Chúng tôi đã bỏ dở một số việc, chẳng hạn như thêm tùy chọn quay số nhanh, gửi thông báo trạng thái hoặc…

Về cách để mã tự động chạy khi có điện, chúng tôi đã chọn triển khai nó dưới dạng dịch vụ, có thể được thực hiện như được mô tả ở đây. Đơn giản chỉ cần làm như sau:

- tải xuống các tệp đính kèm bên dưới "rotaryPhoneStateMachine.txt" và "myphone.txt" và đổi tên chúng thành "rotaryPhoneStateMachine.py" và "myphone.service" (vì một số lý do kỳ lạ, máy chủ Hướng dẫn không cho phép tải lên các loại tệp nhất định)

- đặt "rotaryPhoneStateMachine.py" vào thư mục / home / pi

- đặt "myphone.service" vào / etc / systemd / system

- kích hoạt dịch vụ bằng lệnh "sudo systemctl enable myphone.service" (sau khi kiểm tra mọi thứ)

Đề xuất: