Добавить в корзинуПозвонить
Найти в Дзене
Smart home Russia

Умный дом из Android телефона. Установка и настройка Termux

Не знаю как Вас, а меня очень бесит тот факт, что телефон с хорошим железом начинает с каждым годом работать все хуже и хуже и наконец уходит в коробку к своим братьям по несчастью, хотя технически он способен еще на очень многое. Translation to English is here. Также, основной канал в telegram. В сентябре я начал первую подготовку к написанию данной статьи: Заключается она в том, что на телефон нужно установить минимально необходимый Android 7, который был необходим, а в наличии был только 5, и я описывал как это было. Любой смартфон или коммуникатор (старое название) — это полноценный компьютер с установленной на него операционной системой. Когда мы думаем, что телефон стал совсем старым и уже не годится для выполнения повседневных задач, то на самом деле не знаем в чем причина, а их может быть огромное количество. Телефон может тормозить из-за проблем в железе, проблем в плате из-за падения, да даже из-за старой или плохой новой батарейки. Но, есть и вторая проблема, это программы,

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

Translation to English is here. Также, основной канал в telegram.

В сентябре я начал первую подготовку к написанию данной статьи:

Заключается она в том, что на телефон нужно установить минимально необходимый Android 7, который был необходим, а в наличии был только 5, и я описывал как это было.

Любой смартфон или коммуникатор (старое название) — это полноценный компьютер с установленной на него операционной системой. Когда мы думаем, что телефон стал совсем старым и уже не годится для выполнения повседневных задач, то на самом деле не знаем в чем причина, а их может быть огромное количество. Телефон может тормозить из-за проблем в железе, проблем в плате из-за падения, да даже из-за старой или плохой новой батарейки. Но, есть и вторая проблема, это программы, которые установлены в нашем смартфоне. Например, планшет 10-летней давности после сброса работает хорошо лишь до момента входа в google-аккаунт, дальше все сервисы обновляются и все ресурсы планшета уходят только на их работу в фоне, такая же история и с телефонами того времени. Есть два варианта решения проблемы с этими прожорливыми сервисами, первый - не входить в свой аккаунт и ставить все приложения самому или из стороннего магазина, второй - перепрошить телефон на что-то простое кастомное, где сервисы ненужные вырезаны и нужно установить только тот пакет, который нам нужен, например синхронизатор контактов, календаря и google play. Правда это не спасет нас от кривых приложений в google play, которые тестируются на современных телефонах, а некоторые, судя по всему, вообще не тестируют.

Так или иначе, на руках у меня сейчас, для начала, 2 подопытных телефона, это:
1.
Jiayu S3 2015 г.в. на процессоре 2014г. MediaTek MT6752, 64-bit, 28 nm, 8 ядер ARM Cortex-A53, 1,7Ггц, 3Гб ОЗУ (она же оперативка) 16Гб ПЗУ (она же flash)
2.
Xiaomi Redmi note 2 2015 г.в. на процессоре 2014г. MediaTek MT6795, 64-bit, 28 nm, 8 ядер ARM Cortex-A53, 2,2Ггц, 2Гб ОЗУ (она же оперативка) 16Гб ПЗУ (она же flash)

Каждый из них, по характеристикам, лучше, чем Raspberry Pi 3b, которую нам пытаются сейчас продать за несовместимые с здравым смыслом деньги (13100Р на время публикации), а тут лежат такие монстры... Но, к сожалению, сравнить их между собой в лоб нельзя. На RPi3B+ есть и порты и gpio и самое главное - отточенные сборки ОС, а на смартфоны выше - ничего, но если запустить на них Linux, то они сгодятся еще на многое. К сожалению, Linux эти телефоны никто не выпустил, но он есть, например на ваш аппарат может существовать Kali Linux. С другой стороны, Android уже работает на Linux...

Мысль о использовании старых телефонов мне пришла в голову давно и тогда же я познакомился с Termux. Рекомендую почитать Habr на эту тему

Termux — это Android приложение под свободной GPL3+ лицензией: эмулятор терминала для среды GNU/Linux, которое работает напрямую без необходимости рутирования. Минимальный базовый функционал устанавливается автоматически, расширенные возможности подтягиваются с помощью менеджера пакетов и установкой стороннего ПО с git, а продвинутая деятельность на телефоне достигается за счёт рут-прав пользователя и установкой proot дистрибутивов GNU/Linux.

До прочтения статьи на хабре, я зашел в google play и скачал termux, но у меня ничего толком не вышло. Я расстроился и подзабил на это все. Но, 15 сентября мне на глаза попадается эта статья на mysku. Автор в этой статье ответил на мой главный вопрос, почему же у меня не получилось. Привожу ответ с Хабра:

Скачиваем и устанавливаем приложение Termux из магазина приложений F-droid. Termux в магазине приложений GP больше не поддерживается и не обновляется с осени 2020 года, вся разработка осуществляется на Github, а релизы выкладываются в F-droid/Git. Причины с рекурсией описаны здесь.

Установив версию с GitHub наконец все заработало! F-droid я тоже поставил, крайне интересный магазин и там есть дополнения к termux хорошие и удобные.

Экран аппарата у меня разбит, я писал про это, но методами кручения верчения/отладки нам нужно ввести несколько команд (Подсмотрено в теме termux на 4PDA тут и тут) вводим в телефоне с экранной клавиатуры:

1. Обновляем репозитории, иногда появляются сообщения с ругательствами, что нет доступа, но происходит поиск зеркал и в итоге все начинает работать:
apt update

2. Теперь логично, что нужно обновить все пакеты, ведь в них исправили старые ошибки и недочеты и уже наделали новых☺. На все вопросы отвечаем Y
apt upgrade

3. Нам же надоело вводить все с клавиатуры и на компьютере это все намного удобнее. Ставим SSH сервер. На все вопросы отвечаем Y:
pkg install openssh

4. Теперь у нас есть ssh сервер и было бы неплохо к нему подключиться, для этого с телефона задаем пароль командой:
passwd
вводим дважды одинаковый пароль

5. Последний штрих, если не знаем куда подключаться, то вводим команду, позволяющую получить наш ip-адрес:
ifconfig
На всякий случай напомню, что для подключения к телефону с компьютера, они оба должны быть в одной сети

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

Теперь с компьютера выполним несколько команд:

1. Знакомое нам обновление всего и вся:
apt update && apt upgrade -y

2. Установим минимальный набор пакетов:
pkg install curl wget git micro openssl python nano tsu cronie grep coreutils lsof android-tools gawk nodejs -y
Если в процессе установки на какой-нибудь пакет у нас выходит ошибка, то убираем его из строки выше и повторяем, такое бывает.

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

Есть еще и такая рекомендация с 4pda:

У кого есть root, выполняем:
pkg install tsu

Цитата по команде с хабра:

Сначала надо прорутить телефон, потом в /system/bin/ положить su и поставить у него SUID бит в правах. Для того чтоб порутить телефон - надо качать хакерские программки, потому что получение рута на андроиде не предусмотрено. Да и приложение сбера у вас перестанет работать =)
Есть еще и такая рекомендация с 4pda:
Эмуляция рут прав:
pkg install fakeroot
fakeroot

Закончив все описанное выше, запуском приложения termux на телефоне и превращаем его в совершенно другое устройство. Возможности, которые нам открывает termux - просто грандиозные! В будущем я покажу, как ставить на мобилки разные программы, например уже сейчас на обоих аппаратах успешно крутится ha. А еще, что не маловажно, в телефоне есть аккумулятор, да он старый и убитый, но он позволит нашему серверу умного дома пережить непредвиденное отключение электричества. Еще один бонус — это возможность процессоров МТК на указанных телефонах. Он умеет включать и выключать телефон по расписанию. Поставив выключение на 3:05, а включение на 3:10, например мы сразу позволяем автоматом перезагружать сервер, на случай если он вдруг зависнет, а он далеко от Вас, или если электричество отключили надолго, и батарейка сядет, то, когда питание вернется, то он зарядится, а в 3:10 телефон сам включится. Для дальнего "умного сарая/гаража" - самый лимонад.

В следующих статьях я буду описывать различное использование этого телефона, а вернее двух, т.к. проверяю одни и те же команды и на том, и на другом. На Jiayu 3/16, Android 8 и один чип, на Xiaomi 2/16, Android 7 и другой чип.

Ну и не забываем про написанное ниже↓, всем добра и с наступающим новым годом!

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

Также публикации можно найти на других площадках: Instagram, telegram (RU, EN, DE), Medium, LiveJournal, YouTube, Reddit