Всем привет! Продолжим…
Ну вот, все собрано и отлажено, и работает как часы. Но набирать вручную команды в виде SMS как то лениво 🙂 Решено, пишем приложение под Android!
Правда я этого никогда не делал, но когда это нас останавливало 🙂
Итак, под андроид я никогда не писал, яву не знаю, но что-то же нужно с этим делать. Набрел на сайт startandroid.ru/ru/, и давай форум читать вдоль и поперек, и чем больше читал, тем больше мне не нравилась эта затея. В итоге отважился и скачал себе Andriod Studio, сел разбираться, как вдруг, совершенно случайно, в разговоре, мой коллега обмолвился о существовании онлайн IDE для написания программ под андроид, в которых программу может написать даже домохозяйка. И снова я пошел гуглить, и нагуглил.
Разрешите представить Вам — MIT App Inventor 2 . Отличный инструмент для написания программ под андроид, интуитивно понятный, разобраться в нем не составит труда. Во Вконтакте есть группы посвященные MIT App Inventor 2, если что, Вам там с радостью помогут, а на youtube можно найти видео уроки.
По сути это графическая IDE, выглядит программирование в ней следующим образом:
Как видите, ничего сложного, единственная минус – это иногда появляющиеся ошибки при компиляции. Связанно это с корявым переводом на русский язык, поэтому в случае ошибок компиляции, нужно переключить язык на английский, и все компилируется на ура, естественно если нет синтаксических ошибок 🙂
В общем времени на написание программы ушло не мало, по ходу написания программы и изучения IDE, постоянно хотелось что ни будь улучшить, процесс затягивает, к тому же к процессу написания программы подключился мой коллега по работе, ему тоже стало интересно 🙂
Кстати, коллега по работе — это Игорь Кустов aka Mozgolom, он так же является соавтором данного блога 🙂 Все разработки и записи о них в данном блоге — это все наш с ним совместный труд.
В итоге мои задумки + его задумки, и на свет у нас появилось приложение — «WebastoGSM»!
Да, возможно оно не такое оптимизированное и шустрое, как могло бы быть, будь оно написано в Android Studio, но скорость написания приложения решает 🙂 От процесса написания программы в MIT App Inventor 2 получаешь удовольствие, чего не скажешь об Android Studio.
Итак, разрешите представить — «WebastoGSM»!
Иконка приложения выглядит следующим образом:
Главное окно программы:
Окно настроек программы:
В окне настроек программы вводятся следующие параметры:
1. Телефонный номер GSM модуля, нажатие на дискету сохраняет номер в памяти программы.
2. Нажатием на телефонную трубочку Вы отправляете GSM модулю номер своего телефона, теперь на ваш номер будет приходить вся информация от GSM модуля в виде SMS.
3. Нажатием на иконку часов Вы устанавливаете текущее время для GSM модуля, время берется автоматически с вашего смартфона. Аналогично происходит и с датой. Вручную нужно установить день недели, который выбирается из выпадающего списка. По нажатию на крайнюю правую кнопку в этом же ряду, Вы отправляете данные о времени и дате в GSM модуль.
4. Аналогично выглядит настройка двух таймеров. Устанавливаете время включения Webasto, по умолчанию будет отображаться текущее время из вашего смартфона, но время можно установить любое. Затем устанавливаете время работы Webasto, оно выбирается из выпадающего списка. Время работы устанавливается от 10 до 60 мин, с дискретностью – 10 мин. Установкой галочек в чекбоксах выбираются дни недели, в которые таймер должен будет срабатывать. Установив галочку в чекбокс БД, автоматически выбираются все будние дни недели. По нажатию на крайнюю правую кнопку в этом же ряду, Вы отправляете настройки таймеров в GSM модуль. Передвижением слайдера в крайнее правое положение, происходит включение таймера, в крайнее левое положение – выключение. Включение и выключение таймеров сопровождается всплывающим диалоговым окном:
Ну а в главном окне программы все просто, всего три основных кнопки, назначение которых интуитивно понятно.
1. При нажатии на кнопку ON происходит включение Webasto, при этом иконка двигателя становится цветной 🙂 Спустя промежуток времени, от одной до пяти минут, GSM модуль присылает сообщение – «Webasto ON», если запуск прошел успешно, либо – «Webasto Error», если что-то пошло не так 🙁
2. При нажатии на кнопку OFF происходит выключение Webasto, при этом иконка двигателя снова становится монохромной. После того как Webasto выключится (пропадет логическая единица (+12В) на 1 пине Webasto), GSM модуль присылает сообщение – «Webasto OFF».
3. При нажатии на кнопку INFO, GSM модулю отправляется запрос на получение сервисной информации. После сбора всей сервисной информации GSM модуль отправляет нам SMS с собранной информацией.
При составлении SMS сообщений GSM модулем используется HTML разметка. Сделано это для того, чтобы красиво отображать сообщения в андроид-приложении, поэтому вне приложения (стандартное приложение для чтения SMS) SMS, полученные от GSM модуля, выглядят немного не обычно 🙂
Ух, устал писать… Не переключайтесь, будет интересно! Впереди Вас ждет последняя, 5-я часть…
[…] :), подробнее о нем можно почитать здесь: раз, два, три, четыре, пять. Пришло время учесть все недочеты, как […]