Собрать смартфон из запчастей

Собрать смартфон из запчастей

В детстве мы любили изобретать и придумывать, с годами мечтаем всё реже, но некоторые по-прежнему верят в то, что идеальные смартфоны существуют. Так где же его найти? В Apple Store, где стоят новые айфоны или на Aliexpress, где можно урвать недорого новый Xiaomi? А вот и нет, идеальный смартфон можно придумать самому, если предположить, что части разных устройств можно собрать в единое творение!

Лицевая часть — Xiaomi Mi Mix

Шикарный безрамочный смартфон с ультратонкими рамками выглядит пришельцем из будущего, автор сожалеет, что телефон нельзя официально купить в Америке, но мы-то знаем, где заказать такой эффектный смартфон.

Задняя часть от iPhone 7

Сверкающая блестящая поверхность в стиле «Jet Black» хороша: и смотрится красиво, и в руках держать приятно. Ну а царапины можно пережить, всё-таки для себя покупаем, а не для перепродажи через пару лет.

Дисплей от Sony Xperia XZ Premium

Full HD — это хорошо, но 4K-дисплей — лучше, поэтому в телефоне мечты должен стоят экран максимально высокого разрешения. А значит, вытаскиваем его из Sony.

Лучшая камера у Samsung Galaxy S8

Пусть у Galaxy S8 старомодная система из одной линзы, а не из двух, как это сейчас принято, тем не менее, Samsung делает отличные фотографии.

Сканер отпечатков из OnePlus 5

Удобнее всего, когда сканер расположен спереди, он должен работать быстро и без ошибок. Значит, берём его из OnePlus 5, где он работает заметно шустрее, чем даже в топовом Galaxy S8.

Защита от воды от Samsung или LG

Дорогие корейские смартфоны не боятся воды, поэтому, если нужна защита от влаги, смотрим в сторону старших моделей — G6 или S8. Они выдерживают погружение на глубину до 1,5 метров в течение 30 минут. Для iPhone 7 заявлены характеристики чуть хуже — он выдерживает полчаса, но на глубине до 1 метра, но тоже достаточно для подводной съёмки.

Самая современная версия Android с лаунчером Google Pixel

Естественно, смартфон мечты должен работать под управлением Android, поэтому оболочка нужна простая, удобная и без лишнего хлама. Что же, такое можно найти у Google Pixel, где всё сделано по уму и этим приятно пользоваться.

Магазин приложений Apple

А вот с приложениями всё куда интереснее обстоит у Apple, магазин лучше оформлен у Google, но качество софта на iOS лучше. Он более продуманный, чаще появляются новинки и в целом, разработчики приложений больше уделяют внимание iOS, чем Android.

Оперативная память из OnePlus 5

Смартфон за $540 предлагает внушительные 8 ГБ оперативки. Даже не спрашивайте зачем, пусть будет, всегда приятно иметь кучу памяти в запасе. Приложения будут работать быстро и плавно, всегда можно вернуться к ранее запущенной программе и продолжить работу с того самого места, на котором вы её покинули, софт трудится в фоне, не сказываясь на быстродействии. Короче, одни преимущества.

Процессор от iPhone

Пускай iPhone 7 — не самый мощный смартфон на рынке. Что с того, если он по тестам обгоняет даже Qualcomm Snapdragon 835, так что процессор Apple A10 — желанный компонент.

Беспроводная зарядка как в Samsung и LG

Заряжать телефон от провода? Фу, прошлый век, куда удобнее делать это, используя беспроводную зарядку. Положил телефон на подставку и смотри себе, как он заполняется энергией. Да, пусть чуть медленнее, зато никаких проводов по офису или квартире. Если, конечно, придумаете, как аккуратно спрятать кабель от самой беспроводной зарядки.

Быстрая зарядка из OnePlus 5

Хорошо, когда телефон не только мощный, но и с мощной быстрой зарядкой в комплекте. Телефон быстро заряжается, но в то же время не перегревается, корпус остаётся холодным, как удобно и приятно.

Огромный аккумулятор из Lenovo P2

Вообще в оригинальной статье был ASUS ZenFone 3 Max, но от себя я добавлю, что предпочёл бы аккумулятор на 5100 мАч из Lenovo P2. С ним телефон работает 3-4 дня, а то и неделю, смотря как пользоваться. Долой тонкие телефоны, пусть лучше они работают долго!

Ценник как у OnePlus 5

OnePlus 5 за $470 — отличное предложение по соотношению цены и качества на рынке. Что тут ещё добавить?

Содержание статьи

Все началось с того, что некоторое время назад я собирал для себя телефон на модуле связи GSM. Современная электроника была размещена в винтажном корпусе с внешней трубкой и дисковым номеронабирателем (помнишь ли ты еще, как ими пользоваться?). Увы, из-за непродуманной схемы звонить с него было неудобно.

Тогда я решил предпринять вторую попытку, но уже с новой концепцией. Хотелось создать компактное устройство, выполняющее функции простого кнопочного телефона и при этом пригодное к практическому использованию. В идеале заряда даже от небольшого аккумулятора должно хватать минимум на неделю. Никаких лишних сервисов, подозрительных приложений и надоедливых уведомлений, только самое необходимое — звонки, SMS и телефонная книжка.

Проект демонстрировался на Chaos Constructions 2019 и, к моему (приятному) удивлению, вызвал интерес у широкой аудитории. Многим было любопытно узнать внутреннее устройство мобильного телефона, поэтому сегодня я подробно расскажу, как можно собрать подобный гаджет самостоятельно.

WARNING

Увы, система сотовой связи по умолчанию позволяет операторам следить за абонентами практически в режиме реального времени и с точностью порядка двадцати метров (за счет триангуляции с нескольких вышек). C учетом российской практики выдачи симок в обмен на паспортные данные, ситуация выглядит печальной. На самом деле уйти из-под надзора телекоммуникационных компаний тоже возможно, но такие способы выходят за рамки этой статьи.

Блок-схема компонентов

Сперва определимся с требованиями к устройству: нам нужно совершать исходящие звонки, принимать входящие, читать и писать SMS (в том числе на кириллице) и управлять контактами в телефонной книге. Это базовая функциональность, которую пользователи ожидают от кнопочных телефонов. Конечно, это далеко не полный список и тут не хватает как минимум встроенных игр (змейки или тетриса), но их легко будет добавить уже на финальном этапе.

Ключевым компонентом устройства станет модуль сотовой связи SIM800C. Он содержит полный радиотракт, аудиотракт и реализует основные функции работы с сетью GSM. Иными словами, это практически готовый мост GSM-UART, который нуждается лишь в управлении через внешний терминал.

Для этого нам потребуется экран, клавиатура и какой-нибудь микроконтроллер для выполнения основной программы. В качестве экрана я использовал дисплейный модуль ST7735 с разрешением 128 на 160 пикселей. К нему у меня уже была готовая библиотека, которая позволяла отрисовывать символы и графические примитивы. По большому счету выбор дисплея некритичен для проекта, и ты можешь использовать любой другой с подходящей диагональю.

Клавиатура с шестнадцатью кнопками реализована на сдвиговых регистрах (пара восьмибитных микросхем 74HC165 (PDF). Также ты можешь использовать их отечественный аналог — микросхемы компании «Интеграл» КР1533ИР9. В любом случае выход таких регистров представляет собой неполноценный SPI, так как даже при отключении они не переходят в высокоимпедансное состояние. Поэтому вместо аппаратной и совмещенной с дисплеем шины SPI для них использовалась программная реализация.

Управлять всем будет микроконтроллер семейства STM32. Так как особого быстродействия не требуется, подойдут даже бюджетные решения. Я остановил свой выбор на F103C8T6 (PDF), его ресурсов тут должно хватить с избытком. Кроме того, именно на таком микроконтроллере выпускается известная модельная линейка отладочных плат BluePill (прекрасное средство для избавления от Arduino-зависимости). Это позволило собрать прототип и протестировать работу компонентов практически с самого старта.

Некоторые микросхемы F103C8T6 имеют 128 Кбайт памяти вместо заявленных по документации 64 Кбайт. Однако это относится к недокументированным возможностям, и рассчитывать на «лишний» банк памяти не стоит.

Позже (и в качестве приятного бонуса) я решил добавить в проект внешнюю постоянную память W25Q32 (PDF) на 32 Мбит. Это позволило не перезаписывать флеш самого микроконтроллера и хранить все контакты отдельно. Кроме того, появилась возможность загружать на телефон картинки, символы и прочие элементы растровой графики.

Сама схема мобильного телефона достаточно стандартная и в комментариях вряд ли нуждается. SIM800C включается при подаче низкого уровня на вывод REST (используется транзистор Q1, соединенный с контактом PA0 микроконтроллера). Дополнительно светодиоды VD2 и VD3 указывают на состояние радиомодуля. VD2 мигает при успешном подключении, тогда как VD3 горит все время, пока SIM800C активен.

Принципиальная схема устройства

Компоненты размещены на двух односторонних печатных платах, преимущественно поверхностным монтажом. Первая плата содержит радиомодуль, микроконтроллер, микросхему внешней памяти и разъемы для подключения антенны и динамика. Вторая плата целиком и полностью отдана под клавиатуру. Собранная конструкция помещается в корпус из оргстекла и закрепляется на стойках М3.

Читайте также:  Таблица символов через alt

Питается наше устройство от литий-полимерного аккумулятора на 1500 мА · ч. Его емкость примерно в два раза ниже, чем у современных флагманских смартфонов, но и ее хватает примерно на неделю в режиме ожидания (потребление около 6 мА) или на сутки активного пользования (потребление около 40 мА).

Вообще говоря, большая часть использованных электронных компонентов сейчас доступна в виде готовых оценочных плат или модулей. Поэтому, если тебе не хочется возиться с разводкой плат и пайкой микросхем, ты можешь собрать все на беспаечных макетках.

Настраиваем UART

Сегодня существует масса вариантов для программирования микроконтроллеров. Это и различные языки (С/С++, Rust), и самые разнообразные прикладные библиотеки, абстрагирующие разработку от аппаратного уровня (HAL от ST Microelectronics, Arduino Core и другие). Я использовал в проекте каноничный C и открытую libopencm3.

Полный комплект исходных файлов проекта доступен в репозитории на GitHub.

Первым делом следует инициализировать UART1, ведь именно он отвечает за общение с радиомодулем. Параметры стандартные: 115 200 бод и 8N1.

После этого логично как-то организовать отправку команд на модуль. Например, c помощью сторонней реализации printf() . Для этого используется библиотека rprintf. Ее код хорошо оптимизирован и занимает всего несколько килобайтов памяти. Библиотеку следует подправить для работы с libopencm3 , буквально несколько строк.

Теперь модулю можно отправлять команды вида printf_("AT_command") , а ответ модуля принимается с использованием прерываний и сохраняется в буфер. После приема содержимое анализируется, и если это ожидаемый ответ, то вызывается функция-обработчик, которая используется для вывода сообщений SMS и USSD. Также возможен непосредственный вывод сообщения на экран, что очень удобно при отладке.

Работа с экраном

Как и любую другую периферию, дисплей перед использованием предстоит инициализировать. Конечно, сегодня подходящий код можно найти и в интернете, но я решил написать реализацию самостоятельно. Это не отнимет много времени, зато позволит лучше узнать возможности микросхемы ST7735. Я ориентировался на документацию (PDF) производителя и брал за основу готовые примеры в псевдокоде.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

Candidum

Check Also

Из-за бага Tor Browser запускает JavaScript там, где должен его блокировать

Разработчики предупредили, что из-за ошибки браузер может выполнять код JavaScript на сайт…

10 комментариев

Artem Kashkanov

SIM800 Сам по себе содержит внутри весьма жирный микроконтроллер с приличным API, в который можно засунуть весь описанный здесь функционал. Мануалы все есть, IDE — тоже.
Подключаем матрицу кнопок к уже имеющимся выводам матричной клавиатуры, дисплей к уже имещимся на моделй выводам SPI и радуемся жизни максимально с простым девайсом.

Все собирается на базе стандартного модуля GSM, какая же это защита от контроля и прочего? Модули GSM это некий черный ящик, что он делает, как он делает, никому не ведомо. Такой телефон защищен не лучше чем обычный кнопочный. Для того что бы телефон защищал необходимо что бы он вел себя не стандартным образом хотя и в рамках стандарта 🙂 Но для этого необходимо иметь возможность работать с самим GSM модулем.
Например так:
Телефон невидимка является уникальным телефоном, и аналогов ему нет.
Сделан на базе телефона Samsung C6112
Телефон невидимка предназначен для защиты:
— от активных и полуактивных комплексов перехвата
— от кетчеров
— от контроля со стороны оператора связи (в значительной степени)

· Основная особенность телефона — работа в не стандартном режиме, чего не ждет ни оператор связи, ни оператор комплекса.
· Телефон рассчитан на обнаружение комплексов перехвата и кетчеров которые работают непосредственно по нему.
· Несмотря на то, что телефон работает только в стандарте 2G, он обнаружит любые самые современные комплексы перехвата или кетчеры, работающие в 2G 3G 4G, просто потому что для захвата телефона, они будут вынуждены перейти в стандарт 2G.
· Телефон может обнаружить комплексы, работающие в 2G стандарте, которые находятся не далеко от него, ещё до захвата.
· Телефон может быть полностью невидим для кетчеров или комплексов.
Кетчер или комплекс перехвата не смогут получить реальные IMSI TMSI IMEI, они получат случайно сгенерированные значения
При этом телефон видит, что его пытаются захватить и выдает предупреждения.
Таким образом телефон делает бесполезной и бессмысленной покупку дорогостоящих комплексов перехвата и кетчеров.
Более того, использование комплексов может быть вредным, потому что оператор комплекса получит не достоверную информацию.
· Телефон может быть полностью невидим как для пинговых СМС так и для обычных СМС. Таким образом, его не смогут пинговать комплекс перехвата, оператор связи, а так же по SS7.
· Телефон гарантированно обнаружит все типы пинговых СМС, обнаружит пингование звонками.
· Телефон контролирует поступление информации на СИМ карту и не допустит возможности установить на неё вредоносный код. А если он уже там находится, то не даст ему работать.
Именно СИМ карта является одним из важнейших уязвимых мест в безопасности современного телефона.
· Автоматически смена IMEI на случайное значение. Пять режимов работы
· Телефон позволяет помочь в локализации места работы комплексов перехвата и кетчеров. Поэтому для операторов комплексов и кетчеров использование оборудования для захвата телефона невидимки может быть не безопасно.
· Телефон позволяет работать с удалённых каналов. В то время как комплекс, для захвата телефона, будет стараться создать самый сильный канал, телефон его проигнорирует.
· Телефон проигнорирует и завышенные параметры комплекса или кетчера. Но предупредит об их наличии.
· Телефон сможет гарантированно определить комплекс перехвата даже при условии, что оператор комплекса установил все параметры, на все 100%, как у настоящей БС.
· Телефон предупредит не только о захвате комплексом, но и о том, когда комплекс его отпустил во внешнюю сеть, и покажет, сколько времени он был захвачен.
· Телефон гарантированно определяет, кем он был захвачен, комплексом перехвата или кетчером.
Если захват был сделан кетчером то телефон мог попасть в зону его работы случайно. Потому что кетчер собирает данные обо всех телефона вокруг него. А вот комплекс работает, как правило, целенаправленно.

· В телефоне все настройки могут быть включены или выключены, а так же есть профили, выбор которых определяет поведение телефона. Например, телефон может быть настроен на максимальную защиту, а может только предупреждать об опасности, при этом не мешая себя захватить, что бы оператор комплекса мог получить дезинформацию.
· В телефоне сделано МЕХАНИЧЕСКОЕ отключение микрофона. Пока телефон сложен — микрофон нельзя включить никаким образом. Телефон обнаружит включение передатчика, в то время как пользователь не использует телефон.
· Телефон позволяет отправлять шифрованные СМС на такой же телефон.
· Телефон гарантированно обнаружит пингование пейжинговыми сообщениями.
После этого в зависимости от настроек он может:
— просто выключить передатчик и предупредить сообщениями
— выключиться
— СОЗДАТЬ СВОЙ КЛОН и после этого отключиться. Для этого необходим дополнительный телефон на расстоянии 500 метров в стороне от вас.
Это необходимо для того, что бы ваш телефон не смогли найти «до квартиры» с помощью специального оборудования, которое работает либо совместно с комплексом перехвата либо с оператором связи.
· Поскольку в телефоне содержат реально два почти независимых телефона то есть возможность автоматического включения одного из них в заданной пользователем задержкой..
· Телефон обнаружит фейковые СМС с подменой номера.
· Телефон позволит узнать — находится ли нужный абонент в сети, без демаскирующих признаков на телефоне абонента.
· В телефон встроен сервис:
подмены номера, искажения голоса, невозможность определения места положения телефона, безлимитные звонки по всему миру, привязка к железу телефона, а не к СИМ карте. Таким образом СИМ карты могут быть всегда местные и не выделяться из общего потока, а менять их можно сколь угодно часто.
Запрос на звонок идет в шифрованном виде и не может быть расшифрован. Так же предусмотрена возможность работы через СМС шлюз, если в телефоне нет настроек GPRS.
· Телефон может работать в составе телефонного моста. Для того, что бы не только скрыть место положения владельца телефона но и наоборот — обозначить его именно там где это необходимо.
Таким образом, владелец телефона может находиться за границей, а те кто его контролируют, будут видеть что он дома.
· Телефон может вести запись разговоров.
· Телефон работает на закрытой операционной системе, которая не позволяет писать вредоносный код. Компания Samsung не сможет написать вредоносный код и внедрить его в телефон невидимку.

Читайте также:  Что нельзя делать с ssd диском

Описан не полный перечень функций телефона.

int01h

Эти телефоны стучат своим создателям. Старые версии слали смски, победить можно было только убрав номер смс центра из настроек трубки. В современном варианте хз чего еще туда напихали. В любом случае, хотите защититься от терминалинга, наблюдения и зондирования — выбросите телефоны нафиг. Все остальное, так или иначе, строится на доверии. Кто-то доверяет гуглу, другие доверяют таким вот производителям. Один наркобарон додоверялся шнырю фбровскому, теперь на киче отдыхает. Лучше исходить из того, что даже себе, в сложной обстановке, не стоит доверять и уменьшать риски, а не множить их очередным черным ящиком.

вы правы, на G600 так была сделана защита от копирования, это не было для получения информации о пользователе. СМС шла с родным для телефона ИМЭЙ и тот имэй который уходил реально оператору никак не светился. В последующих версиях G600 это убрали сделав другую защиту ( которую так никто и не сломал). В С6112 отправки производителю чего либо о телефоне не было даже в самых первых версиях. Просто поверьте, я знаю о чем говорю. Это кстати легко проверить по распечатке своей же СИМ карты.
Выбросить телефоны совсем уже не просто. Но кстати в С6112 — оснавная функция это не защита а предупреждение что у пользователя начались проблемы, и в этом смысле выбросить телефон — аналогично страусу головой в песок ( к слову сказать он так и не делает вовсе 🙂 ) Тут наоборот, нужен телефон что бы понять о существовании опасности. Хотя конечно телефон защищает пользователя. Чего стоит невидимость для кетчеров и комплексов.

int01h

Вы видимо разработчик или как-то с ними связаны. В таком случае, скажу две вещи:
1. Вы молодцы. И как продукт, и как исследовательская работа — подход очень интересный. НО.
2. Повторюсь — нужно кому-то доверять, а в данном случае разработчикам нового софта телефона.

Сами понимаете, обычная логика — чем вы отличаетесь от тех, кому уже доверяют не имея возможности досконально проверить весь функционал? Например, защита от копирования в г600. Благое дело для защиты наработок, но дырень в «конспирации» при рандоме имея и новой симке. Допустим, это все происходило только в случае хитрых барыг, которые накатывали ваш код на сторонние трубки. Но это незадекларированный функционал, о котором уже нормальный клиент не знает, а он есть. Как считаете, это оправдывает доверие юзера к производителю? Просто с позиции клиента оцените похожую ситуацию.

Я понимаю, что вашим клиентам это может быть и не нужно, замороченных мало. Но конспирация — это не про телеграммных барыг, испуганных бизнесменов, экспериментирующих технически малограмотных оперов и тех кто на рандомном имее с новой симкой связывается со старыми установленными контактами. Но эта проблема доверия черному ящику не уйдет сама по себе. А отказ от телефона — это не про страуса и бетон 🙂 Всегда есть альтернативы. Один из основных принципов вы уже назвали — нестандартное поведение. А также нестандартное использование привычных вещей. Кроме всего прочего, от обычных телефонов и голоса в них, тем кому важна анонимность, нужно отказываться еще и благодаря успехам ЦРТ (Центр Речевых Технологий).

Да, чуть не забыл. Говоря о терминалинге, это справедливо, что телефон может предупредить о наблюдении. Но не со всеми девайсами 🙂 У трехбуквенных фазанов часть терминалов не палится почему-то. Принцип работы похожий на остальные, но стабильно на них нет реакции. Спросите у разработчиков — это тоже защита от копирования?)

я и есть разработчик 🙂 комплексы и кетчеры видятся все, не зависимо от того кто их использует. Производители комплексов одни и те же в основном, стандарт один. Сейчас на С6112 сделана опция когда ( а такого в природе не бывает) оператор комплекса выставит все параметры соты один в один, хотя для него захватить в этих условиях становится намного сложнее, к тому же телефон должен перерегистрироваться, а это отличные от оригинальных параметры. Так вот, параметры один в один а телефон гарантированно определит что это комплекс. Так что «фазанам» ничего не светит. Но я сталкивался с тем что активно работают и частные структуры из бывших. Так вот повторюсь, и это очень важно, пусть центр речевых, пусть старые контакты — важно что они работают стандартным образом и палятся по полной, когда идет атака на телефон, именно это и требовалось. Хотя опять же повторюсь защиту сейчас наворотили очень сильную, но это дело второе. И разговор идет о С6112, G600 последний раз обновлялся осенью 2014 года

int01h

В случае с фазанами есть еще СОРМ и другие методы ОРМ. Терминалы используют в поле, и г600 пропускал их девайсы, тесты были в 14-15 году, но не на последней версии прошивки точно. Справедливости ради, С6112 я не тестил, не знаю как там теперь все у вас.

Насчет голоса и контактов — в РФ это как раз очень важно, постоянно так причесывают доморощенных бандосов, даже во времена ФСКН по контактам били. Не знаю как в Украине или других странах, где возможные тесты были, но в России ситуация иная. Я уже давно не в курсе новых практик и разработок, но помимо общих стандартов, в РФ велись разработки собственных терминалов. Которые не уходят на эскпорт, да и внутри не продаются и не поставляются даже БСТМ МВД. Я не знаю какие конкретно девайсы пропускал телефон, думаю, что на тот момент какие-то стандартные, немецкие скорей всего.

В поле как и в случае с комплексом такой признак как один канал ( нет соседей) не работает, а в случае когда в составе комплекса есть обработчик А5.1 сводит на нет обнаружение в случае G600. Хороший комплекс мог и не существующих соседей давать телефону. Поэтому сравнивать G600 и С6112 нельзя. То что в России делают сами, так это было с самого начала появления комплексов, и те что продаются по миру сделаны «нашими» а те что делаются только для внутреннего потребления никакими волшебными свойствами не обладают. Все стандартно как и сам стандарт GSM. Конечно по мере использования комплексов появлялись какие то новые методы работы но мы в телефоне все это отслеживаем и делаем то что сводит покупку комплексов и кетчеров на нет.

кстати, часть функционала проверить можно не имея комплекс, часть ( основная) конечно оборудование необходимо. Но у нас есть возможность тестировать телефон в другой стране

Asylum

Не проще сделать программный телефон на удаленном сервере? Поскольку эта поделка использует сим карту, сомневаюсь что тут будет какая то анонимность. От фиксации в соте никуда не уйти. Так что район будет точно определен. Детсво, в жопе, если коротко

Это руководство описывает от начала до конца конструирование своего собственного смартфона. Начинается дело с печати на 3D-принтере корпуса, затем спаиваются печатные платы, всё это дело собирается, и, в конце концов, на смартфон устанавливается мобильная операционная система, и с помощью языка программирования Python она становится персонально Вашей. Вы можете ознакомиться с подробностями о данном проекте по ссылке.

Необходимые навыки:
— базовые навыки пайки;
— знакомство с Raspberry Pi.
Или:
— много свободного времени и терпения.

Шаг 1: Собираем необходимые материалы

Перед тем, как начать, давайте-ка закажем все компоненты, которые нам потребуются. Итак, вам потребуются следующие электронные компоненты и печатные платы (в России компоненты можно приобрести, например, в таких магазинах):
1. Raspberry Pi A+ 256MB
2. модуль GSM Adafruit FONA uFL Version
3. 3.5′ PiTFT сенсорный экран
4. Raspberry Pi Camera 5MP
5. преобразователь Powerboost 500 Basic
6. GSM антенна
7. 1В 8Ом динамик
8. адаптер USB — Wifi
9. электретный микрофон
10. 1200мА литий-ионная батарея
11. 4-40 x 3/8′ винты
12. M2.5 x 5mm винты
13. M2.5 x 20mm винты
14. M2 x 5mm винты
15. ползунковый переключатель
16. провода

Читайте также:  Переделка блока питания компьютера на шиме 3528

Ну а пока вы ждете доставки заказа со всем перечисленным, можно напечатать корпус.

Шаг 2: Печатаем корпус на 3D принтере

Корпус смартфона состоит из двух частей, напечатанных на 3D принтере: верхней и нижней (ну или передней и задней, это смотря как на него посмотреть). Скачать файлы .stl вы можете с ресурса thingiverse. Ну а если у вас нет 3D принтера, то можете заказать печать какой-нибудь компании, которая предоставляет подобные услуги (например, Shapeways). И да, если вы хотите сделать корпус более индивидуального дизайна, можете скачать проект для Solidworks с моей странички на github.

Шаг 3: Основная сборка

Теперь давайте соединим всё вместе. На диаграмме изображен Raspberry Pi. Вместо того, чтобы сразу подключаться к нему, подключите провод к 26 контакту на PiTFT. Теперь дальше.

1. Присоедините контакт «bat» на модуле GSM (Adafruit FONA) к такому же контакту на преобразователе (PowerBoost).
2. Припаяйте провод от контакта GND (земля) на модуле GSM к такому же контакту на преобразователе.
3. Припаяйте провод от контакта GND на преобразователе к одному из контактов полузнкового переключателя.
4. Также присоедните контакт GND от преобразователя к «земле» дисплея PiTFT (Такая же распиновка первых 26 контактов, как у Raspberry Pi, обратите внимание, что стрелка и «1» обозначаются первый контакт).
5. Присоедините 5В линию от преобразователя к 5В линии дисплея.
6. Припаяйте провод от центрального контакта ползункового переключателя к контакту «EN» (Включено) на преобразователе.
7. Припаяйте провод от контакта «KEY» на модуле GSM к контакту 12 (GPIO 18) на дисплее.
8. Поместите дисплей над Raspberry Pi.
9. Перепроверьте все соеднинения!

ВНИМАНИЕ: Пока проходит тестирование, убедитесь, что 5В разъем micro USB не подключен. Raspberry Pi уже запитан от батареи.

Если вы переключите ползунковый переключатель, светодиоды на преобразователе должны загореться и Raspberry Pi должен включиться. Подсветка дисплея также должна включиться. Если у вас на SD карте Raspberry Pi настроена отправка картинки на дисплей, то она должны отобразиться на нем. В противно случае, дисплей будет просто гореть белым, что на данный момент тоже пойдет. Скорее всего, на модуле GSM не загорятся светодиоды. Чтобы его включить, удерживайте кнопку включения на нем в течении пары секунд. Или подайте сигнал на разъем GPIO 18 на Raspberry Pi в течении того же времени. Если вам удалось запитать Raspberry Pi, дисплей и модуль GSM от батареи, пора переходить к следующему шагу.

Шаг 4: Финальная сборка

После того, как мы подключили питание, можно завершить подключение модулей к Raspberry Pi, а также подключить динамик и микрофон. Давайте начнем.
1. Припаяйте контакт динамика «spk +» (8Ом) к контакту «spk -» на модуле GSM. Полярность не имеет значения.
2. Припаяйте красный провод микрофона к контакту Mic + на модуле GSM.
3. Припаяйте черный провод микрофона к контакту Mic — на модуле GSM.
4. Подключите контакт «RI» (Индикатор звонка) на модуле GSM к контакту 7 (GPIO 4) на дисплее.
5. Подключите TX на модуле GSM к контакту 10 (RX) на дисплее.
6. Припаяйте RX модуля GSM к контакту 8 (TX) на дисплее.
7. Соедините Vio и bat на модуле GSM. При желании, можете использовать линию 3v3 на Raspberry Pi.
8. Закрепите uFL антенну к соединителю uFL на модуле GSM.
9. Перепроверьте все соединения!

Если вы попытаетесь все включить сейчас, то поведение устройства должно быть аналогичным, как на предыдущем шаге. На следующем шаге мы установим сим-карту в модуль GSM, что позволит устройству контактировать с сотовой сетью.

Шаг 5: Установка сим-карты

Теперь, когда соединение модулей завершено, можно установить сим-карту, чтобы модуль GSM мог контактировать с сотовой сетью. Данный модуль использует сети 2G для передачи данных, например T-Mobile. Обратите внимание, что модуль не работает с сетями 3G и 4G. AT&T планирует отключить поддержку 2G сетей к 2016 году, так что мы будем использовать сим-карту T-Mobile. Данный модуль GSM использует сим-карту стандартного формата, так что микро или нано сим-карты сюда не пойдут. Активируйте карту согласно инструкциям оператора. Затем установите сим-карту в модуль GSM и включите его. Если красный светодиод модуля будет моргать каждые 3 секунды, значит он подключился к сотовой сети! На следующем шаге мы установим программное обеспечение, чтобы Raspberry Pi смог общаться с модулем GSM.

Шаг 6: Установка SD карты

Теперь, когда все железо собрано, можно приступить к настройке взаимодействия Raspberry Pi со всем этим хозяйством. Начните с прошивки последней версии PiTFT OS на SD карту Raspberry Pi. Жмите сюда чтобы скачать. Когда SD карта готова, установите ее в Raspberry Pi и включите его. Вам понадобится утилита raspi-config. Вот несколько вещей, которые потребуется настроить:
1. Развернуть файловую систему.
2. Включить поддержку камеры.
3. Выключить serial port. Так Raspberry Pi сможет общаться с модулем GSM.
4. Включить ssh. Это важно, поскольку в Raspberry Pi A+ есть только USB порт.

Закончите установку и перезапустите Raspberry Pi.
Напишите startx и Raspberry Pi запустит LXDE на дисплее. Чтобы войти через HDMI, напишите:

Шаг 7: Установка Wifi

У вашего телефона нет клавиатуры, так что для доступа к устройству через консоль, нужно установить wifi для подключения по ssh. Подключите Wifi адаптер к компьютеру и настройте подключение через Wifi Config. Выключите Raspberry Pi и подключите к нему Wifi адаптер. Если вам все еще не удается подключиться к Raspberry Pi по ssh, попробуйте использовать USB концентратор. Больше информации по настройке Wifi можно найти здесь.

Шаг 8: Финальная подготовка программного обеспечения

Тестирование модуля GSM

Чтобы протестировать модуль GSM, установите minicom с помощью команды:

Должен открыться терминал по взаимодействию с устройствами через ком-порт. Если вы напишете:

в ответ должны получить «ОК». Если не получили, то проверьте все соединения. Если же получили, значит модуль GSM готов к работе.

Вы могли заметить, что текст на экране показывается боком, а не ориентируется на положение телефона. Давайте изменим это с помощью команды:

Измените в файле значение параметра «rotate» на 180.

Наконец, чтобы добавить LXDE в автозагрузку, следуйте описанию в инструкции.

Установка программного обеспечения для камеры

Теперь давайте установим программное обеспечение, которое помогает снимать фото камерой Raspberry Pi. Для начала напишите:

Наконец, загружаем программное обеспечение:

Шаг 9: Установка TYOS

TYOS — это операционная система для мобильных устройств (Технически, модифицированная версия Raspbian — это операционная система, а TYOS — это только графическая оболочка), дающая возможность телефону отправлять и получать sms сообщения, а также делать звонки. В консоли напишите:

Для запуска TYOS напишите:

Когда TYOS запустится, убедитесь, что все работает путем отправления sms и совершения звонка. Когда вы убедитесь, что все в порядке, можно установить TYOS в автозагрузку.

чтобы открыть конфигурационный файл. Внизу, после текста и до строчки «exit 0», добавьте следующий текст:

Теперь перезапустите Raspberry Pi. TYOS должен стартовать при загрузке устройства!

Шаг 10: Собираем всё вместе

Теперь можно всё надежно упаковать в корпус.
1. Используя горячий клей, приклейте микрофон и динамик в разъемы под них.
2. Используя винты M2, закрепите камеру. Потребуется соединить ленточным кабелем камеру и Raspberry Pi, так что разместите ее подходящим образом.
3. Используя винты M2.5, закрепите Raspberry Pi вместе с установленной SD картой и адаптером Wifi вниз корпуса.
4. Присоедините ленточный кабель камеры с Raspberry Pi.
5. Также используя винты M2.5, закрепите модуль GSM с сим картой в корпус.
6. При укладке проводом убедитесь, что они не мешают никакой другой электронике.
7. Оберните преобразователь изолентой, чтобы избежать короткого замыкания.
8. Поместите преобразователь и батарею между Raspberry Pi и дисплеем.
9. С помощью горячего клея приклейте ползунковый переключатель в разъем, предназначенный для него вверху корпуса.
10. Используя винты 4-40, соедините верхнюю и нижнюю часть корпуса вместе.
11. Проверьте все соединения.

Ссылка на основную публикацию
Смарт часы что они умеют
В этой статье мы поговорим о том, для чего нужны умные часы, а также какими функциями они располагают чаще всего....
Сервер не поддерживает символы не ascii
Многие из нас пользуются замечательным FTP сервером FileZilla Server. Думаю, не я один столкнулся с проблемой некорректного отображения русских букв...
Сервера для обновления nod32 бесплатно
Отличие полной версии от триальной Полные (не триальные) антивирусные базы и программные компоненты Eset Antivirus и Eset Smart Security! Отличия...
Смарт часы самсунг с сим картой
Хотите быть современным и модным человеком? Перестать зависеть от своего громоздкого смартфона? Только представьте, вы можете не брать телефон на...
Adblock detector