สารบัญ:

โทรศัพท์เคลื่อนที่แบบหมุนสไตล์ย้อนยุค: 4 ขั้นตอน (พร้อมรูปภาพ)
โทรศัพท์เคลื่อนที่แบบหมุนสไตล์ย้อนยุค: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: โทรศัพท์เคลื่อนที่แบบหมุนสไตล์ย้อนยุค: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: โทรศัพท์เคลื่อนที่แบบหมุนสไตล์ย้อนยุค: 4 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: โทรศัพท์โบราณ แบบหมุน Venecia ☎ โทรศัพท์บ้าน 🔺 ของตกแต่งบ้าน โทรศัพท์ 🔻 2024, มิถุนายน
Anonim
โทรศัพท์มือถือหมุนแบบหมุนสไตล์ย้อนยุค
โทรศัพท์มือถือหมุนแบบหมุนสไตล์ย้อนยุค

โครงการนี้ขับเคลื่อนด้วยความต้องการในทางปฏิบัติและต้องการทำอะไรสนุกๆ

ในฐานะครอบครัวสมัยใหม่ส่วนใหญ่ เราเลิกมีโทรศัพท์บ้าน (แบบมีสาย) ของจริงเมื่อหลายปีก่อน แต่เรามีซิมการ์ดพิเศษที่เชื่อมโยงกับหมายเลขบ้าน "เก่า" ของเรา ซึ่งฉันพกติดตัวในโทรศัพท์มือถือสองซิม วิธีนี้ใช้ได้ดีกับการตั้งค่าเกือบตลอดเวลา แต่ก็ไม่ได้ผลในบางกรณี เช่น ตอนที่เราไปเยี่ยมพ่อแม่ (พวกเขาเป็นคนรุ่นเก่า - ไม่มีโทรศัพท์มือถือ และฉันไม่สามารถโทรหาพวกเขาที่บ้านเมื่อไม่อยู่ เนื่องจากโทรศัพท์บ้านของเราอยู่กับฉัน) สิ่งนี้ได้รับการขยายเช่นกันเมื่อฉันเปลี่ยนโทรศัพท์ (โทรศัพท์เครื่องใหม่ที่มีช่องใส่ซิมเดียว) ดังนั้นจึงเป็นความคิดที่ดีที่จะหาวิธีที่จะมีโทรศัพท์สไตล์ "บ้าน" ซึ่งจะสามารถใช้ซิมการ์ดพิเศษของเราได้

ในส่วนที่สนุก เด็กๆ ส่วนใหญ่ในทุกวันนี้ยังไม่ค่อยเข้าใจว่าโทรศัพท์แบบหมุนทำงานอย่างไร หรือแม้แต่มีตัวตนอยู่เช่นนั้น ในส่วนของโลกที่ภรรยาและฉันมาจาก เราใช้สำนวน "หมุนหมายเลข" เพื่อโทรออก ซึ่งสร้างความสับสนให้กับประชากรที่อายุน้อยกว่า เนื่องจาก "ทำไมใครๆ ก็หมุนโทรศัพท์เพื่อโทร" ดังนั้นฉันจึงคิดว่าคงจะดีถ้าให้ลูกชายของฉัน (ที่เข้าร่วมโครงการนี้อย่างแข็งขัน) สามารถได้รับประสบการณ์เกี่ยวกับโทรศัพท์แบบหมุนได้

แน่นอน ฉันยังแน่ใจว่าโทรศัพท์ "ใหม่" นี้จะเป็นหัวข้อสนทนาที่ดีเมื่อเรามีเพื่อนและญาติๆ หรือดีไปกว่านั้นคือการพกโทรศัพท์ไปกับเราเมื่อไปเยี่ยมเพื่อน สร้างความประหลาดใจให้กับผู้คนด้วยโทรศัพท์มือถือที่ดูย้อนยุคที่ใช้งานได้จริง

ในระหว่างโครงการ เราได้เปลี่ยนเป้าหมายการออกแบบดั้งเดิมบางส่วน ตัวอย่างเช่น ฉันกำลังคิดที่จะฝังแบตเตอรี่ภายนอกแบบชาร์จซ้ำได้ไว้ในโทรศัพท์เพื่อให้สามารถพกพาไปไหนมาไหนได้ง่าย แต่ในที่สุดก็รู้ว่าไม่จำเป็น (เนื่องจากโทรศัพท์ประเภทนี้มักจะอยู่ในที่เดียวตลอดเวลาจึงทำได้ เสียบปลั๊กไฟเสมอ) มี "ทางลัด" อื่นๆ ที่เราสามารถทำได้ ซึ่งทำให้โครงการค่อนข้างตรงไปตรงมาและไม่ซับซ้อนเกินไป

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

สำหรับวัสดุ เดิมทีฉันหวังว่าเราจะสามารถซื้อโทรศัพท์แบบโรตารี่เครื่องเก่าจากพ่อแม่ของฉัน และใช้ชิ้นส่วนเกือบทั้งหมดของมัน (เปลือกโทรศัพท์ แป้นหมุน ชุดหูฟัง ฯลฯ) ซึ่งจะช่วยลดต้นทุนของโครงการโดยรวม ในที่สุดสิ่งนี้ไม่ได้เกิดขึ้นเนื่องจาก COVID-19 ซึ่งทำให้แผนการเดินทางของเราไปยุโรปไม่ได้ (การเยี่ยมครอบครัว) และเราเพิ่งพบและซื้อโทรศัพท์หมุนใหม่บน Amazon (ฉันไม่พอใจกับตัวเลือกและราคาบน eBay) ไม่เป็นไร เนื่องจากมีฟังก์ชันเพิ่มเติมที่น่าสนใจ เนื่องจากเราพบโทรศัพท์แบบหมุนที่มีตัวเลือกการโทรพิเศษ (* และ #) ซึ่งปกติแล้วจะไม่มีในโทรศัพท์รุ่นเก่า

ส่วนหลักของโครงการคือ GSM/GPRS HAT ที่พร้อมใช้งาน (เราไม่ต้องการเวอร์ชัน 4G) และสามารถควบคุมได้โดยตรงกับ Raspberry Pi หรือบอร์ดที่คล้ายกัน ในกรณีของเรา เรามีบอร์ด Raspberry Pi Zero ขนาดเล็กที่เราไม่ได้ใช้งานอย่างจริงจัง (จากโปรเจ็กต์เก่าของลูกชายฉัน)

เป็นเรื่องที่น่าสนใจที่การเปลี่ยนแปลงทางความคิดและการออกแบบส่วนใหญ่เกิดขึ้นจากส่วนที่ค่อนข้างเรียบง่ายและเป็นส่วนเล็กๆ ของโปรเจ็กต์ ซึ่งทำให้เกิดเสียงก้องกังวาน ดังที่ผู้ที่คุ้นเคยกับโทรศัพท์รุ่นเก่าจะทราบ เสียงเรียกเข้าแบบเก่าที่โดดเด่นนั้นเกิดจาก "กระดิ่ง" ที่ขับเคลื่อนโดย 40-60 VAC ซึ่งทำได้ยากซึ่งเป็นส่วนหนึ่งของโครงการนี้ ในที่สุดฉันก็ตัดสินใจที่จะลดความซับซ้อนของส่วนนั้นของโครงการ และลงเอยด้วยวิธีแก้ปัญหาที่ค่อนข้างง่ายโดยใช้โมดูลเสียงที่บันทึกได้ซึ่งมักจะเป็นส่วนหนึ่งของการ์ดอวยพร มีตัวเลือกอื่นอยู่บ้าง แต่วิธีนี้ใช้ได้ผลดีจริง ๆ และเป็นวิธีแก้ปัญหาที่ไม่แพงนัก

เสบียง

  • Raspberry Pi Zero W
  • Waveshare GSM/GPRS/GNSS/บลูทูธ HAT
  • โมดูลเสียงที่บันทึกได้ เปิดใช้งานปุ่มกด

  • (เก่า) โทรศัพท์แบบหมุน
  • การ์ด Micro SD (สำหรับ Raspberry Pi), สายเคเบิล/หมุด, หูฟังเก่า ฯลฯ

ขั้นตอนที่ 1: เตรียมโทรศัพท์

กำลังเตรียมโทรศัพท์
กำลังเตรียมโทรศัพท์

โทรศัพท์แบบมีสายแบบเก่าเป็นอุปกรณ์ที่ค่อนข้างเรียบง่าย ดังที่เห็นได้จากภาพเมื่อถอดโทรศัพท์เดิมออกจากกัน ชิ้นส่วนที่นำกลับมาใช้ใหม่ได้คือโครงโทรศัพท์หลัก ซึ่งรวมถึงแป้นหมุนและฐาน ชุดหูฟังและสวิตช์ ส่วนที่เหลือถูกนำออกมา - กริ่งและแผงควบคุม

สิ่งที่ดีมากสำหรับโทรศัพท์รุ่นนี้คือเราไม่เพียงแต่ใช้แป้นหมุนแบบหมุนซ้ำได้เท่านั้น แต่ยังรวมถึงตัวเชื่อมต่อด้วย ซึ่งสามารถเสียบเข้ากับส่วนหัวของ Raspberry Pi ได้โดยตรง ควรสังเกตว่าตัวเชื่อมต่อนี้มี 3 สายหนึ่งสายสำหรับอ้างอิงและ 2 ตัวจะเป็นอินพุตแบบแยกบน Raspberry Pi ด้วยตรรกะที่เหมาะสม (บันทึกไว้ในรหัสที่แนบมา) ซึ่งช่วยให้สามารถตรวจจับได้เมื่อหมุนแป้นหมายเลข และเลือกหมายเลขใด

เช่นเดียวกับสวิตช์ชุดหูฟังซึ่งมีขั้วต่อที่สามารถเสียบเข้ากับส่วนหัวได้โดยตรง เป็นตรรกะง่ายๆ เนื่องจากต้องใช้เพียงข้อมูลอ้างอิงและอินพุตที่ไม่ต่อเนื่องเพียงรายการเดียว

ตามที่คาดไว้ สายชุดหูฟังมี 4 สาย โดยแต่ละเส้นมี 2 เส้นสำหรับลำโพงและไมโครโฟนระดับพลังงานต่ำ เนื่องจาก HAT ที่เราใช้อยู่มีแจ็คเสียง 3.5 มม. สำหรับหูฟัง ฉันจึงลงเอยด้วยการเชื่อมต่อสายทั้ง 4 เส้นนั้นกับปลั๊กเสียงตัวผู้ขนาด 3.5 มม. ของหูฟังตัวเก่าตัวใดตัวหนึ่ง

สิ่งที่น่าสนใจอีกอย่างหนึ่งที่เป็นประโยชน์จากโทรศัพท์รุ่นนี้คือการติดตั้งเสาจากฐานโทรศัพท์ แม้ว่าเราจำเป็นต้องตัดบางส่วนเพื่อให้มีที่ว่างสำหรับกระดาน แต่เราก็ยังสามารถนำส่วนอื่นๆ กลับมาใช้ใหม่ได้ และรักษาความปลอดภัยกระดานของเรา นี่เป็นช่วงพักที่ดีและช่วยเราประหยัดเวลา

ขั้นตอนที่ 2: รวบรวมสิ่งต่าง ๆ เข้าด้วยกัน

การรวมสิ่งต่าง ๆ เข้าด้วยกัน
การรวมสิ่งต่าง ๆ เข้าด้วยกัน
การรวมสิ่งต่าง ๆ เข้าด้วยกัน
การรวมสิ่งต่าง ๆ เข้าด้วยกัน
การรวมสิ่งต่าง ๆ เข้าด้วยกัน
การรวมสิ่งต่าง ๆ เข้าด้วยกัน

สำหรับการพิสูจน์แนวคิดง่ายๆ ก็เพียงพอแล้วที่จะเชื่อมต่อ Raspberry Pi และ GSM HAT โดยตรง และเสียบหูฟังธรรมดาเข้ากับ GSM HAT ฉันสามารถใช้การตั้งค่านั้นร่วมกับแอปพลิเคชัน MiniCom (ขับพอร์ตอนุกรม Raspberry Pi ซึ่งเชื่อมต่อโดยตรงกับ GSM HAT) เพื่อตรวจสอบว่าซิมการ์ดของฉันใช้งานได้หรือไม่ และฉันสามารถโทรและส่ง/รับข้อความ SMS ด้วยการตั้งค่านั้นได้อย่างรวดเร็ว

เนื่องจากคนอื่นอาจสนใจที่จะทำเช่นนั้น (มันสนุกที่จะทดสอบการตั้งค่าใหม่อย่างรวดเร็ว) ต่อไปนี้คือคำแนะนำเกี่ยวกับวิธีการทำเช่นนั้น (เห็นได้ชัดว่าขึ้นอยู่กับสมมติฐานของกระดานเดียวกัน/คล้ายกัน):

- ติดตั้งและกำหนดค่าระบบปฏิบัติการบน Raspberry Pi (ฉันใช้เวอร์ชัน Lite OS ซึ่งไม่มี GUI)

- เสียบ GSM HAT (พร้อมติดตั้งซิมการ์ด) เข้ากับ Raspberry Pi (ตรวจสอบให้แน่ใจว่า GSM HAT มีการเลือกสวิตช์ UART ที่เหมาะสมตามประเภทการเชื่อมต่อ ดูลิงก์ด้านล่างสำหรับคู่มือ HAT) สำหรับขั้นตอนนี้ คุณอาจต้องใช้ Raspberry Pi เวอร์ชันที่มีตัวเชื่อมต่อส่วนหัวติดตั้งไว้แล้ว ในกรณีของเรา ฉันต้องบัดกรีมัน (เนื่องจากฉันใช้ Pi zero ซึ่งโดยค่าเริ่มต้นจะไม่มีส่วนหัว) หรือทางเลือกที่ดีกว่าคือใช้สาย micro USB เพื่อเชื่อมต่อการ์ดทั้งสอง (ทั้ง Raspberry Pi และ GSM HAT มี micro USB)

- เปิดใช้งานการใช้พอร์ตอนุกรม Raspberry Pi หากเชื่อมต่อ GSM HAT ผ่านพอร์ตอนุกรม (โดยค่าเริ่มต้น พอร์ต Raspberry Pi จะใช้สำหรับคอนโซล) ในการทำเช่นนั้น คุณจะต้องทำตามคำแนะนำสำหรับ raspi-config (ดูลิงก์ "กำหนดค่า" ด้านบน) ตัวเลือกการเชื่อมต่อ - เปิดใช้งาน SSH และตัวเลือกซีเรียล หากใช้เวอร์ชัน Lite OS คุณอาจต้อง "เชื่อมต่อกับเครือข่ายไร้สาย" และเปิดใช้งาน SSH (ดูคำแนะนำจากลิงก์ "กำหนดค่า" ด้านบน)

- เชื่อมต่อ Raspberry Pi กับจอภาพและคีย์บอร์ด (หรือเข้าถึงผ่าน ssh ระยะไกล)

- ใช้ MiniCom หรือแอปซีเรียลที่คล้ายกันเพื่อควบคุม HAT ด้วยตนเองผ่านพอร์ตที่เหมาะสม (สำหรับพอร์ตการตั้งค่าของฉันคือ "/ dev/ttyS0" จะแตกต่างออกไปหากใช้ไมโคร USB) ติดตั้ง MiniCom ด้วย "sudo apt-get install minicom" และเมื่อติดตั้งแล้วให้เริ่มด้วย "minicom -D /devtyS0" (หรือพอร์ตใดก็ตามที่ใช้)

- ใช้คู่มือ GSM HAT หรือคู่มือคำสั่ง AT เพื่อขับเคลื่อนฟังก์ชันต่างๆ ของ HAT (ส่ง SMS โทรออก ฯลฯ) เมื่อเชื่อมต่ออย่างถูกต้องแล้ว GSM HAT จะตอบด้วย "ตกลง" เมื่อถูกถามโดยคำสั่ง "AT" หากต้องการตรวจสอบว่าลงทะเบียนซิมการ์ดอย่างถูกต้องหรือไม่ ให้ใช้คำสั่ง "AT+CREG?" ซึ่งควรส่งคืน "ตกลง" ด้วย คุณยังสามารถยืนยันผู้ให้บริการเครือข่ายด้วย "AT+COPS?" หรือตรวจสอบหมายเลขโทรศัพท์ของตัวเองด้วย "AT+CNUM"

ในการรวมชิ้นส่วนที่จำเป็นที่เหลือ เราได้สร้างสายเคเบิล 16 พินแบบกำหนดเองสำหรับ Raspberry Pi เข้ากับ GSM HAT เนื่องจากเราต้องการพิน IO วัตถุประสงค์ทั่วไปอื่นๆ เพื่ออ่านแป้นหมุน สถานะของสวิตช์ชุดหูฟัง และเพื่อขับกริ่ง (เพื่อเริ่มต้นโดยอัตโนมัติ GSM HAT ระหว่างการเปิดเครื่อง / การเริ่มต้น) ฉันพยายามใช้สายแยกบางส่วนสำหรับ Raspberry Pi เพื่อจุดประสงค์นั้น และในขณะที่ใช้งานได้ดีสำหรับการเชื่อมต่อและทดสอบอย่างรวดเร็ว ฉันไม่ค่อยพอใจกับคุณภาพและจบลงด้วยการสร้างตัวเชื่อมต่อ 16 พินของฉันเอง

วิธีอื่นในการเชื่อมต่อระหว่าง Raspberry Pi และ GSM HAT คือผ่านพอร์ต micro USB ของบอร์ดทั้งสอง (และอีกครั้ง คุณจะต้องตั้งค่าสวิตช์ UART อย่างเหมาะสมบน GSM HAT) และนั่นอาจเป็นวิธีแก้ปัญหาที่เร็วและง่ายกว่ามาก คุณสามารถทำได้ง่ายๆ หากคุณได้รับสายเคเบิลที่เหมาะสม (ซึ่งจะช่วยประหยัดเวลาและความพยายามในการสร้างสายเคเบิล) - อย่าลืมเปลี่ยนพอร์ตที่ใช้โดยซอฟต์แวร์/แอปพลิเคชัน

หลังจากเชื่อมต่อบอร์ด (ด้วย micro USB) แล้ว ที่เหลือก็เป็นเรื่องง่าย เพียงทำตามไดอะแกรมด้านบนซึ่งหมุดที่นำเสนอมีความเกี่ยวข้องกับรหัสที่แนบท้ายคำแนะนำนี้ โดยเฉพาะ:

- พิน 35, 37 และ 39 (ที่เกี่ยวข้องกับ Raspberry Pi GPIO 19, 26 และกราวด์) ใช้สำหรับเชื่อมต่อกับแป้นหมุน (พินอินพุต) โทรศัพท์ที่เราเลือกได้สร้างตัวเชื่อมต่อ 3 สายแล้ว โดยมีสายสีแดงและสีดำเชื่อมโยงกับพิน NO และ NC และสายสีเหลืองเป็นเรื่องธรรมดา

- หมุด 23 และ 25 (Raspberry Pi GPIO 11 และกราวด์) ใช้สำหรับเชื่อมต่อสวิตช์ชุดหูฟัง (อินพุต - ตรวจจับเมื่อยกหรือวางชุดหูฟัง)

- พิน 22 และ 20 (Raspberry Pi GPIO 25 และกราวด์) ใช้สำหรับเชื่อมต่อกับสวิตช์โมดูลเสียง (เอาต์พุต - การทำงานของวงแหวน)

- นอกจากนี้ อาจจำเป็นต้องบัดกรีพิน 19 (GPIO 10) กับสวิตช์เปิด/ปิดของ GSM HAT เนื่องจาก HAT บางเวอร์ชันไม่สามารถเริ่มทำงานได้เพียงแค่เปิดเครื่อง แต่ต้องการใครสักคนที่กดสวิตช์ "เปิด/ปิด" บน HAT ด้วยตนเอง

- ทางฝั่งโทรศัพท์ เราถอดสายเคเบิล 4 สายของชุดหูฟังภายในออก และเชื่อมต่อกับแจ็คเสียง 3.5 มม. จากหูฟังรุ่นเก่า สายสีแดง/สีเขียวใช้สำหรับไมโครโฟนของชุดหูฟัง และสีเหลือง/สีดำสำหรับลำโพงของชุดหูฟัง ขึ้นอยู่กับด้านแจ็ค 3.5 มม. ที่ใช้ คุณอาจต้องหาสายที่เหมาะสม (ตามการแยกด้านบนสำหรับอินพุตหูฟัง GSM HAT) แต่ในกรณีของเรา ไมโครโฟนเชื่อมต่อกับแผงป้องกันและสีแดง ในขณะที่สายลำโพงเป็นสีเขียวและสีน้ำเงิน ในที่สุด เสียบแจ็ค 3.5 มม. เข้ากับอินพุตหูฟัง GSM HAT

ขั้นตอนที่ 3: บรรจุภัณฑ์ขั้นสุดท้ายและการเพิ่ม "เอฟเฟกต์เสียงเรียกเข้า" จำลอง

การจำลองการบรรจุและการเพิ่มขั้นสุดท้าย
การจำลองการบรรจุและการเพิ่มขั้นสุดท้าย

แม้ว่าบรรจุภัณฑ์ภายในขั้นสุดท้ายดังที่เห็นในภาพด้านบนจะดูค่อนข้างเรียบร้อย แต่ก็ต้องมีการซ่อมแซมและลองใช้ตัวเลือกต่างๆ มากมาย ข้อจำกัดหลักคือพื้นที่ใต้แป้นหมุนและตัวเชื่อมแบบแข็ง และกระบวนการทั้งหมดก็เหมือนกับการต่อจิ๊กซอว์เข้าด้วยกัน

โชคดีมากที่เราสามารถใช้โพสต์ต่างๆ ที่มีอยู่แล้วในโทรศัพท์ได้ (เราลบโพสต์อื่นๆ ด้วยเครื่องมือ Dremel) และเพื่อรักษาความปลอดภัยให้กับบอร์ดและลำโพง แต่นั่นก็จำกัดพื้นที่ที่เหลือด้วย ซึ่งท้ายที่สุดแล้วทำให้เราละทิ้งแนวคิดดั้งเดิมในการเพิ่มแหล่งพลังงานแบบชาร์จซ้ำได้ภายใน

สำหรับ " วงแหวน" เราลงเอยด้วยการซื้อโมดูลเสียงที่บันทึกได้แบบใช้พลังงานแบตเตอรี่ เป็นตัวเลือก (เมื่อเชื่อมต่อบอร์ดผ่าน micro USB) มีเวอร์ชันที่ไม่ใช่แบตเตอรี่ซึ่งสามารถจ่ายไฟโดยตรงจากส่วนหัว Raspberry Pi 5V

ในทั้งสองกรณี จะต้องถอดสวิตช์ควบคุมภายนอกจากโมดูลเสียงและต่อสายไฟเข้ากับพิน GPIO + กราวด์ตัวใดตัวหนึ่ง และการเขียนโปรแกรมเสียงเรียกเข้าลงในโมดูลนั้นง่ายมาก เพียงเชื่อมต่อกับพีซีและดาวน์โหลดไฟล์ mp3 ใดก็ได้ที่คุณต้องการใช้สำหรับเสียงเรียกเข้า นี่คือลิงค์ไปยังเว็บไซต์ดีๆ ที่มีเสียงกริ่งดังๆ มากมาย

ขั้นตอนที่ 4: ซอฟต์แวร์และการรวมขั้นสุดท้าย

ซอฟต์แวร์และการรวมขั้นสุดท้าย
ซอฟต์แวร์และการรวมขั้นสุดท้าย
ซอฟต์แวร์และการรวมขั้นสุดท้าย
ซอฟต์แวร์และการรวมขั้นสุดท้าย

บล็อกไดอะแกรมด้านบนแสดงส่วนประกอบหลักทั้งหมดและความสัมพันธ์ โดยพื้นฐานแล้ว การใช้งานจำเป็นต้องมีอินพุตแบบแยก 3 อินพุต และเอาต์พุตแบบแยกอย่างน้อย 1 เอาต์พุต (เราใช้ 2 DO's ตั้งแต่เวอร์ชันของ GSM HAT ที่เราไม่สามารถเริ่มทำงานโดยอัตโนมัติโดยไม่ต้องกดปุ่มบน HAT ดังนั้นเราจึงจำเป็นต้องต่อสายเข้ากับปุ่มนั้นเพื่อบังคับ เริ่ม HAT เมื่อเปิดเครื่อง)

สำหรับโค้ดนั้น มันเขียนด้วย Python 2.7 ดังนั้น หากคุณติดตั้ง/ใช้เวอร์ชัน 3.x ขึ้นไป อาจมีบางสิ่งที่ต้องเปลี่ยนแปลง (ซึ่งชัดเจนว่าเป็นคำสั่ง "print") เพื่อให้โค้ดทำงานได้อย่างถูกต้อง มีไลบรารี Python สองสามตัวที่ต้องเพิ่มก่อน เช่น:

- gpiozero (จำเป็นสำหรับอินเทอร์เฟซ Raspberry Pi GPIO)

- re (ไลบรารีนิพจน์ทั่วไป - สำหรับการแยกวิเคราะห์ข้อความ SMS ขาเข้า ให้ติดตั้งหากไม่ใช่ส่วนหนึ่งของการติดตั้ง Python เริ่มต้น)

- อนุกรม (สำหรับเชื่อมต่อกับ GSM HAT - จำเป็นแม้ว่าจะเชื่อมต่อผ่าน micro USB ให้ติดตั้งหากไม่ใช่ส่วนหนึ่งของการติดตั้ง Python เริ่มต้น)

นอกจากนี้ยังมีโค้ดที่แนบมา 2 ตำแหน่งที่ต้องแก้ไข/ดัดแปลง ขึ้นอยู่กับการใช้งานขั้นสุดท้าย (หรือ 3 ตำแหน่ง หากใช้พิน GPIO ต่างกัน) อันแรกเกี่ยวข้องกับหมายเลขที่คุณต้องการใช้สำหรับส่งต่อข้อความ:

# ************************************* FORWARDING_NUMBER = "5551234567" # ใส่โทรศัพท์ในตำแหน่งที่คุณต้องการส่งข้อความ ที่จะส่งต่อ

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

และอันที่สองสำหรับการตั้งค่าพอร์ตอนุกรม:

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

# SIM868 การเริ่มต้นและ rutinessim868 = serial. Serial ("/dev/ttyS0", 115200)

# ตรวจสอบให้แน่ใจว่า /dev/ttyS0 เหมาะสมสำหรับการตั้งค่าของคุณ

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

รหัสถูกสร้างขึ้นเป็นเครื่องของรัฐที่อธิบายไว้ในแผนภาพด้านบน โทรศัพท์ส่วนใหญ่อยู่ในสถานะว่างรอกิจกรรม:1. สายเรียกเข้า (ซึ่งจะทำให้โทรศัพท์เข้าสู่สถานะ RING)

2. ข้อความ SMS ขาเข้า - ซึ่งสามารถส่งต่อไปยังโทรศัพท์เครื่องอื่นได้โดยอัตโนมัติ

3. ยกชุดหูฟังขึ้น เพื่อเตรียมพร้อมสำหรับการโทรออก (ขับโทรศัพท์เข้าสู่สถานะ DIAL)

4. โทรออกอักขระพิเศษโดยไม่ต้องยกชุดหูฟัง (ตามรหัสปัจจุบัน กด "#" โทรศัพท์ปิดเครื่อง) …

มีความคิดเห็นมากมายที่ฝังอยู่ในโค้ด ซึ่งจะช่วยให้อ่านและทำความเข้าใจได้ เรายังทำบางอย่างไม่เสร็จ เช่น เพิ่มตัวเลือกการโทรด่วน ส่งข้อความสถานะ หรือ …

สำหรับวิธีการให้โค้ดทำงานโดยอัตโนมัติเมื่อมีการจ่ายไฟ เราเลือกใช้มันเป็นบริการ ซึ่งสามารถทำได้ตามที่อธิบายไว้ที่นี่ เพียงทำดังต่อไปนี้:

- ดาวน์โหลดไฟล์แนบด้านล่าง "rotaryPhoneStateMachine.txt" และ "myphone.txt" แล้วเปลี่ยนชื่อเป็น "rotaryPhoneStateMachine.py" และ "myphone.service" (ด้วยเหตุผลแปลก ๆ เซิร์ฟเวอร์ Instructables ไม่อนุญาตให้อัปโหลดไฟล์บางประเภท)

- วาง "rotaryPhoneStateMachine.py" ลงในโฟลเดอร์ /home/pi

- วาง "myphone.service" ลงใน /etc/systemd/system

- เปิดใช้งานบริการด้วยคำสั่ง "sudo systemctl enable myphone.service" (หลังจากทดสอบทุกอย่างแล้ว)

แนะนำ: