- Потребне компоненте:
- Објашњење:
- Објашњење четири карактеристике Распберри Пи мобилног телефона:
- Шема и објашњење:
- Објашњење програмирања:
У овом пројекту уради сам урадићемо једноставни мобилни телефон помоћу Распберри Пи-а, у којем се ГСМ модул користи за упућивање или одговарање на позив и слање или читање СМС-а , а такође овај Распберри Пи телефон има микрофон и звучник за разговоре о овоме Телефон . Овај пројекат ће такође служити као правилно повезивање ГСМ модула са Распберри Пи, са свим кодом потребним за управљање основним функцијама било ког телефона. Раније смо направили исти такав једноставан мобилни телефон користећи Ардуино, погледајте овде
Потребне компоненте:
- Распберри Пи 3 (било који модел)
- ГСМ модул
- ЛЦД 16к2
- 4к4 тастатура (корисник може да користи мембранску тастатуру)
- 10к пот
- Бреадбоард
- Повезивање краткоспојне жице
- Напајање
- Звучник
- МИЦ
- СИМ картица
- Звучник
- Круг аудио појачала (опционално)
Објашњење:
У овом пројекту Распберри Пи за мобилни телефон користили смо ГСМ модул и Распберри Пи 3 за контролу карактеристика читавог система и повезивање свих компоненти у овом систему. 4к4 Алфанумеричка тастатура се користи за узимање свих врста улаза, као што су: Унесите број мобилног телефона, типа поруке, упутите позив, примите позив, послати СМС, прочитајте СМС-ом итд ГСМ модул СИМ900А се користи за комуникацију са мрежом за позивање и слање порука сврха. Такође смо повезали микрофон и звучник за звук гласовног позива и звона, а ЛЦД 16к2 користи се за приказивање порука, упутстава и упозорења.
Алфанумерички је метод за унос бројева и абецеда помоћу исте тастатуре. Овом методом повезали смо 4к4 тастатуру са Распберри Пи и написали код за прихватање абецеде, погледајте код у одељку Цоде испод.
Рад на овом пројекту је лак. Све функције ће се изводити помоћу алфанумеричке тастатуре. Проверите пуни код и демо видео испод како бисте правилно разумели поступак. Овде ћемо објаснити све четири карактеристике пројеката у наставку.
Објашњење четири карактеристике Распберри Пи мобилног телефона:
1. Позовите:
Да бисте упутили позив помоћу нашег телефона заснованог на Распберри Пи-у, морамо притиснути „Ц“, а затим треба да унесемо број мобилног телефона на који желимо да упутимо позив. Број се уноси помоћу алфанумеричке тастатуре. Након уноса броја поново треба да притиснемо „Ц“. Сада ће Распберри Пи обрадити повезивање позива са унетим бројем помоћу АТ команде:
АТДкккккккккк;
2. Примите позив:
Примање позива је врло једноставно. Када неко зове системски број вашег система, који се налази у ГСМ модулу, тада ће ваш систем на ЛЦД-у приказати поруку „Долазно…“ са долазним бројем позиваоца. Сада само треба да притиснемо „А“ да бисмо присуствовали овом позиву. Када притиснемо „А“, Распберри Пи ће послати задату команду на ГСМ модул:
АТА
3. Пошаљите СМС:
Када желимо да пошаљемо СМС користећи наш телефон заснован на Распберри Пи-у, тада треба да притиснемо „Д“. Сада ће Систем тражити број приматеља, значи 'ономе' коме желимо да пошаљемо СМС. Након уноса броја поново морамо притиснути „Д“ и сада ЛЦД тражи поруку. Сада морамо да откуцамо поруку, као што је унесемо у уобичајени мобилни телефон, помоћу тастатуре, а затим након уноса поруке поново морамо притиснути „Д“ за слање СМС-а. За слање СМС-а Распберри Пи шаље задату команду:
АТ + ЦМГФ = 1
И пошаљите 26 на ГСМ да бисте послали СМС.
4. Примање и читање СМС-а:
Ова карактеристика је такође једноставна. У овом случају, ГСМ ће примати СМС и чува га на СИМ картици. А Распберри Пи непрекидно надгледа примљену СМС индикацију преко УАРТ-а. Кад год се појави нова порука, ЛЦД ће приказати текст „Нова порука“, а онда само треба да притиснемо „Б“ да бисмо прочитали СМС. Индикација примљеног СМС-а је:
+ ЦМТИ: „СМ“, 6 Где је 6 место поруке где се она чува на СИМ картици.
Када Распберри Пи добије ову индикацију „Примљен СМС“, он издваја локацију за чување СМС-а и шаље команду ГСМ-у да прочита примљени СМС. И прикажите текст „Нова порука“ преко ЛЦД екрана.
АТ + ЦМГР =
Сада ГСМ шаље ускладиштену поруку Распберри Пи-у, а затим Распберри Пи извлачи главни СМС и приказује га преко ЛЦД-а.
Напомена: Не постоји кодирање за микрофон и звучник.
Проверите пуни код и демо видео испод како бисте правилно разумели поступак.
Шема и објашњење:
ЛЦД пинови од 16к2 РС, ЕН, Д4, Д5, Д6 и Д7 повезани су ГПИО пиновима 18, 23, 24, 25, 8 и 7 Распберри Пи. Рк и Тк пин модула ГСМ директно су повезани са пиновима Тк и Рк Распберри Пи-а (Гроунд оф Распберри Пи и ГСМ морају бити повезани једни с другима). 4к4 тастатура Ред пинови Р1, Р2, Р3, Р4 су директно повезани са ГПИО пин бројем 12,16, 20, 21 Распберри Пи и Пин за ступац тастатуре Ц1, Ц2, Ц3, Ц4 повезани су са ГПИО пином 26, 19, 13 и 6 од Распберри Пи. МИЦ је директно повезан на миц + и миц- ГСМ модула, а звучник је повезан на сп + и спинове за ГСМ модул уз помоћ овог круга аудио појачала, да би појачао излазни звук. Ово коло појачавача звука је опционо и можете директно повезати звучник на ГСМ модул без овог појачала.
Објашњење програмирања:
Програмски део овог Распберри Пи мобилног телефона мало је сложен за почетнике. Овде користимо језик Питхон за Програм. Ако сте почетник у Распберри Пи, требало би да погледате наше претходне водиче за Почетак рада са Распберри Пи и Инсталирање и конфигурисање Распбиан Јессие ОС у Пи.
У овом коду створили смо деф кеипад (): функцију за повезивање једноставне тастатуре за унос бројева. А за унос абецеде створили смо деф алпхаКеипад (): тако да се иста тастатура може користити и за унос абецеде. Сада смо ову тастатуру учинили да функционише исто као и Ардуино библиотека тастатуре. Коришћењем ове тастатуре можемо да унесемо знакове и целе бројеве помоћу само 10 тастера.
Као ако притиснемо тастер 2 (абц2), он ће показати „а“, а ако га притиснемо поново, замениће „а“ на „б“, а ако поново притиснемо три пута, на истом месту ће се приказати „ц“ у ЛЦД-у. Ако сачекамо неко време након притиска тастера, курсор ће се аутоматски преместити на следећу позицију на ЛЦД-у. Сада можемо унети следећи знак или број. Исти поступак се примењује и за остале тастере.
деф тастатура (): за ј у опсегу (4): гпио.сетуп (ЦОЛ, гпио.ОУТ) гпио.оутпут (ЦОЛ, 0) цх = 0 за и у опсегу (4): ако је гпио.инпут (РОВ) = = 0: цх = МАТРИКС враћа цх док (гпио.инпут (РОВ) == 0): прослеђује гпио.оутпут (ЦОЛ, 1)
деф алпхаКеипад (): лцдцлеар () сетЦурсор (к, и) лцдцмд (0к0ф) мсг = "" вхиле 1: кеи = 0 цоунт = 0 кеи = кеипад () иф кеи == '1': инд = 0 макИнд = 6 Кеи = '1' гетЦхар (Кеи, инд, макИнд)……………….
Пре свега, у ову питхон скрипту смо уврстили неке потребне библиотеке и дефинисане пинове за ЛЦД, тастатуру и друге компоненте:
импорт РПи.ГПИО ас гпио импорт сериал импорт тиме мсг = "" алпха = "1! @.,:? АБЦ2ДЕФ3ГХИ4ЈКЛ5МНО6ПКРС7ТУВ8ВКСИЗ90 * #" к = 0 и = 0 МАТРИКС =,,,] РОВ = ЦОЛ =………………
Сада је време да упутите пинове:
гпио.сетварнингс (Фалсе) гпио.сетмоде (гпио.БЦМ) гпио.сетуп (РС, гпио.ОУТ) гпио.сетуп (ЕН, гпио.ОУТ) гпио.сетуп (Д4, гпио.ОУТ) гпио.сетуп (Д5, гпио.ОУТ) гпио.сетуп (Д6, гпио.ОУТ) гпио.сетуп (Д7, гпио.ОУТ) гпио.сетуп (лед, гпио.ОУТ) гпио.сетуп (буз, гпио.ОУТ) гпио.сетуп (м11, гпио.ОУТ) гпио.сетуп (м12, гпио.ОУТ) гпио.сетуп (дугме, гпио.ИН) гпио.оутпут (лед, 0) гпио.оутпут (буз, 0) гпио.оутпут (м11, 0) гпио. излаз (м12, 0)
Затим иницијализујте серијску комуникацију као доле:
Сериал = сериал.Сериал ("/ дев / ттиС0", баудрате = 9600, тимеоут = 2)
Сада морамо да напишемо неку функцију за вожњу ЛЦД-а. Функција деф лцдцмд (цх): користи се за слање наредби на ЛЦД и деф лцдврите (цх): функција се користи за слање података на ЛЦД. Уз ове функције, деф лцдцлеар (): користи се за брисање ЛЦД-а, деф сетЦурсор (к, и): користи се за подешавање положаја курсора на ЛЦД-у, а деф лцдпринт (Стр): користи се за испис низа на ЛЦД-у.
деф лцдцмд (цх): гпио.оутпут (РС, 0) гпио.оутпут (Д4, 0) гпио.оутпут (Д5, 0) гпио.оутпут (Д6, 0) гпио.оутпут (Д7, 0) иф цх & 0к10 == 0к10: гпио.оутпут (Д4, 1)………………
деф лцдврите (цх): гпио.оутпут (РС, 1) гпио.оутпут (Д4, 0) гпио.оутпут (Д5, 0) гпио.оутпут (Д6, 0) гпио.оутпут (Д7, 0) иф цх & 0к10 == 0к10: гпио.оутпут (Д4, 1) ако је цх & 0к20 == 0к20: гпио.оутпут (Д5, 1)………………
деф лцдцлеар (): лцдцмд (0к01) деф лцдпринт (Стр): л = 0; л = лен (Стр) за и у опсегу (л): лцдврите (орд (Стр)) деф сетЦурсор (к, и): ако је и == 0: н = 128 + к елиф и == 1: н = 192 + к лцдцмд (н)
Након тога треба да напишемо неке функције за слање СМС-а, примање СМС-а, упућивање позива и присуствовање позиву.
Функција деф цалл (): користи се за упућивање позива. А функција деф рецеивеЦалл (подаци): користи се за приказивање долазне поруке и броја на ЛЦД-у. Коначно деф участиеЦалл (): користи се за присуство позиву.
Функција деф сендСМС (): користи се за писање и слање поруке уз помоћ функције алпхаКеипад () . И функција деф рецеивеСМС (подаци): користи се за примање и преузимање локације СМС-а. Коначно деф реадСМС (индекс): користи се за приказ поруке на ЛЦД-у.
Све горе наведене функције можете пронаћи у доњем коду.
Дакле, овако можете претворити Распберри Пи у мобилни телефон уз помоћ ГСМ модула. Такође проверите овај паметни телефон Распберри Пи додирни екран.