LABA 120 - GSM датчик отключения электричества

на базе телефона андроид и программе на MIT App Inventor 2 с бинарником, исходником и пояснениями


LABA 120 - Главная ALT
GSM датчик отключения электричества на базе телефона андроид и программе на MIT App Inventor 2 с бинарником, исходником и пояснениями


Сразу скачать бинарник
Описание исходника
Описание программы
инструкция пользователя


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

Или вот тема для волнений. Дом, печка с электрическим насосом
Загрузили дровами полную, дрова горят, насос качает, красота!
И тут электричество отключили, а вас дома нет, пошли в магазин
да языком за соседку зацепились
Насос стоит, дрова горят, жидкость кипит. Не есть хорошо

А как вам такая печалька - у сисадмина пропала связь с удаленным
сервером и что думать про это он не знает, тамошние курицы что то кудахчут
, но пойми их

для тех кто программировать не собирается , а хочет просто
пользоваться Достаточно скачать Energy_off.apk и установить на телефон ,
инструкция пользователя тут

Устройство

Тема простая, сотовый, зарядник, или в случае сервера, USB провод.
Программа ставится на телефон, зарядник в розетку, или USB в комп.
Причем программа может отличить простую зарядку от USB подключения.

Завис сервак, или нет электричества можно понять

Как работает

пропала зарядка, телефон звонит на номер, или

отправляет СМС,
или все сразу , кому как удобнее
При этом пищит и мигает светодиодом фотоаппарата

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

Вот исходник на MIT App Inventor 2


не так много блоков, но набирать не зачем, скачивайте исходник
и импортируйте в проект. Кстати в программе используются внешние
Extensions для MIT App Inventor 2,



они скачаются вместе с проектом Energy_off.aia



Блок Screen.Initialize срабатывает при запуске программы




1 в нем определяется переменная CrLf используя Extensions AscChr
которая применяется, для перевода строки, при передачи отладочной информации через
BlueTooth




2 Extensions TaifunBlueTooth.Enable включает БТ телефона




3 Блок AppyKeepScreenOn.KeepScreenOn to True
Не дает телефону уйти в спящий режим



4 В Метку L_plug.Text считывается значение из
TaifunBattery.Plugged которое указывает тип подключения к УСБ аппарата




5 А В Метку L_volt.Text считывается TaifunBattery.Voltage




6 Из базы данных SQLite телефона в текстовое поле T_num.text
блоком TinyDB Считывается номер телефона по которому аппарат будет звонить в
случае тревоги это номер нужно будет указать, и сохранить кнопкой SET




7 Так же в текстовое поле T_zapr.text блоком TinyDB
Считывается номер




8 CheckBox ch_call определяет будет ли аппарат звонить на указанный номер




9 CheckBox ch_sms определяет будет ли аппарат отправлять смс




10 Метод BlueToothServer.AcceptConnection.seviceName=spp
разрешает принимать входящие подключения от блютуз клиента
тут seviceName= можно указать любое, пока влияние на работу
BlueToothServer не замечено
Это соединения используется для отладки програмы сигнализатора
Так как во время телефонного звонка не видно окна программы,(ее закрывает окно вызова)
то в программе терминал подключенной по БТ
можно отследить работу программы сигнализации, или послать управляющие команды

beep - пищит
check1 - устанавливает CheckBox SendTime
check0 - очищает CheckBox SendTime
alert - выводит рамку с сообщением о текущем состоянии электричества поверх всех окон
rcall - вызывает баланс
call - звонит на указанный номер
lon - включает светодиод
loff - выключает светодиод

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




И наконец



11 set.l_mac.text_to_call.TaifunBlueTooth.MacAddress по идее
должен показать МАС адрес блютуз сервера телефона, чтобы его можно было записать
например в модуль HC05 для автоподключения , но этот блок показывает какой то левый
адрес . и здесь просто забыл удалить