По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Одноплатные компьютеры стали довольно популярными в последние десятилетия благодаря их возможности быть использованными в процессе разработки и обучения для начинающих. Одноплатный компьютер представляет собой не что иное, как одну единственную плату, но работает как полноценный компьютер, оснащенный микропроцессором, памятью и устройством ввода-вывода, а также множеством других функций. Одноплатные компьютеры изначально использовались в качестве систем демонстрации и разработки для различных отраслей промышленности. В отличие от стандартного настольного компьютера, одноплатные компьютеры обычно не зависят от слотов расширения для расширения или основных функций. Хотя существует большое количество одноплатных компьютеров, Arduino и Raspberry Pi - два самых популярных устройства. Они стали довольно популярными среди студентов и профессионалов, а также любителей и начинающих программистов. У каждой платы есть свои плюсы и минусы, и профессионалы точно знают, когда и где использовать какую плату, а когда переключаться на другую. Но программисты, которые только начинают создавать проекты, часто мучаются в выборе между ними и пытаются сделать важный выбор - какую плату изучать и использовать для своих проектов. Raspberry Pi Несмотря на размер кредитной карты, Raspberry Pi представляет собой полнофункциональный компьютер, поскольку он имеет выделенную память, графическую карту и процессор. Плата может даже работать под управлением специально разработанной версии ОС Linux. Платы были разработаны Фондом Raspberry Pi для поощрения базового обучения информатике в школах наряду с развивающимися странами. Несмотря на то, что платы были предназначены только для обучения, они стали более популярными, чем предполагалось, и использовались в таких высокотехнологичных приложениях, как робототехника, медиаплееры, эмуляторы и даже АТС Asterisk (дистрибутив под названием RasPBX). Arduino Arduino - это одноплатный компьютер, состоящий из трех основных функций. Первым является аппаратная прототипная платформа, вторым - язык Arduino и, наконец, интегрированная среда разработки (IDE) и библиотеки. Плата Arduino - это скорее микроконтроллер, а не полноценный компьютер. На плате Arduino не может работать операционная система, но код может быть написан и выполнен так, как его постоянное программное обеспечение интерпретирует. Основная функция платы Arduino - взаимодействие со вторичными устройствами и датчиками, что делает ее идеальной для проектов, которые требуют минимальной сложности и работают только на датчике или ручном вводе. Разница между Arduino и Raspberry Pi И Arduino, и Raspberry Pi закрепили свое место в индустрии одноплатных компьютеров и любимы миллионами людей во всем мире. Хотя их характеристики и их возможности различны, все зависит от того, какая плата подойдет для вашего проекта. В этой статье мы обсудим особенности Arduino и Raspberry Pi и проведем сравнение их наиболее выдающихся характеристик, чтобы помочь вам сделать выбор в пользу наилучшего одноплатного компьютера для ваших проектов. Кривая обучения Как мы уже обсуждали ранее, Pi - это больше компьютер, а Arduino, по сути, является дверью в мир программирования. В целом, Arduino гораздо легче освоить, так как он имеет гораздо более низкий барьер для входа. Если у вас мало или совсем нет знаний в области компьютеров и программирования, но вы хотите начать, Arduino - правильный выбор для вас. С другой стороны, люди с опытом работы в Unix или Linux могут легко использовать Raspberry Pi, поскольку на него можно установить специальную версию Linux, созданною для оборудования Raspberry Pi. После установки ОС это похоже на работу на любом компьютере с Linux. Простота Плата Arduino намного проще в использовании по сравнению с Raspberry Pi. Плата Arduino может быть легко сопряжена с аналоговыми датчиками и другими электронными компонентами, используя всего несколько строк кода. В противоположность этому, есть много хлопот для простого считывания входных сигналов с датчиков, поскольку для этого требуется установка нескольких библиотек и программного обеспечения для создания интерфейса между платой и датчиками и другими электронными компонентами. Кодирование в Arduino также проще, чем в Raspberry Pi, который требует знания Linux и его команд. Доступные языки программирования Одноплатный компьютер Raspberry Pi был разработан с целью побудить молодежь присоединиться к программированию. Pi в Raspberry Pi происходит от языка Python, который обозначает его использование в плате. Несмотря на это, Raspberry Pi за короткое время освоила несколько языков программирования и стала основным выбором для обширной группы программистов. Некоторые из языков, которые доступны для использования в Raspberry Pi, это Scratch, Python, HTML 5, JavaScript, JQuery, Java, C, C ++, Perl и Erlang. В случае Arduino вы встретите Arduino IDE - кроссплатформенный пользовательский интерфейс, используемый для написания и загрузки программ на плату. Он написан на языке программирования Java и помогает любому достаточно легко начать программирование Arduino. Но в высокопроизводительных проектах Arduino IDE действует как ограничение того, что можно сделать. Если вы не хотите использовать IDE, вы можете кодировать Arduino, используя язык C ++. Есть много других инструментов, доступных для начинающих и профессионалов, которые можно использовать при программировании в Arduino. Одним из таких инструментов является ArduBlock, который помогает новичкам с минимальным опытом программирования визуализировать свой код, а не печатать его, помогая им понять логику. Еще одним визуальным инструментом является Snap4Arduino, который меньше ориентирован на программирование, но больше помогает пользователю понять, как он работает, так как он создан для немного более старой аудитории. Другими языками, которые могут использоваться прямо или косвенно через внешние коммуникаторы, являются C # и Python. Сетевые возможности Сетевые возможности Raspberry значительно превосходят возможности Arduino. Raspberry Pi 3 имеет Bluetooth и возможность беспроводного подключения. Он также может подключаться к Интернету через Ethernet. Плата поставляется с 1 портом HDMI, 4 портами USB, одним портом камеры, 1 портом Micro USB, 1 портом LCD и 1 портом Display Port DSI, что делает его идеальным для множества приложений. В то же время порты Arduino не созданы для прямого подключения к сети. Даже если это возможно, потребуется дополнительный чип с портом Ethernet, что потребует дополнительной проводки и кодирования. Скорость процессора Разница в скорости процессора между Raspberry Pi и Arduino довольно очевидна и огромна, что связано с тем, что первый является полностью работоспособным компьютером, а другой - микропроцессором. Сравнивая тактовую частоту платы Arduino Uno и платы Raspberry Pi Model B, мы видим значения 16 МГц и 700 МГц соответственно. Поэтому устройство Raspberry работает в 40 раз быстрее, чем плата Arduino. Кроме того, плата Pi имеет в 128 000 раз больше оперативной памяти, чем плата Arduino с оперативной памятью 0,002 МБ. Важно помнить, что Arduino - это просто plug & play устройство и может быть включено и выключено в любое время без каких-либо повреждений. Но Raspberry Pi работает под управлением операционной системы и сам по себе является полноценным компьютером, который требует надлежащего выключения перед отключением питания. Неправильное завершение работы Raspberry Pi может повредить плату, повредить приложения и даже повлиять на скорость процессора. Ввод/Вывод (I/O) Контакты ввода/вывода на вашем одноплатном компьютере позволяют ему общаться с другими подключенными к нему устройствами. Например, если вы хотите активировать двигатель или зажечь светодиод с помощью одноплатного компьютера, вам понадобятся эти выводы ввода/вывода для выполнения этих задач. Raspberry Pi (модель 2) имеет 17 контактов ввода/вывода, а плата Arduino (Uno) - 20 контактов. Потребляемая мощность Из-за своего мощного (сравнительно) процессора плата Pi требует непрерывного источника питания 5 В и может работать не идеально при питании от батарей. Но Arduino может бесперебойно работать с аккумулятором из-за его низких требований к питанию. Хотя энергопотребление может меняться с увеличением количества подключенных устройств. Место хранения Базовая плата Arduino поставляется с хранилищем 32 КБ для хранения кода, который предоставляет платам инструкции. Этого достаточно, так как хранилище не будет использоваться для приложений, видео и фотографий. Pi, однако, не поставляется с хранилищем, но поддерживает порт micro SD, который позволяет пользователю добавлять столько памяти, сколько ему нужно. Доступность и популярность И доски Arduino, и Raspberry Pi получили признание большого числа людей со всего мира. Благодаря такой высокой популярности платы Arduino и Raspberry Pi легко доступны для покупки. Для сравнения, Arduino намного дешевле плат Raspberry Pi из-за ограниченных возможностей. Стоимость может увеличиться с платами высокого класса. Arduino против Raspberry в робототехнике и IoT Выбор правильной одноплатной системы для вашего проекта очень важен, поскольку он будет определять, насколько быстро и эффективно ваша задача будет выполнена. Хотя у плат Arduino и Raspberry Pi есть свои плюсы и минусы, выбор правильной платы будет полностью зависеть от ваших требований. Например, если ваша задача - считывать данные датчиков и реагировать на них в режиме реального времени, плата Arduino подойдет вам больше, чем Raspberry Pi. Это связано с низким энергопотреблением и низким уровнем обслуживания. Arduino идеально подходит для проектов, которые должны работать непрерывно с минимальным взаимодействием и реакцией. Отличным примером такой задачи будет запись температуры на улице и отображение ее на экране. Платы Arduino идеально подходят для начинающих, которые только делают первые шаги и не пока не стремятся создать каких-либо проектов высокого уровня. С другой стороны, Raspberry Pi следует использовать для проектов, которые являются более сложными, чем пример, упомянутый выше. Плата должна использоваться, когда необходимо выполнить несколько задач одновременно, а некоторые или все из них сложны. Например, если ваш проект регистрирует температуру в определенном районе, анализирует тренды температуры за последние недели и прогнозирует погоду на следующие несколько дней, а также принимает решение, будет ли погода оптимальной для орошения, тогда Raspberry Pi это то, что вам нужно. Проще говоря, плата Raspberry Pi предназначена для профессионалов, которые строят сложный и надежный проект, для которого требуется способность выполнять несколько задач одновременно, чего не хватает в Arduino. Обзорная таблица Виртуальная машинаDocker контейнерИзоляция процесса на аппаратном уровнеИзоляция процесса на уровне ОСКаждая виртуальная машина имеет отдельную ОСКаждый контейнер может совместно использовать ОСЗагружается в считанные минутыЗагружается в считанные секундыВиртуальные машины занимают несколько ГБКонтейнеры легкие (КБ / МБ)Готовые виртуальные машины трудно найтиГотовые док-контейнеры легко доступныВиртуальные машины могут легко перейти на новый хостКонтейнеры уничтожаются и воссоздаются, а не перемещаютсяСоздание ВМ занимает относительно больше времениКонтейнеры могут быть созданы в считанные секундыБольше использования ресурсаМеньшее использование ресурсов Итого Обе платы имеют довольно длинный список плюсов и минусов, но они отлично подойдут, если требование будет правильным. Но какими бы разными они ни казались, существует сценарий, в котором они могут работать вместе, чтобы максимизировать результаты проекта. Вы можете сравнить плату Arduino со спинным мозгом тела, который принимает мелкомасштабные решения, такие как зажигание светодиода или измерение температуры жидкости, в то время как плата Raspberry Pi - это мозг, который принимает сложные решения, такие как анализ прошлых ценностей и прогнозирование будущих ценностей. В конце концов, как мы уже говорили, плата Arduino идеально подходит для вас, если вы новичок и хотите узнать об электронике или о тех, кто имеет опыт работы с электроникой и хочет заняться простыми проектами. Raspberry Pi идеально подходит для вас, если у вас есть знания Linux и вы хотите использовать их для создания сложных сетевых электронных проектов.
img
В сегодняшней статье расскажем, как организовать функцию прослушивания телефонных разговоров, как входящих, так и исходящих, которые проходят в реальном времени на нашем сервере IP-АТС Asterisk. Для этих целей будем использовать стандартное приложение Asterisk - ChanSpy(). Данная задача часто встречается при организации call-центров, когда есть группа агентов, принимающих или совершающих вызовы и группа супервайзеров, контролирующих их взаимодействие с клиентами КЦ. Для того, чтобы научить агентов грамотно общаться с клиентами, супервайзерам необходимо иметь доступ не только к записям разговоров агентов, но и к разговорам в реальном времени, в том числе, с возможностью прямо во время разговора подсказать агенту какую-либо информацию и не быть услышанным клиентом. Здесь то нам и приходит на помощь ChanSpy – своеобразный “шпионский” канал. Работа в FreePBX По умолчанию, данная функция доступна в графической оболочке FreePBX по средствам набора специального кода Feature Code Feature Code, а именно -комбинации цифр 555 То есть, мы можем, набрав 555, подключиться к случайному разговору, который в настоящий момент проходит на IP-АТС и прослушивать его. Если разговоров несколько, то переключаться между ними можно с помощью *. Согласитесь, это слегка неудобно. Вдруг нам нужен конкретный агент, который в настоящий момент разговаривает с конкретным клиентом? Не перебирать же все разговоры и пытаться по голосу определить нужного нам агента! Работа в Asterisk CLI Чтобы упростить задачу супервайзерам и расширить стандартный функционал ChanSpy на FreePBX, мы немного отредактируем конфигурационные файлы Asterisk. Для начала давайте обратимся к синтаксису ChanSpy(). ChanSpy([chanprefix,[options]]), где: chanprefix - специальный префикс канала. Например мы можем указать шаблон для внутренних номеров, разговоры которых мы хотим прослушивать; options - буквенные обозначения опций с учётом регистра и параметров прослушивания канала. Рассмотрим наиболее полезные: b – позволяет подключаться к каналам, задействованным в конференц-звонке; d – позволяет вручную управлять режимом прослушивания канала: 4 – только прослушивание, 5 – только подсказки (шёпот), 6 – и подслушивание и подсказки; E – отключается от прослушиваемого канала, когда тот кладёт трубку; q – тихий режим. Не проигрывает никаких звуков, когда происходит подключение к прослушиваемому каналу; v – позволяет настроить начальный уровень громкости от -4 до 4; w – позволяет говорить в подслушиваемый канал. Функция подсказок или “шёпота”; Все остальные опции, доступные в ChanSpy можно узнать из командной строки Asterisk, используя команду: core show application chanspy Для того, чтобы настроить новое правило ChanSpy, нужно открыть файл extension_custom.conf, который лежит в /etc/asterisk/ и открыть его любым удобным текстовым редактором, например nano: nano /etc/asterisk/extension_custom.conf И внесём туда следующий контекст: [app-custom-chanspy] exten => 555.,1,Authenticate(48151623) //48151623 – это пароль для доступа к функционалу прослушивания; exten => 555.,n,Answer exten => 555.,n,Wait(1) exten => 555.,n,ChanSpy(SIP/${EXTEN:3},qw) exten => 555.,n,Hangup Давайте разберём что получилось: пользователь, например, супервайзер набирает комбинацию 555115, где 555 – доступ к ChanSpy, а 115 – внутренний номер агента, к разговору которого хочет подключиться супервайзер. При наборе “555” пользователя попросят ввести пароль (в нашем случае 48151623), это поможет ограничить доступ к функционалу прослушивания разговоров на нашей IP-АТС. После подтверждения пароля, пользователю будет доступен функционал прослушивания разговора и “шёпота”, причем при подключении к разговору никаких уведомлений проигрываться не будет, так как включен тихий режим.
img
Основой любого сайта является HTML. Это первое, что видят люди. Без него сайта бы не существовало. Поэтому так важно придерживаться правильных методов написания кода. Если этого не делать, то посетители вашего сайта получат плохой пользовательский опыт. В HTML всегда есть, чему поучиться. Причем не важно, новичок вы в программировании или опытный специалист. В данной статье мы поговорим о лучших практиках HTML. Давайте начнем. Лучшие практики HTML – это набор правил, помогающих создавать сайты, одинаково удобные для чтения и сопровождения. При создании сайта на HTML необходимо придерживаться следующих принципов: Используйте только один элемент <h1> для страницы В HTML доступно 6 различных тегов заголовков – от <h1> до <h6>. Тегом <h1> отмечается основной заголовок (название веб-страницы), а тег <h6> используется для наименее важного заголовка. Тег <h1> крупнее <h2>, <h2> крупнее <h3> и так до тега <h6>. Размер каждого заголовка уменьшается по степени его важности. Очень важно не добавлять более одного элемента <h1> на странице. Не делайте так: <main> <div> <h1>Писать код – это весело?</h1> <p>Чем больше вы пишете, тем опытнее становитесь</p> </div> <div> <h1>Писать код – это весело</h1> <p>Лучше писать код с удовольствием</p> </div> </main> В примере выше мы используем тег <h1> в первом и втором блоке <div>. Такой код, конечно же, заработает, но это не самый правильный вариант оформления. Лучше вот так: <main> <div> <h1>Писать код – это весело?</h1> <p>Чем больше вы пишете, тем опытнее становитесь</p> </div> <div> <h2>Писать код – это весело</h2> <p>Лучше писать код с удовольствием</p> </div> </main> Кроме того, наличие одного элемента <h1> на странице – крайне важно для поисковой оптимизации (SEO). Через этот тег поисковики понимают, что находится на странице (главная мысль страницы). Не забывайте про иерархию заголовков в HTML Когда вы пользуетесь тегами заголовков, важно следовать установленной иерархии: после <h1> идет <h2>, за <h3> следует <h4> и т.д... Не перескакивайте от <h1> к <h3>. Некоторые посетители сайта используют средства чтения с экрана. И таким пользователям бывает трудно понять содержимое вашей страницы при нарушенной иерархии элементов. Средства чтения с экрана – это одна из специальных возможностей, помогающая людям получать доступ к цифровому содержимому (сайтам или приложениям) и взаимодействовать с ним через звуки и касания. Основные пользователи данной технологии – слабовидящие или незрячие люди. Не делайте так: <h1>Писать код – это весело</h1> <h3>Лучше писать код с удовольствием</h3> <h5>Постоянство – это ключ</h5> Лучше вот так: <h1>Писать код – это весело?</h1> <h2>Чем больше вы пишете, тем опытнее становитесь</h2> <h3>Писать код – это весело</h3> Добавляйте подписи к изображениям через элемент figure Добавлять подписи к изображениям рекомендуется через элемент <figure>. А чтобы все заработало, нужно прописать не только <figure>, но и <figcaption>. Не делайте так: <div> <img src=“a-man-coding.jpg” alt=“Мужчина за компьютером”> <p>Это изображение мужчины, который работает за компьютером</p> </div> С точки зрения кода, пример выше написан хорошо. Но лучше сделать все иначе. Если изображение не загрузилось, отображается содержимое alt, и на экране показывается текст из элемента <p>. Но посетитель, использующий средства чтения с экрана, не сможет отличить тексты в <p> и alt. Помните: даже если ваш код работает, это еще не значит, что вы делаете все правильно. Лучше сделать вот так: <figure> <img src=“a-man-coding.jpg” alt=“ Мужчина за компьютером”> <figcaption>Это изображение мужчины, который работает за компьютером</figcaption> </figure> Пример выше – отличный способ, как можно добавить подписи к изображениям. Почему важно добавлять подписи к изображениям именно так: Поисковая оптимизация. Ваши изображения легче найти в поисковых системах. Посетителям, использующим средства чтения с экрана, проще понять содержимое вашей страницы. Не используйте div для шапки и подвала; для этого подходят семантические элементы Семантические элементы HTML используются для логической разметки структуры документа на странице. Кроме того, они нужны для правильной сборки страницы. Откажитесь от <div> в пользу семантики. Не используйте <div> для обозначения шапки и подвала страницы. Для этих целей есть семантические элементы <header> и <footer>. Элемент <header> показывает навигацию или вводную часть страницы. В элементе <footer> размещается информация об авторских правах или ссылки для перехода на страницы. Не делайте так: <div class="header"> <a href="index.html">Главная</a> <a href="#">О нас</a> <a href="#">Контакты</a> </div> <div class="footer"> <a href="index.html">Главная</a> <a href="#">О нас</a> <a href="#">Контакты</a> </div> В примере выше тег <div> используется в качестве контейнера для <header> и <footer>. Такой код будет работать, но это не самый правильный способ реализации. Лучше вот так: <header> <h1></h1> </header> <footer> <a href="index.html">Главная</a> <a href="#">О нас</a> <a href="#">Контакты</a> </footer> Лучше всего добавлять <footer> и <header> на страницу именно так. Почему важно добавлять <footer> и <header> с помощью семантических элементов HTML: Использование семантических элементов для шапки и подвалаупрощает чтение кода. Такой способ предлагает более качественный пользовательский опыт. Посетителям, использующим средства чтения с экрана, будет проще понять содержимое страницы. Не используйте <b> и <i> для выделения текста на странице Теги <b> и <i> выделяют текст жирным шрифтом (b) или курсивом (i). Но не стоит ими пользоваться на сайте, поскольку оба тега не несут семантической нагрузки. Для выделения текста лучше подходит свойство CSS font-weight, либо теги <strong> и <em>. Тегом <strong> отмечают важный текст на странице. Он выделяет текст или делает его жирным. Тег <em> подчеркивает текст или добавляет курсив (точно также, как <i>). Не делайте так: <p><i>Пишите код в своем собственном темпе</i><p> <p><b>пишите код в своем собственном темпе </b><p> В этом примере текст выделяется жирным и курсивом. Но пользователи со средствами для чтения с экрана не заметят разницы. Данные теги не несут семантического значения. Спецификация HTML 5 рекомендует нам использовать теги <b> и <i> только в самых крайних случаях и при отсутствие альтернативных вариантов. Лучше делайте так: <p><strong>Пишите код в своем собственном темпе</strong><p> <p><em>пишите код в своем собственном темпе</em><p> Не используйте блочные элементы внутри строчных Блочные элементы начинают новую строку на странице. По умолчанию действие этих элементов распространяется на всю строку – от ее начала до конца. Вы не сможете добавить строчные элементы внутри блочных без CSS. К блочным элементам относятся <p>, <h1> – <h6> и <div>. Строчные элементы действуют на небольшую часть страницы. Они не начинаются с новой строки. К строчным элементам относятся <span>, <em> и <a>. Вы не можете добавить блочные элементы внутри строчных. Не делайте так: <a href="#" > <p>Посетите merion</p> </a> У вас не получится добавить <p> внутрь элемента <a>, поскольку <p> относится к блочным элементам, а <a> – к строчным. Лучше сделать так: <p> Посетите <a href="wiki.merionet.ru" target="_blank">Merion</a> для изучения IT </p> Это отличный пример того, как можно вложить строчные элементы внутри блочных. Важно помнить, что: Блочный элемент нельзя вложить внутри строчного. Строчный элемент можно вложить внутри блочного. Строчный и блочный элемент можно вложить внутри блочного. Небольшое уточнение: «вложить» что-то в данном случае означает «добавить внутрь». Так что, говоря «это нельзя вложить», я имею ввиду, что вы не сможете добавить один такой элемент внутрь другого. Надеюсь, вы запомнили 3 простых правила для вложения элементов. Кроме того, CSS позволяет преобразовать блочные элементы в строчные. Для этого используется display: inline-block и display: inline. А еще важно помнить простую истину: даже если ваш код работает, это еще не значит, что вы делаете все правильно. Именно поэтому я всегда рекомендую пользоваться валидатором разметки W3C и дополнительно проверять свой код. Этот валидатор отслеживает правильность разметки веб-документов в HTML, XHTML, SMIL, MathML и т.д. Для проверки кода можно скопить его URL и добавить на сайт, либо загрузить сам файл HTML. Заключение Надеемся, что данная статья помогла вам узнать что-то новое о лучших практиках в HTML. Мы постарались включить в нее самые полезные советы, которыми можно начинать пользоваться уже сегодня.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59