[Перевод] Собираем свой собственный смартфон

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

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

fb46f544bc0940afbac1d56e44b1c5e6.jpg

4daa50e4b16a4093aea07dfd8402987b.jpg

[embedded content]

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

4832838f870047f89a70c34cc9c2779a.jpg

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

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

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

d1475c41a55b459c938205f1c052e442.jpg

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

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

f51e76585be846a68b78bc006304dd5c.jpg

b7b85ed8d436466d8af84aba98cf1e52.jpg

Теперь давайте соединим всё вместе. На диаграмме изображен 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: Финальная сборка

4b210a9ddd9c411c9883904a254f71dd.jpg

После того, как мы подключили питание, можно завершить подключение модулей к 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: Установка сим-карты

843e37d952594ce89f94fedb49c2fc98.jpg

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

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

1ede425c88c04fe897faf69c2423c165.jpg

Теперь, когда все железо собрано, можно приступить к настройке взаимодействия 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.Напишите stratx и Raspberry Pi запустит LXDE на дисплее. Чтобы войти через HDMI, напишите:

FRAMEBUFFER=/dev/fb0 startx

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

6fe2d81fb0eb46e787ec60b35762188d.jpg

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

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

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

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

sudo apt-get install minicom

Затем запустите:

sudo minicom -D /dev/ttyAMA0 -b 9600

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

AT

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

Поворот экрана

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

sudo nano /etc/modprobe.d/adafruit.conf

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

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

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

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

sudo apt-get install python-pip

Установка камеры:

sudo pip install picamera=0.8

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

git clone https://github.com/spadgenske/adafruit-pi-cam

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

66b524aa36b042e2bb41cb5d28f6029a.jpg

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

wget https://github.com/spadgenske/TYOS/archive/0.1.0.zip

Распакуйте архив:

unzip 0.1.0.zip

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

sudo python /home/pi/tyos/src/main.py

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

Напишите

sudo nano /etc/rc.local

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

sudo python /home/pi/tyos/src/main.py --power

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

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

e5f5b900c77f4afbb46aca74f99b15ac.jpg

743beefbfa494052a0a949fb54790602.jpg

Теперь можно всё надежно упаковать в корпус. 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. Проверьте все соединения.

Мои поздравления! Вы только что собрали свой собственный смартфон! Если вам не по душе телефон, называющийся «tyfone», можете поменять лого в /home/pi/tyos/graphics/logo.png на любое, какое пожелаете.

© Habrahabr.ru