По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Итак, вы полностью укомплектовали и настроили ваш умный дом. И конечно, вам нравится периодически показывать выпендриваться перед друзьям, как круто включать лампы, проигрывать видео и фильмы подсказкой голосовому помощнику, приготовить кофе или регулировать термостат коснувшись приложения на экране смартфона. Поздравляем! Но если вы любитель автоматизации (как и мы), который редко останавливается на достигнутом, то возможно будете разочарованы количеством необходимых программ, которые нужно загрузить, интерфейсов, которые вам придётся усваивать, чтобы управлять гаджетами. Скорее всего, будут отдельные приложения для управления освещением, медиацентром, термостатом и приложение Google Home, который изо всех сил (но безнадежно) старается собрать всё это воедино. Большая вероятность того, что некоторые приложения будут несовместимы с другими и, вероятно, многие из них не будут работать, если они не в одной сети с гаджетом. Представьте если бы мы смогли управлять всем этим из одного интерфейса, на засоряя телефон или компьютер сотнями приложений, через интерфейс, который доступен как на смартфонах, так и на компьютерах, а также с помощью сторонних сценариев вне зависимости от того, находимся ли мы в одной сети с умным домом или нет. Интерфейс, который был бы легким и простым в использовании? А что если мы будем делать это через мессенджер или чат? В конце концов, разве не легче было бы контролировать наш дом, гаджеты и облачные сервисы через тот же интерфейс, который мы используем для отправки фотографий котиков нашим друзьям, и через бот, полностью адаптированный к нашим потребностям? В этой статье я покажу вам, как настроить команды и процедуры в дополнение к существующим сетапам умного дома. В данном руководстве мы используем два основных инструмента: Telegram: существует много мессенджеров и платформ, но до сих пор попытки многих из них (Facebook Messenger, Whatsapp, Hangouts и т.д.) в предоставлении пригодного для разработчиков API, мягко говоря, были тщетны. Ушли те дни, когда все использовали XMPP или IRC в качестве своего мессенджер. Сегодняшний мир мессенджеров очень разнообразен. Кроме того, поскольку в интересах многих крупных игроков создавать изолированные ИТ экосистемы, наиболее часто используемые решения не поставляются с официально поддерживаемыми API/интерфейсами разработчиков. Мало того: некоторые из них активно отговаривает пользователей от использования чего-либо, кроме официального приложения, для взаимодействия с платформой (почитайте, как Whatsapp может забанить вас). В этом чрезвычайно разнообразном мире, состоящем из нескольких несвязанных островов, Telegram представляет собой радостное исключение: их официальный bot API хорошо задокументирован и поддерживается, и для тех, кто знает немного программирования, очень легок в интеграции. Platypush: Platypush поставляется с плагином для Telegram и бэкэндом. Так что давайте начнем и создадим первый бот для автоматизации управления домом! Создание Telegram-бота Начните беседу с Botfather. Наберите /start, а затем /newbot для создания нового бота. Задайте боту ник и имя. Вы получите ссылку, чтобы начать беседу с вашим ботом и уникальный API-ключ. Сохраните его где-нибудь, так как он нам понадобится для конфигурации плагина platypush. Конфигурация бота в platypush 1. Установите platypush с основными расширения и интеграцией с Telegram: pip install 'platypush[http,db,telegram]' apt-get install redis-server [sudo] systemctl start redis [sudo] systemctl enable redis 2. Изучите platypush хотя бы немного, если еще не сделали этого. Определите несколько вещей, которыми вы хотите управлять/автоматизировать - источники света, музыку, датчики, базу данных, роботы - и установите/настройте соответствующие расширения. В этой статье мы рассмотрим, как настроить наш новый бот для управления освещением Philips Hue, воспроизведением музыки и потоковой передачей PiCamera. 3. Добавьте настройки Telegram в файл ~/.config/platypush/config.yaml: chat.telegram: api_token: <your bot token> backend.chat.telegram: enabled: true Бэкэнд-система позволяет получать события (например, новые сообщения, вложения, запросы и т.д.) и создавать на них пользовательские "хуки". Плагин позволяет писать вам чаты, программно отправлять сообщения и вложения, администрировать каналы и т.д. Допустим, мы хотим, чтобы бот реализовал следующие команды: /start Приветствие пользователя /help Показать доступные команды /lights_on Включить свет /lights_off Выключить свет /music_play Включить музыку /music_pause Приостановить музыку /music_next Перейти на следующую песню /music_prev Перейти на предыдущую песню /start_streaming Начать удаленное вещание PiCamera /stop_streaming Остановить удалённое вещание PiCamera Всё что мы должны сделать это создать действие в конфигурационном файле platypush config.yaml. В этом контексте вы должны: Установить и настроить плагины Philips Hue, mopidy и PiCamera: pip install 'platypush[hue,mpd,picamera]' # Hue lights configuration light.hue: # Hue bridge IP address bridge: 192.168.1.10 # Default groups to control groups: - Living Room # MPD/Mopidy configuration music.mpd: host: localhost port: 6600 # PiCamera configuration camera.pi: vflip: False hflip: False Чтобы не засорять файл config.yaml, создайте новый файл с названием ~/.config/platypush/include/bot.yaml: # /start command handler event.hook.OnTelegramStartCmd: if: type: platypush.message.event.chat.telegram.CommandMessageEvent command: start then: - action: chat.telegram.send_message args: chat_id: ${chat_id} text: "Welcome! Type /help to see the available commands" # /help command handler event.hook.OnTelegramHelpCmd: if: type: platypush.message.event.chat.telegram.CommandMessageEvent command: help then: - action: chat.telegram.send_message args: chat_id: ${chat_id} text: "Available commands: - /lights_on - /lights_off - /music_play [resource] - /music_pause - /music_prev - /music_next - /start_streaming - /stop_streaming " # /lights_on command handler event.hook.OnTelegramLightsOnCmd: if: type: platypush.message.event.chat.telegram.CommandMessageEvent command: lights_on then: - action: light.hue.on - action: chat.telegram.send_message args: chat_id: ${chat_id} text: "Lights turned on" # /lights_off command handler event.hook.OnTelegramLightsOffCmd: if: type: platypush.message.event.chat.telegram.CommandMessageEvent command: lights_off then: - action: light.hue.off - action: chat.telegram.send_message args: chat_id: ${chat_id} text: "Lights turned off" # /music_play command handler event.hook.OnTelegramMusicPlayCmd: if: type: platypush.message.event.chat.telegram.CommandMessageEvent command: music_play then: - if ${cmdargs}: - action: music.mpd.play args: resource: cmdargs[0] - else: - action: music.mpd.play - action: chat.telegram.send_message args: chat_id: ${chat_id} text: "Music playing" # /music_pause command handler event.hook.OnTelegramMusicPauseCmd: if: type: platypush.message.event.chat.telegram.CommandMessageEvent command: music_pause then: - action: music.mpd.pause - action: chat.telegram.send_message args: chat_id: ${chat_id} text: "Music paused" # /music_prev command handler event.hook.OnTelegramMusicPrevCmd: if: type: platypush.message.event.chat.telegram.CommandMessageEvent command: music_prev then: - action: music.mpd.previous - action: chat.telegram.send_message args: chat_id: ${chat_id} text: "Playing previous track" # /music_next command handler event.hook.OnTelegramMusicNextCmd: if: type: platypush.message.event.chat.telegram.CommandMessageEvent command: music_next then: - action: music.mpd.next - action: chat.telegram.send_message args: chat_id: ${chat_id} text: "Playing next track" # /start_streaming command handler event.hook.OnTelegramCameraStartStreamingCmd: if: type: platypush.message.event.chat.telegram.CommandMessageEvent command: start_streaming then: - action: camera.pi.start_streaming args: listen_port: 2222 - action: chat.telegram.send_message args: chat_id: ${chat_id} text: "PiCamera streaming started. Check it out with vlc tcp/h264://hostname:2222" # /stop_streaming command handler event.hook.OnTelegramCameraStopStreamingCmd: if: type: platypush.message.event.chat.telegram.CommandMessageEvent command: stop_streaming then: - action: camera.pi.stop_streaming - action: chat.telegram.send_message args: chat_id: ${chat_id} text: "PiCamera streaming stopped" Подключите файл конфигурации бота в config.yaml: include: -include/bot.yaml Запустите platypush: # Manual start platypush # Service start systemctl start platypush.service Создайте беседу в вашим ботом перейдя по ссылке, выданной BotFather и начните говорить ему, что делать: Сейчас бот доступен любому мы этого явно не хотим. Представьте, что кто-то включит на полную громкость System Of A Down- Jet Pilot вам ночью. Так себе пробуждение. Можно настроить бэкэнд Telegram так, чтобы он принимал сообщения только из определенного списка идентификаторов чатов (в Telegram chat_id используется как для частных пользователей, так и для групп). Отправьте сообщение боту и откройте журналы platypush или проверьте его стандартные выходные данные. На экране появятся следующие сообщения: 2020-01-03 19:09:32,701| INFO|platypush|Received event: {"type": "event", "target": "turing", "origin": "turing", "id": "***", "args": {"type": "platypush.message.event.chat.telegram.CommandMessageEvent", "chat_id": your_chat_id, "message": {"text": "/help", ...}, "user": {"user_id": your_user_id, "username": "****", "is_bot": false, "link": "https://t.me/you", "language_code": "en", "first_name": "***", "last_name": "***"}, "command": "help", "cmdargs": []}} Скопируйте chat_id своего пользователя и вставьте в бак-энд файл: backend.chat.telegram: authorized_chat_ids: - your_user_id Теперь бот ответит ошибкой, если вы попытаетесь отправить сообщение от неавторизованного пользователя. Вы также можете пригласить своего бота в групповой чат и позволить вашим друзьям или членам семьи регулировать свет в вашем доме, если вы захотите! Что дальше? В этой статье мы изучили только одну специфическую особенность интеграции Telegram - способность бота реагировать на события в команде, запускать действия и отвечать текстовыми сообщениями. Как видно из списка поддерживаемых событий Telegram, можно сделать больше, например: Создавать обработчики, когда кто-то делится контактной информацией - когда-нибудь думали разрешить боту автоматически хранить новые контакты, отправленные вам вашими друзьями в чате? Создавайте обработчики при совместном использовании документов, видео или изображения - например, автоматически загружайте все файлы мультимедиа, отправленные в чат, на жесткий диск или удаленную папку Dropbox. Выполнять действия с текстовыми сообщениями вместо команд - можно использовать TextNewsEvent, например, если вы предпочитаете вводить "включить свет" вместо "/lights_on." Сделайте снимок на камеру наблюдения и отправьте ее себе командой send_photo. Можно также развернуть несколько ботов, например, для каждого устройства, чтобы можно было запускать действия на конкретном устройстве из связанного чата или вместо этого использовать один бот в качестве точки входа и доставлять сообщения другим устройствам через MQTT, Kafka или HTTP API.
img
С недавнего времени, на рынке телекоммуникаций начали активно «форсить» термин IP - телефония. Компании пережили бум на офисные «мини - АТС», когда коробка весом 5 килограмм казалось пиком компактности, технологичности и статуса. Но с развитием интернета, корпоративных сетей передачи данных и прочего ИТ – стафа появилась она, технология, которая перевернула игру – IP – телефония. Видео: IP – телефония | Что это и с чего начать? Учим матчасть Скорее всего, ты нашел эту статью в следующем сценарии: Открыл поисковую систему; Набрал запрос вида «что такое IP - телефония»; Попал сюда, на сайт wiki.merionet.ru; А думал ли ты о том, что перейдя из поисковой системы на наш ресурс, твой браузер обратился по имени wiki.merionet.ru, преобразовал его в IP – адрес, упаковал все данные в пакет и отправил нам на сервер по протоколу https? Так оно и было, ага. Так вот, друг, IP – телефония - это тоже самое. Только вместо протокол https, используется протокол SIP (Session Initiation Protocol), например, а пакеты с данными наполнены информацией о том, кто и куда звонит. При звонке через IP – телефонию твой голос также передается через пакеты информации, но только уже по другому протоколу – он называется RTP (Real-time Transport Protocol) Можно смело сказать, что сам по себе термин IP - телефония - это маркетинговый буллшит. Звонки через сети передачи данных работают в рамках тоже самой модели (она называется модель OSI, почитай по ссылке, полезно), что и обычный трафик, но просто используют другие протоколы, коих в рамках этой модели овердофига. IP – телефония - это просто отдельный набор протоколов и стандартов в рамках модели описания функционирования сети (модели OSI). Для большего понимания, хорошо подходит термин VoIP (Voice over IP)., который дословно переводится как «передачи голоса поверх протокола IP». И да, VoIP и IP – телефония это одно и тоже. Дальше мы поразмышляем, какой профит дает IP – телефония для рядовых пользователей, в сравнении с аналоговой связью, цифровым методом передачи сигналов, связыванием двух банок через нитку и голубиной почтой. Профит Мы не хотим раздувать эту тему и писать информацию, которая есть везде в сотый раз. Короткое резюме важных преимуществ, как для частного лица, кто решил воспользоваться IP – телефонией, так и для корпоратов, которые хотят срезать операционку: Сэкономить деньжат - звонки через IP – телефонию в город, межгород и международные направления дешевле. Априори. Ибо провайдер провайдерский трафик идет по интернету почти до самой конечной точки, не занимая дорогостоящие каналы; Куча новых фич - как то раз мы слушали как обрабатывает телефонный вызов аналоговая телефонная станция – она слегка скрипит в этот момент. Такое. Станции, которые работают с голосом по IP имеют кучу фич, такие как запись разговоров, видео – звонки, конференции, интеграция с CRM и прочее. А еще их можно легко интегрировать с чем угодно, хоть с инстаграмом; Обслуживание - современные станции, которые работают с IP – телефонией программные (софтовые). При небольшой нагрузке, их можно установить хоть на неттоп. Так же они оснащены WEB – интерфейсом, через который можно настроить нужные функции. Чтобы настроить аналоговую телефонную станцию, нужно бить в бубен, зажечь ритуальный костер в серверной и надеть специальный шаманский наряд; В ногу со временем - прогресс идет и за ним нужно успевать. Обновляйте IT, и ваш бизнес отплатит вам за это высоким ROI :); С чего начать Посмотрите этот милый ролик – тут есть полная информация о том, как развернуть IP – АТС дома или в офисе бесплатно: Если будут вопросы, мы ответим на них в комментариях :) Итоги Переход на VoIP прекрасен, с какой стороны на него не взгляни. Для физического лица профит безусловен – выкидывайте свой старый дисковый аппарат, подключайте IP - телефонию и экономьте на звонках бабушке в Искитим. Для юридических лиц – считайте ROI и не бойтесь вложиться в переход с аналога/цифры в сторону VoIP. Ваши сотрудники и партнеры оценят.
img
Одним из ключевых факторов, которые следует учитывать при разработке веб-сайта или веб-приложения, является пропускная способность, которая потребуется вашему сетапу для правильной работы. Знание требований к пропускной способности поможет вам выбрать правильного хостинг-провайдера и составить план в соответствии с вашими потребностями. В этом руководстве мы покажем вам, как рассчитать пропускную способность, необходимую для вашего веб-сайта или веб-приложения. Что такое пропускная способность? Пропускная способность представляет собой максимальную емкость данных, которые могут быть переданы по сети за одну секунду. Наименьшая единица измерения выражается в битах в секунду. С развитием технологий интернет-провайдеры теперь используют мегабит в секунду (Мбит/с) или гигабит в секунду (Гбит/с). Пропускная способность - это термин, который описывает объем трафика между вашим сайтом и пользователями через Интернет. Не путайте пропускную способность со скоростью соединения, поскольку они не совпадают. Пропускная способность против передачи данных Термин пропускная способность иногда используется как синоним передачи данных. На самом деле это две очень разные вещи. Пропускная способность определяет максимальный потенциальный объем данных, который вы можете передавать за единицу времени между вашим сайтом и пользователями. Этот термин отражает не фактические данные, которые вы передаете, а теоретический объем данных, который вы можете обработать за одну секунду. С другой стороны, под передачей данных понимается фактический общий объем данных, которые вы передаете за период, обычно за месяц. Единицы измерения - килобайты (КБ), мегабайты (МБ), гигабайты (ГБ), а для больших приложений - терабайты (ТБ). Важность пропускной способности Расчет правильной полосы пропускания для вашего веб-приложения имеет решающее значение на этапе разработки и для обеспечения стабильной производительности. Обязательно учитывайте внезапные всплески трафика. Хорошее правило - на 50% превышать прогнозируемую потребность в пропускной способности. Однако при выборе веб-хостинга расчет может показаться ненужным, поскольку большинство хостинг-провайдеров предлагают планы с «неограниченной» пропускной способностью. Примечание: ваша система может со временем расширяться, и требования к пропускной способности могут возрасти. Поэтому выберите масштабируемый план, позволяющий при необходимости изменять пропускную способность. Что такое неограниченная пропускная способность Многие провайдеры рекламируют планы с «неограниченной» пропускной способностью. Эта формулировка подразумевает, что вы можете передавать столько данных, сколько вам нужно. Здесь веб-хостинг предлагает фиксированную ставку, которая упрощает покупку и поиск решения для хостинга. Однако правда в том, что хостинговые компании не могут предложить действительно неограниченную пропускную способность. Затраты и технологические требования были бы слишком высокими для этого. По этой причине планы с неограниченной пропускной способностью предлагают достаточную пропускную способность, чтобы удовлетворить потребности большинства клиентов. Таким образом, планы кажутся неограниченными для этих пользователей. В большинстве случаев обычные планы покрывают стандартные требования к веб-приложениям. Есть также планы для более продвинутых клиентов, обеспечивающие скорость, превышающую ту, которую предлагают обычные безлимитные планы. Расчет требований к пропускной способности Прежде чем рассчитывать требования к пропускной способности, вы должны знать средний размер страницы на вашем веб-сайте. Чтобы определить размер, используйте тест времени загрузки и учитывайте данные как минимум для десяти страниц. Затем рассчитайте средний размер страницы для вашего сайта. Имея эту информацию, вам необходимо учесть еще два элемента: Количество посещений ваших страниц. Дополнительная пропускная способность может потребоваться в случае всплеска трафика. Это предотвращает потенциальные проблемы с производительностью или даже простои. Есть две формулы для расчета необходимой пропускной способности. Требования к пропускной способности веб-сайта без скачиваний пользователем Если ваш веб-сайт не предлагает посетителям загружаемый контент, используйте следующую формулу для расчета необходимой пропускной способности: Пропускная способность = Средний размер страницы * Среднее количество просмотров страницы * Среднее количество посетителей в день * 30 * Избыточность Средний размер страницы - это средний размер вашей веб-страницы. Среднее количество просмотров страницы - среднее количество просмотров страницы на посетителя. Среднее количество посетителей в день - среднее количество посетителей в месяц. 30 - число дней в месяце. Избыточность - фактор безопасности для предотвращения скачков трафика. Диапазон от 1,3 до 1,8. Расчет немного отличается, когда ваш сайт предлагает загружаемый контент. Требования к пропускной способности веб-сайта со скачиванием Чтобы рассчитать необходимую пропускную способность, когда ваш веб-сайт предлагает загружаемый контент, используйте следующую формулу: Пропускная способность = [(Средний размер страницы * Среднее количество просмотров страницы * Среднее количество посетителей в день) + (Средняя загрузка в день * Средний размер файла)] * 30 * Избыточность Новые параметры в этой формуле: Среднее количество загрузок в день - представляет собой среднее количество загружаемых файлов в день. Средний размер файла - это средний размер загружаемых файлов. С помощью этого расчета вы знаете прогнозируемые требования к пропускной способности для пользовательских загрузок.
ОСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59