[Перевод] Собираем свой собственный смартфон
Это руководство описывает от начала до конца конструирование своего собственного смартфона. Начинается дело с печати на 3D-принтере корпуса, затем спаиваются печатные платы, всё это дело собирается, и, в конце концов, на смартфон устанавливается мобильная операционная система, и с помощью языка программирования Python она становится персонально Вашей. Вы можете ознакомиться с подробностями о данном проекте по ссылке.
Необходимые навыки: — базовые навыки пайки; — знакомство с Raspberry Pi.Или: — много свободного времени и терпения.
[embedded content]
Шаг 1: Собираем необходимые материалы
Перед тем, как начать, давайте-ка закажем все компоненты, которые нам потребуются. Итак, вам потребуются следующие электронные компоненты и печатные платы (в России компоненты можно приобрести, например, в таких магазинах):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 принтере
Корпус смартфона состоит из двух частей, напечатанных на 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.Напишите stratx и Raspberry Pi запустит LXDE на дисплее. Чтобы войти через HDMI, напишите:
FRAMEBUFFER=/dev/fb0 startx
Шаг 7: Установка Wifi
У вашего телефона нет клавиатуры, так что для доступа к устройству через консоль, нужно установить 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
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: Собираем всё вместе
Теперь можно всё надежно упаковать в корпус. 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 на любое, какое пожелаете.