- Erforderliche Komponenten:
- Arbeitserklärung:
- Erklären von vier Funktionen des Raspberry Pi-Mobiltelefons:
- Schaltplan und Erklärung:
- Programmiererklärung:
In diesem DIY-Projekt werden wir ein einfaches Mobiltelefon mit Raspberry Pi bauen, in dem das GSM-Modul verwendet wird, um den Anruf zu tätigen oder zu beantworten und die SMS zu senden oder zu lesen , und auch dieses Raspberry Pi-Telefon verfügt über ein Mikrofon und einen Lautsprecher, um darüber zu sprechen Telefon . Dieses Projekt dient auch als ordnungsgemäße Schnittstelle des GSM-Moduls mit Raspberry Pi mit dem gesamten Code, der für die Bedienung der Grundfunktionen eines Telefons erforderlich ist. Zuvor haben wir dieselbe Art von einfachem Mobiltelefon mit Arduino gebaut. Überprüfen Sie dies hier
Erforderliche Komponenten:
- Raspberry Pi 3 (jedes Modell)
- GSM-Modul
- 16x2 LCD
- 4x4-Tastatur (Benutzer kann Membrantastatur verwenden)
- 10k Topf
- Steckbrett
- Überbrückungskabel anschließen
- Energieversorgung
- Lautsprecher
- MIC
- SIM Karte
- Lautsprecher
- Audioverstärkerschaltung (optional)
Arbeitserklärung:
In diesem Raspberry Pi-Mobiltelefonprojekt haben wir das GSM-Modul und Raspberry Pi 3 verwendet, um die Funktionen des gesamten Systems zu steuern und alle Komponenten in diesem System miteinander zu verbinden. Über eine alphanumerische 4x4-Tastatur können Sie alle Arten von Eingaben vornehmen, z. B.: Geben Sie eine Mobiltelefonnummer ein, geben Sie Nachrichten ein, tätigen Sie einen Anruf, empfangen Sie einen Anruf, senden Sie SMS, lesen Sie SMS usw. Das GSM-Modul SIM900A dient zur Kommunikation mit dem Netzwerk für Anrufe und Nachrichten Zweck. Wir haben auch ein Mikrofon und einen Lautsprecher für Sprachanrufe und Klingeltöne angeschlossen, und ein 16x2-LCD wird zum Anzeigen von Nachrichten, Anweisungen und Warnungen verwendet.
Alphanumerisch ist eine Methode zur Eingabe von Zahlen und Alphabeten über dieselbe Tastatur. Bei dieser Methode haben wir eine 4x4-Tastatur mit Raspberry Pi verbunden und Code geschrieben, um auch Alphabete zu akzeptieren. Überprüfen Sie den Abschnitt Code im Code unten.
Die Arbeit an diesem Projekt ist einfach. Alle Funktionen werden über die alphanumerische Tastatur ausgeführt. Überprüfen Sie den vollständigen Code und ein Demo-Video unten, um den Vorgang richtig zu verstehen. Hier werden alle vier Funktionen der folgenden Projekte erläutert.
Erklären von vier Funktionen des Raspberry Pi-Mobiltelefons:
1. Rufen Sie an:
Um mit unserem Raspberry Pi-basierten Telefon einen Anruf zu tätigen, müssen wir 'C' drücken und dann die Handynummer eingeben, unter der wir einen Anruf tätigen möchten. Die Nummer wird über die alphanumerische Tastatur eingegeben. Nach Eingabe der Nummer müssen wir erneut 'C' drücken. Jetzt verarbeitet Raspberry Pi den Anruf mit der eingegebenen Nummer mithilfe des AT-Befehls:
ATDxxxxxxxxxxx;
2. Empfangen Sie einen Anruf:
Einen Anruf zu erhalten ist sehr einfach. Wenn jemand Ihre System-SIM-Nummer anruft, die sich im GSM-Modul befindet, zeigt Ihr System auf dem LCD die Meldung "Eingehend…" mit der eingehenden Anrufernummer an. Jetzt müssen wir nur noch 'A' drücken, um an diesem Anruf teilzunehmen. Wenn wir 'A' drücken, sendet Raspberry Pi den angegebenen Befehl an das GSM-Modul:
AN EINER
3. SMS senden:
Wenn wir eine SMS mit unserem Raspberry Pi-basierten Telefon senden möchten, müssen wir 'D' drücken. Jetzt fragt das System nach der Empfängernummer, dh "an wen" wir SMS senden möchten. Nach Eingabe der Nummer müssen wir erneut 'D' drücken und nun fragt LCD nach einer Nachricht. Jetzt müssen wir die Nachricht wie bei einem normalen Mobiltelefon über die Tastatur eingeben und nach Eingabe der Nachricht erneut das 'D' drücken, um eine SMS zu senden. So senden Sie eine SMS Raspberry Pi sendet einen bestimmten Befehl:
AT + CMGF = 1
Und senden Sie 26 an GSM, um SMS zu senden.
4. SMS empfangen und lesen:
Diese Funktion ist auch einfach. Dabei empfängt GSM SMS und speichert diese auf der SIM-Karte. Und Raspberry Pi überwacht kontinuierlich die empfangene SMS-Anzeige über UART. Immer wenn es eine neue Nachricht gibt, zeigt das LCD den Text „Neue Nachricht“ an. Dann müssen wir nur noch 'B' drücken, um die SMS zu lesen. Die SMS-Empfangsanzeige lautet:
+ CMTI: „SM“, 6 Wobei 6 der Speicherort der Nachricht ist, an dem sie auf der SIM-Karte gespeichert ist.
Wenn Raspberry Pi diese Anzeige "SMS empfangen" erhält, extrahiert es den Speicherort für SMS und sendet einen Befehl an GSM, um die empfangene SMS zu lesen. Und zeigen Sie einen 'New Message'-Text über dem LCD an.
AT + CMGR =
Jetzt sendet GSM eine gespeicherte Nachricht an Raspberry Pi und dann extrahiert Raspberry Pi die Haupt-SMS und zeigt sie über dem LCD an.
Hinweis: Es gibt keine Codierung für MIC und Lautsprecher.
Überprüfen Sie den vollständigen Code und ein Demo-Video unten, um den Vorgang richtig zu verstehen.
Schaltplan und Erklärung:
Die 16x2 LCD-Pins RS, EN, D4, D5, D6 und D7 sind mit den GPIO-Pins 18, 23, 24, 25, 8 und 7 von Raspberry Pi verbunden. Der Rx- und Tx-Pin des GSM-Moduls ist direkt mit dem Rxberry Pi-Pin Tx bzw. Rx verbunden (Ground of Raspberry Pi und GSM müssen miteinander verbunden sein). 4x4-Tastatur Die Reihenstifte R1, R2, R3, R4 sind direkt mit dem GPIO-Pin Nr. 12, 16, 20, 21 von Raspberry Pi verbunden, und der Spaltenstift der Tastatur C1, C2, C3, C4 ist mit dem GPIO-Pin Nr. 26, 19, verbunden. 13 und 6 von Raspberry Pi. Das MIC wird direkt mit dem Mikrofon + und dem Mikrofon des GSM-Moduls verbunden, und der Lautsprecher wird mit Hilfe dieser Audioverstärkerschaltung an sp + und den Spins des GSM-Moduls angeschlossen, um das ausgegebene Audio zu verstärken. Diese Audioverstärkerschaltung ist optional und Sie können den Lautsprecher ohne diesen Audioverstärker direkt an das GSM-Modul anschließen.
Programmiererklärung:
Das Programmieren eines Teils dieses Raspberry Pi-Mobiltelefons ist für Anfänger etwas komplex. Wir verwenden hier die Python-Sprache für das Programm. Wenn Sie ein Anfänger in Raspberry Pi sind, sollten Sie unsere vorherigen Tutorials lesen, um mit Raspberry Pi zu beginnen und Raspbian Jessie OS in Pi zu installieren und zu konfigurieren.
In diesem Code haben wir def keypad (): Funktion zum Anschließen einer einfachen Tastatur zur Eingabe von Zahlen erstellt. Und für die Eingabe von Alphabeten haben wir def alphaKeypad () erstellt: damit dieselbe Tastatur auch für die Eingabe der Alphabete verwendet werden kann. Jetzt haben wir diese Tastatur so gestaltet, dass sie genauso funktioniert wie die Arduino-Tastaturbibliothek. Mit dieser Tastatur können wir Zeichen und Ganzzahlen mit nur 10 Tasten eingeben.
Wenn wir beispielsweise die Taste 2 (abc2) drücken, wird 'a' angezeigt. Wenn wir erneut drücken, wird 'a' durch 'b' ersetzt. Wenn wir erneut dreimal drücken, wird an derselben Stelle 'c' angezeigt im LCD. Wenn wir nach dem Drücken der Taste einige Zeit warten, bewegt sich der Cursor automatisch zur nächsten Position im LCD. Jetzt können wir das nächste Zeichen oder die nächste Nummer eingeben. Das gleiche Verfahren wird für andere Schlüssel angewendet.
def Tastatur (): für j im Bereich (4): gpio.setup (COL, gpio.OUT) gpio.output (COL, 0) ch = 0 für i im Bereich (4): wenn gpio.input (ROW) = = 0: ch = MATRIX gibt ch zurück, während (gpio.input (ROW) == 0): gpio.output (COL, 1) übergeben wird
def alphaKeypad (): lcdclear () setCursor (x, y) lcdcmd (0x0f) msg = "" während 1: key = 0 count = 0 key = keypad () wenn key == '1': ind = 0 maxInd = 6 Key = '1' getChar (Key, ind, maxInd)……………….
Zunächst haben wir in dieses Python-Skript einige erforderliche Bibliotheken und definierte Pins für LCD, Tastatur und andere Komponenten aufgenommen:
importiere RPi.GPIO als gpio importiere serielle Importzeit msg = "" alpha = "1! @.,:? ABC2DEF3GHI4JKL5MNO6PQRS7TUV8WXYZ90 * #" x = 0 y = 0 MATRIX =,,,] ROW = COL =………………
Jetzt ist es Zeit, den Stiften die Richtung zu geben:
gpio.setwarnings (False) gpio.setmode (gpio.BCM) gpio.setup (RS, gpio.OUT) gpio.setup (EN, gpio.OUT) gpio.setup (D4, gpio.OUT) gpio.setup (D5, gpio.OUT) gpio.setup (D6, gpio.OUT) gpio.setup (D7, gpio.OUT) gpio.setup (led, gpio.OUT) gpio.setup (buz, gpio.OUT) gpio.setup (m11, gpio.OUT) gpio.setup (m12, gpio.OUT) gpio.setup (Schaltfläche, gpio.IN) gpio.output (led, 0) gpio.output (buz, 0) gpio.output (m11, 0) gpio. Ausgang (m12, 0)
Initialisieren Sie dann die serielle Kommunikation wie folgt:
Serial = serial.Serial ("/ dev / ttyS0", Baudrate = 9600, Timeout = 2)
Jetzt müssen wir eine Funktion zum Ansteuern des LCD schreiben. Funktion def lcdcmd (ch): wird zum Senden des Befehls an das LCD und def lcdwrite (ch) verwendet: Funktion zum Senden von Daten zum LCD. Zusammen mit diesen Funktionen wird def lcdclear (): verwendet, um das LCD zu löschen, def setCursor (x, y): wird verwendet, um die Cursorposition auf dem LCD festzulegen, und def lcdprint (Str): wird verwendet, um eine Zeichenfolge auf dem LCD zu drucken.
def lcdcmd (ch): gpio.output (RS, 0) gpio.output (D4, 0) gpio.output (D5, 0) gpio.output (D6, 0) gpio.output (D7, 0) wenn ch & 0x10 == 0x10: gpio.output (D4, 1)………………
def lcdwrite (ch): gpio.output (RS, 1) gpio.output (D4, 0) gpio.output (D5, 0) gpio.output (D6, 0) gpio.output (D7, 0) wenn ch & 0x10 == 0x10: gpio.output (D4, 1) wenn ch & 0x20 == 0x20: gpio.output (D5, 1)………………
def lcdclear (): lcdcmd (0x01) def lcdprint (Str): l = 0; l = len (Str) für i im Bereich (l): lcdwrite (ord (Str)) def setCursor (x, y): wenn y == 0: n = 128 + x elif y == 1: n = 192 + x lcdcmd (n)
Danach müssen wir einige Funktionen zum Senden von SMS, Empfangen von SMS, Tätigen eines Anrufs und zur Teilnahme an dem Anruf schreiben.
Funktion def call (): wird zum Aufrufen verwendet. Und Funktion def receiveCall (Daten): wird verwendet, um die eingehende Nachricht und Nummer auf dem LCD anzuzeigen . Schließlich def attestCall (): wird verwendet, um an dem Anruf teilzunehmen.
Funktion def sendSMS (): Dient zum Schreiben und Senden der Nachricht mit Hilfe der Funktion alphaKeypad () . Und Funktion def receiveSMS (Daten): wird verwendet, um den Speicherort von SMS zu empfangen und abzurufen. Schließlich def readSMS (Index): wird verwendet, um die Meldung auf dem LCD anzuzeigen.
Sie finden alle oben genannten Funktionen im unten angegebenen Code.
So können Sie Ihren Raspberry Pi mithilfe des GSM-Moduls in ein Mobiltelefon umwandeln. Überprüfen Sie auch dieses Raspberry Pi Touchscreen-Smartphone.