- Умный дом из старого смартфона или антипаттерны домашней автоматизации
- Бэкенд
- Фронтенд
- ESP-8266
- Прошивка
- Планы
- Создаем приложение для ANDROID быстро и просто
- Как управлять ПК с телефона — создаем удаленный рабочий стол и получаем бесплатный пульт для компьютера из смартфона (Android, IOS)
- реклама
- реклама
- Выбор программы для создания удаленного рабочего стола
- реклама
- Как установить и настроить Удаленный рабочий стол Chrome от Google?
- реклама
- Впечатления от использования Удаленного рабочего стола Chrome
- Возможно ли заниматься оверклокингом при использовании Удаленного рабочего стола Chrome?
- Заключение
Умный дом из старого смартфона или антипаттерны домашней автоматизации
Здравствуйте, дорогие читатели! Очередная история о том, как менеджер самого среднего звена, сдувая пыль с залежавшихся железок на полке, творит такое, от чего у профессионалов всех мастей боль в глазах. ¡Но, это работает, amigo!
Признаюсь, в этот раз я все хотел сделать правильно. Взял Raspbery Pi с полки. Пирожок тот самый, что я уже использовал в своем роботе-газонокосилке: ссылка на пост и ссылка на другой пост. Взял mosquitto, все должно было работать на mqtt, но от себя никуда не убежишь. Под катом море граблей, велосипедов, плохой пайки, сплошной ад для перфекциониста.
Все началось с желания дополнить мой проект Noorik, который я поставил себе на ворота. Если коротко — это DIY решение для GSM блока открытия ворот.
Для открытия ворот достаточно замкнуть определенные контакты на плате.
Заменил arduino на esp8266 и сделал веб-интерфейс с кнопкой открытия. Это оказалось интересно, но дальше я захотел единый интерфейс для открытия откатных ворот, гаражных секционных ворот и калитки.
Когда я стал расписывать все свои хотелки, оказалось, что мне нужно так же:
- система управления котельной
- охранная система
- мобильный интерфейс к камерам видеонаблюдения
- данные о температуре в доме и на улице
Бэкенд
Малинка работала нормально, но при очередном включении просто перестала включаться. Светодиод питания сначала загорается, затем плавно за 3-5 секунд гаснет, сильно греется элемент (polyfuse T075) около гнезда питания. А тут уже руки чесались применить mqtt, блэкджер, пригласить куртизанок и прочие прелести.
Не беда, благо своей участи ждал другой пациент. Orange pi zero в студию. Сколько я не мучился с этим чудом китайской мысли — вдохнуть жизнь в такой маленький пирожок оказалось делом выше моих сил. Я скачивал прошивки на официальном и левых сайтах, я покупал прошивки с рук и обменивал на криптовалюту. Думаю, мне просто попался бракованный образец.
Я понял, что сама судьба толкает меня в объятья велосипедостроительства, и что уж скрывать радость, я окунулся в это занятие с головой.
Первым делом я решил использовать как головное устройство (брокер, сервер) видавший виды смартфон. Знаете эти старые вещи просто так не уходят. Им пользовался я, жена, дочь, потом я управлял с этого смартфона своим роботом-снегоуборщиком, я пытался утопить его в реке( до Москвы-реки я так и не добрался, но в родной Пахре эта труба навела шороху). И вот она — новая жизнь для Samsung Galaxy S3.
Установил на смартфон Palapa Web Server и Ftp-сервер. Идея простая в базе данных MySQL всего три таблицы: values, logs, rules.
- В таблице values пары ключ/значение.
- В таблице logs история изменений значений.
- В таблице rules правила изменения одних ячеек в зависимости от значения в других.
Все это хозяйство обслуживает один скрипт php, который по http запросу записывает или выдает данные из базы, а так же обслуживает правила по расписанию.
Я даже не понимаю какой должен быть уровень программирования, чтобы человек захотел это увидеть, но я готов показать Вам код — пишите в ЛС.
Фронтенд
Не кидайте в меня камни, я признаюсь сам. Я использовал Bootstrap. Да, грешен.
Первоначальной мыслью было обернуть все это через Phonegap и получить полноценное приложение. Скажу больше я так и сделал, но в итоге более работоспособной оказалась online-версия. Себе и жене на телефоне просто сделал ярлык на рабочем столе для открытия нужной странице по внутреннему ip.
Каждый элемент реагирует на событие нажатие + проверяется состояние ajax запросами на сервер и изменяется в случае необходимости. Очень удобно, так как видишь все изменения, которые вступили в силу по правилу или сделаны другим пользователем.
Собственно, код по запросу без проблем.
ESP-8266
Я пробовал разные модули и чистый ESP-8266. В итоге самым удобным вариантом оказался модуль LOLIN V3.
Питание с помощью импульсных блоков питания.
Модули для ворота требовали реле и у меня были опасения, что контактные реле будут срабатывать. В итоге работют и твердотельные и контактные. Проблема с тем, что большое количество модулей даже без маркировки об этом являются low-triggered.
При включении модуля происходит кратковременное открытие, которые приводит к непроизвольному открытию при включении питания. Решается подтяжкой к нулю и объявлением состояния до объявления типа выхода.
В итоге модуль для гаража в сборе выглядит так. PIR-датчик для определения движения аккуратно вгрызан в родную обшивку.
В котельной у меня котел очень простой и ни о какой сложной автоматике и речи не идет.
При этом каждый контур обслуживает отдельный насос.
Последовательно с автоматами были включены реле для управления насосами и котлом.
Аккуратно впихивает все хозяйство в щиток.
Прошивка
Решил использовать для прошивки Arduino IDE, чтобы не связываться с nodemcu и lua. В интернете и на GT в частности огромное количество информации для начинающих.
Из интересного, мне кажется, функция соединения с wifi. Дело в том, что у меня в доме 4 сети wifi и может добавиться. Чтобы жестко не задавать название сети предварительно проводим сканирование доступных сетей.
При включенном автоматическом режиме котельной по расписанию проверяется температура на улице и температура теплоносителя.
- При температуре ниже 14*С включается теплый пол первого этажа.
- При температуре ниже 4*С включаются все контуры.
Температура теплоносителя выбирается по таблице в зависимости от сечения труб и уличной температуры. При достижении необходимой комнатной температуры котел выключается. Ко всему применен некий гестерезис для сглаживания переходных значений.
Система охраны работает еще проще. В таблице есть правило о том, что при включенной системе охраны, если обнаружено движение у одного из PIR-датчиков происходит отправка SMS через API одного из сервисов.
Планы
- создание online-версии на удаленном сервере и синхронизация изменений для возможности удаленного управления.
- Отображения данных с GSM/GPS маячков в машине;
- Открытие ворот при появлении наших машин в определенной зоне;
- Подключение к системе пультовой охраны;
Голосование по фото. Какой проект делать следующим?
Источник
Создаем приложение для ANDROID быстро и просто
Сегодня я хотел бы поделиться с Вами, как быстро и просто можно создать приложение для Android с базовыми знаниями HTML CSS и JS. По данному примеру код на Java для Android будет минимальным. Благодаря платформе XAMARIN приложения для мобильных телефонов можно делать в Visual Studio.
▍Шаг 1 — Переходим на сайт и Скачиваем бесплатную версию Community.
▍Шаг 2 — Запускаем установку и выбираем параметры. Нас интересует XAMARIN. Но Вы также можете выбрать другие параметры.
После успешной установки мы можем создать свой первый проект.
▍Шаг 3 — Запускаем Visual Studio. Создать проект. В фильтре пишем xamarin, платформа Android, язык c# (Если желаете другой язык можете его выбрать)
▍Шаг 4 — Далее. Указываете имя для своего приложения, выбираете каталог где его сохранить. Создать.
▍Шаг 5 — Указываем пустое приложение и выбираем минимальную версию андроида для запуска этого приложения.
▍Шаг 6 — Жмем ок. Visual Studio автоматически создает код для приложения
Мы можем его запустить в эмуляторе, который идет комплекте с Visual Studio нажав клавишу F5.
▍Шаг 7 — Теперь немного модифицируем код. В данном случае мы вообще не будем использовать Java. Так как мы будем кодить на C#.
Приводим код к такому виду. Здесь мы создаем WebView контейнер который будет грузить локальный HTML файл, который находится в проекте в папке Assets.
▍Шаг 8 — Создадим там папку Content.
▍Шаг 9 — Добавим в папку Content файл login.html
▍Шаг 10 — Далее уже пишем на привычном нам HTML CSS JS. Можем нажать на F5 и увидеть результат нашей работы.
По такому принципу можно создать приложение быстро и просто. Файлы html будут выглядеть одинаково на всех устройствах. То есть, Вы можете сделать приложения для Android и iOS с одинаковым интерфейсом. Не надо изучать сложные языки разметки, не надо изучать сложные макеты (сториборды) на iOS. Все можно сделать на HTML.
В идеале, вместо локальных файлов можно сделать загрузку со стороннего сайта. В этом случае Вы можете менять контент приложения без его обновления в AppStore и Google Play.
Q: Но как быть с функциями самой платформы? Пуш сообщения? Как взаимодействовать с самой платформой?
Все очень просто! JavaScript можно использовать для вызова функций Android:
▍Шаг 1 — Немного модифицируем наш файл MainActivity
▍Шаг 2 — Далее создаем класс JavaScriptInterface на который будет ругаться Visual Studio
Мы видим, что теперь программа ругается на Export так как не знает что это такое.
▍Шаг 3 — Добавим нужную библиотеку
▍Шаг 4 — В фильтре напишем mono
▍Шаг 5 — Найдем Export и поставим галочку
▍Шаг 6 — Жмем ок и видим что ошибка пропала.
Так вы можете подключать библиотеки если вдруг Visual Studio ругается на что то.
Данная функция это показ всплывающей информации на экране. Она выполняется именно на платформе Андроида. То есть мы можем написать в HTML файле вызов функции Андроида. Получается полное дружелюбие двух платформ по JavaScript интерфейсу. Данные можно передавать туда сюда. Вызывать переход от одной активити в другую. Все через HTML + JavaScript.
Немного модифицируем файл login.htm:
Теперь при нажатии на кнопку HTML вызывается функция Toast андроида и выводиться сообщение пользователю.
Источник
Как управлять ПК с телефона — создаем удаленный рабочий стол и получаем бесплатный пульт для компьютера из смартфона (Android, IOS)
У меня, как и многих читателей Overclockers.ru, в связи с деятельностью большая часть дня проходит за компьютером. Неудобное кресло, сидячий образ жизни, постоянный дискомфорт — думаю, что многим читателям с достаточно бюджетными рабочими местами это близко. А сейчас, когда на дворе середина лета, хочется держаться от компьютера подальше, чтобы лишний раз не испытывать на себе жар от системного блока. Но сейчас компьютеры настолько плотно вошли в нашу жизнь, что большинство из нас так или иначе привязаны к ПК: работа, развлечения, общение — все в персональном компьютере. Скажу честно — в моем доме компьютер является центром всего — это и музыкальный аппарат, и кинотеатр, и «печатная машинка», и хранилище информации, и рендер-машина, и средство связи с внешним миром, и игровая станция — всего не перечислить.
реклама
И вот незадача: как сохранить связь с ПК, занимаясь в течение дня своими делами? Для себя по данному вопросу я нашел эффективное решение достаточно давно — удаленный рабочий стол прямо с телефона. Это настоящий «персональный компьютер в кармане», тот самый «пульт управления», который, я уверен, многие из вас искали, раз зашли на данную статью.
Удаленный рабочий стол прямо в телефоне — это настоящий «Must-have» для лентяя. Представьте: вы лежите на диване, смотрите кино с подключенного к системному блоку телевизора, время позднее, чувствуете, что засыпаете, но вставать так лень — достали телефон, удаленно закрыли фильм и выключили компьютер — спите спокойно.
Или другая, более специфичная ситуация: вы майнер, помимо добычи криптовалюты вынуждены ходить на работу в офис или на завод. Вы буквально привязаны к своей ферме, потому что какая-либо ошибка, временно пропало соединение — часики тикают, ферма простаивает — несете убытки. И тут опять же вам поможет удаленный рабочий стол — заходим в компьютер прямо из своего смартфона, перезапускаем майнер и продолжаем получать доход. Красота ведь?
реклама
А самое главное, такие ситуации, их тысячи — а иметь «пульт» для компьютера было бы полезно и майнеру, и энтузиасту, и геймеру, и даже домохозяйке! Хотите сделать это просто, бесплатно и, самое главное, быстро? Тогда прошу ознакомиться с предоставленным материалом.
Выбор программы для создания удаленного рабочего стола
Итак, всего существуют несколько программ, позволяющих создать «компьютерный пульт». Зайдя в Pay маркет, можно увидеть целый список разнообразных приложений для создания удаленного рабочего стола:
Есть как достаточно известные приложения, такие как: TeamViewer, Remote Desktop от Microsoft и Удаленный рабочий стол Chrome от Google; но существуют и малоизвестные «пульты», скачивать и взаимодействовать с которыми я бы не решился. Мой выбор, собственно, пал на Удаленный рабочий стол Chrome от Google, потому что это наиболее простой в освоении, установке и использовании «пульт». На самом деле, пользуюсь я им уже около двух лет и проблем не наблюдалось как на iPhone под операционной системой IOS, так и на Android-смартфоне. Ну и если это продукт Google, то я не беспокоюсь за сохранность своих данных, ведь корпорация большая, а выпускать некачественный продукт для них просто непозволительно.
реклама
Но вы, собственно, можете выбрать для себя любой другой удаленный рабочий стол, я думаю, что процесс установки у них идентичен. А я же, собственно, приступаю к установке программы и ее настройке.
Как установить и настроить Удаленный рабочий стол Chrome от Google?
Итак, для начала мы скачиваем приложение из App Store или Play маркета на свой смартфон. Я думаю, что процесс установки приложения на смартфоне описывать нет никакого смысла — все происходит автоматически.
Далее вам потребуется браузер Google Chrome, установленный на вашем ПК. Если же по какой-то причины у вас нет этого браузера, вам не составит труда скачать его бесплатно.
И в браузере Google Chrome, и на вашем смартфоне должна быть одна учетная запись Google. Если таковой по каким-то причинам у вас еще нет, то, как бы странно это не звучало «зарегистрируйтесь в Google».
реклама
Далее в адресной строке Chrome набираем следующее:
Далее вы просто устанавливаете web-приложение себе в браузер Chrome как расширение, а также скачиваете инсталятор chromeremotedesktophost:
Запускаете инсталятор и выполняется простейшая установка.
Следующая задача — предоставить доступ устройства (смартфона) к вашему рабочему столу. Тут все предельно просто: запускаем на компьютере браузер Chrome, в адресной строке вводим ранее известную ссылку, либо же можете нажать на иконку удаленного рабочего стола в Chrome:
Нажимаете на кнопку «Включить», когда вам предложат настроить удаленный доступ.
Далее вам будет предложено создать имя компьютера:
И далее создаем PIN-код длиной не менее 6 цифр:
Жмем на кнопку «Запустить», и ваш рабочий стол готов к эксплуатации.
Но на этом еще не все — переходим к настройке удаленного рабочего стола на смартфоне:
- запускаем ранее скачанное приложение (убедитесь, что в браузере Chrome и в приложении используется одна учетная запись Google);
- ждем, пока прогрузится список «Мои компьютеры»;
- кликаем на свой компьютер;
- вводим придуманный ранее PIN-код.
Вас можно поздравить: теперь вы имеете удаленный доступ к своему ПК из любой точки мира при условии, что на обоих устройствах есть подключение к сети Интернет.
Впечатления от использования Удаленного рабочего стола Chrome
В принципе, Удаленный рабочий стол Chrome позволяет вам управлять своим ПК практически также, как бы вы управляли им, была бы у вас сенсорная панель вместо экрана. Сочетания горячих клавиш, конечно, зажать не получится, но требуется ли оно обыкновенному пользователю, которому надо удаленно выключить компьютер, переключить плейлист, включить фильм? В принципе, вам ничего не составит труда теоретически играть таким образом в игры, но данное удовольствие уж точно для искушенных, хотя мне ничего не помешало, например, выключить с телефона компьютерную игру, находясь на улице:
Если вы плохо видите или не можете попасть, то вам не составит труда растянуть нужный участок рабочего стола, выполнив на дисплее смартфона простое растягивающее движение пальцами.
Также вам ничего не мешает включить экранную клавиатуру, нажав на соответствующую кнопку, чтобы напечатать в нужном вам месте текст, как бы вы сделали и в операционной системе при непосредственном контакте с ПК и реальной клавиатурой.
При использовании данного рабочего стола не стоит забывать о задержке. Ваши действия происходят на компьютере с небольшой задержкой, но, к слову, это не является проблемой при использовании, если вы не додумались играть таким образом в компьютерные игры. Теоретически таким образом можно смотреть кинофильмы, которые есть на вашем компьютере, прямо через смартфон, но звуковая дорожка серьезно отстает от видеоряда, который, к тому же, сильно подтормаживает, и картина превращается в слайдшоу.
Возможно ли заниматься оверклокингом при использовании Удаленного рабочего стола Chrome?
Многие читатели последнее время стали жаловаться на то, что на данный момент выходит крайне мало контента об оверклокинге. И, может быть в шутку, а может быть и нет, но я решил попробовать заняться разгоном через удаленный доступ!
Естественно, что способность к разгону придется испытывать непосредственно в операционной системе. И ничего кроме видеокарты силами ПО в Windows серьезно разогнать не получится.
Итак, я запускаю MSI Afterburner, чтобы попробовать подразогнать GTX 1060. Но, к сожалению, возможность ввести точные значения почему-то отсутствует, утилита просто не реагирует на вводимые мной значения при помощи экранной клавиатуры.
Но за то ползунки отлично реагируют на клики, хотя, как бы я не пытался выставить более или менее точное значение, это оказывается сделать чертовски сложно.
Конечно, чисто теоретически таким образом вполне реально разогнать видеокарту, если вам хочется вывести оверклокинг на дистанционный уровень, разгоняя прямо с дивана или из кухни, занимаясь попутно варкой борща. Но я бы таким заниматься не стал и вам, собственно, не советую.
Заключение
По итогу Удаленный рабочий стол Chrome показал себя как прекрасный помощник в работе с ПК. Оперативной памяти такое решение потребляет совсем немного и практически не нагружает процессор.
Если вы ищите способ дистанционного управления компьютером, то, вполне возможно, что Удаленный рабочий стол Chrome — это ваш выбор, лично я рекомендую данное решение как проверенное и надежное.
А пользовались ли вы другими программами для обеспечения удаленного доступа к компьютеру, и какое у вас сложилось мнение о них?
Источник