Транспорт становится эффективнее с использованием облачных технологий – arduino+

Интернет вещей: Arduino в связке с облаком

В наш век многие задумывались о создании своего стартапа. Но разработать какой-то интересный и полезный продукт своими силами зачастую сложно. Отчасти для экономии сил, можно использовать облако.

В частности, для проектов интернета вещей в облаке можно найти достаточное количество сервисов. Что же такое «Интернет вещей» и как его можно продуктивно использовать? Обо всём этом читайте под катом.

Примечание: мы продолжаем серию публикаций полных версий статей из журнала Хакер. Орфография и пунктуация автора сохранены.

Интернет вещей — это не просто умный дом или умное предприятие. Эксперты прогнозируют что в ближайшее время миллиарды устройств будут решать самые различные задачи в самых разнообразных областях. Да они уже решают множество задач.

Давайте для примера разберем самую стереотипную задачу: устройство, оборудованное каким-либо датчиком, отправляет данные снимаемые с этого датчика в облако. Самый простейший пример устройства, снимающего данные с датчика света (фоторезистра) вы можете увидеть на следующем фото:Запитать это устройство можно от разъема micro USB.

«На борту» платы Genuino MKR1000 находится встроенный Wi-Fi модуль. Стоимость платы около 35 USD. Замена одного датчика на другой как правило не особо усложняет схему. В ней, как вы можете заметить, используется резистор, который стабилизирует снимаемый сигнал и не дает различным помехам на него повлиять. Но об этом есть довольно много специализированной литературы. Сейчас же о другом.

Давайте рассмотрим следующую функциональную схему работы устройства с облаком Azure, которую вполне можно назвать типичной:На ней устройство взаимодействует с IoT хабом. IoT хаб на русский язык переводят как Центр интернета вещей. Это название вполне себе передает его суть, так как для взаимодействия с устройствами используется, как правило, этот сервис.

Он может как получать данные с устройств, так и отправлять им сообщения/команды. Кроме центра интернет вещей взаимодействовать с устройствами может и еще один сервис под названием Event Hub.

Самое большое отличие в этих сервисах в том, что IoT Hub может работать с миллионами устройств, в то время как Event Hub работает с тысячами устройств, но при этом может получать миллионы сообщений в секунду. Второе большое отличие в том, что IoT хаб может отправить команду на устройство, в то время как Event хаб нет. В целом у IoT хаба возможностей больше.

Но Event хаб рано отправлять на пенсию. Как уже было написано он обладает очень высокой пропускной способностью. Зачастую Event хабы используются в проектах не для взаимодействия с устройствами, а в качестве промежуточных сервисов.

Детальное сравнение центра Интернета вещей Azure и концентраторов событий Azure доступно по ссылке.

IoT hub поддерживает такие протоколы, как MQTT, MQTT через WebSocket, AMQP, AMQP через WebSocket и HTTP. Event hub поддерживает AMQP, AMQP через WebSocket и HTTP.

Вы можете написать код, который формирует сообщение по правилам протокола и отправляет его, но лучше использовать SDK. Формирование сообщения по протоколу HTTP с платы Arduino я уже рассматривал в этой статье.

Этот код работает, но далек от идеала. В этой же статье рассматривалось конфигурирование IoT хаба и сопряжение устройства. Сейчас же появились новые возможности и позвольте рассмотреть использование SDK и повторно рассмотреть конфигурирование хаба немного в другом аспекте.

Кроме того, рассмотрим и настройку других IoT сервисов Azure. Создаем IoT hub на одно устройство. При использовании одного устройства IoT hub можно использовать бесплатно. Имя хабу придумываем любое произвольное. Hint: У IoT хаба есть возможность получать с устройства файлы.

Эту возможность иногда используют в виде легального хака. Данные с нескольких устройств передаются одному главному устройству, которое уже сохраняет их в текстовый файл определенного формата и отправляет его в облако.

Теперь нам нужно создать виртуальное устройство в облаке Azure, которое будет соответствовать нашему реальному устройству. По-английски это устройство называют device-twin, что означает устройство двойник.

Раньше создать такое устройство можно было с помощью Windows desktop утилиты Device Explorer.

Скачать ее можно по следующей ссылке, найдя наиболее свежий файлик SetupDeviceExplorer.msi или с помощью кроссплатформенной утилиты iothub-explorer, установить которую можно с помощью NPM (Node.js Package Manager).

Сейчас не нужно заморачиваться и можно создать двойник устройства прямо на портале Azure найдя в настройках хаба Device Explorer.Кликнув на созданное устройство в Device Explorer-е можно открыть сведения об устройстве.

Из них необходимо взять строку подключения – первичный ключ. Ее мы будем использовать в коде Arduino. В качестве аутентификации Azure IoT хаб использует два варианта: SSL + SAS или SSL + X.509 сертификат. Но ресурсов Arduino хватает только на первый вариант.

Все-таки это устройство с малым энергопотреблением и не обладает большими достаточными вычислительными возможностями. Выходит, что нам в любом случае необходимо прошить нашу плату SSL сертификатом.

Сделать это можно с помощью кроссплатформенной утилиты WiFi101 Firmware Updater или же с помощью функционала, встроенного в Arduino IDE.

Но перед этим необходимо совершить несколько подготовительных мероприятий в Arduino IDE. Установить библиотеку WiFi101После ее установки в IDE появятся примеры использования этой библиотеки. Один из этих примеров под названием FirmwareUpdater необходимо открыть и записать на плату.

Сначала открываем:Затем устанавливаем и выбираем нашу плату (платы для IoT пока что не входят в комплект поставки IDE по умолчанию).Открываем менеджер плат и ищем необходимую плату. В моем случае это MKR1000.После установки в том же самом пункте меню необходимо пометить используемую плату.

И выбрать порт на котором она находится:Последовательные клики на меню Sketch – Upload загрузят скетч на плату. Теперь можно прошивать. Первый вариант открыть в IDE меню Tools – WiFi101 FirmwareUpdater, нажать Add domain и добавить URL IoT хаба.После чего нажать «Upload Certificates to WiFi module».

Или же открыть отдельную утилиту WiFi101 Firmware Updater, ввести адрес хаба (в моем случае ArduinoAzureHub.azure-devices.net) в верхнее текстовое поле и нажать кнопку Fetch. Произойдет загрузка сертификата на компьютер. После этого нужно выбрать COM порт к которому подключено устройство и нажать появившуюся кнопку «Upload certificates».

Устанавливаем следующие библиотеки точно так же, как мы устанавливали недавно библиотеку WiFi101:

  • AzureIoTHub
  • AzureIoTUtility
  • AzureIoTProtocol_HTTP
  • RTCZero

Скачиваем исходный код и в папке examples находим проект simplesample_http, в котором можно найти код для samd (Atmel SAMD Based boards).

В файле iot_configs.

h c присваиваем значению IOT_CONFIG_CONNECTION_STRING значение строки подключения, которую мы получили на портале Azure. Заполняем значения IOT_CONFIG_WIFI_SSID и IOT_CONFIG_WIFI_PASSWORD соответственно названием вашей точки доступа Wi-Fi и ее паролем.

Код скетча становится рабочим и его можно загружать в Arduino.

Следующий код описывает модель:DECLARE_MODEL(ContosoAnemometer,
WITH_DATA(ascii_char_ptr, DeviceId),
WITH_DATA(int, WindSpeed),
WITH_DATA(float, Temperature),
WITH_DATA(float, Humidity),
WITH_ACTION(TurnFanOn),
WITH_ACTION(TurnFanOff),
WITH_ACTION(SetAirResistance, int, Position)
);
WITH_DATA описывает данные, которые могут быть отправлены с устройства.

WITH_ACTION описывает события, которые могут произойти при получении устройством каких-то команд.

Пример это, конечно же, только отправная точка для вашего проекта. Шаблон, который можно изменить под свои требования. Я предпочитаю удалять созданные Actions и создать свои. Моя заготовка кода в виде gist размещена на github.

Модель у меня с двумя полями, хранящими имя устройства и число, снятое с датчика и одним событием:BEGIN_NAMESPACE(IoTSample);
DECLARE_MODEL
(LightSensorDataModel, WITH_DATA(ascii_char_ptr, deviceId), WITH_DATA(int, iotdata),
WITH_ACTION(DuckAction, int, light)
);
END_NAMESPACE(IoTSample); Код экшена в моем случае такой:EXECUTE_COMMAND_RESULT DuckAction(LightSensorDataModel* device, int light)
{ digitalWrite(2, light); return EXECUTE_COMMAND_SUCCESS;
}Он включает или отключает светодиод, в зависимости от того получено ли значением параметра light целое число 1 или 0. Срабатывает событие если на плату отправить следующий JSON:{“Name” : “DuckAction”, “Parameters” : {“light”:1}}
Если вы найдете в коде следующую переменную: unsigned int minimumPollingTime = 9;, то сможете изменить задержку опроса новых сообщений. Иначе выражаясь то, как часто устройство проверяет не появились ли для него новые сообщения. Значение указано в секундах.

В код void simplesample_http_run(void) я добавляю следующий код:

while (1)
{ myIoTdata->deviceId = “ArduinoAzureTwin”; myIoTdata->iotdata = analogRead(1); unsigned char* destination; size_t destinationSize; if (SERIALIZE(&destination, &destinationSize, myIoTdata->deviceId, myIoTdata->iotdata) != CODEFIRST_OK) { (void)printf(“Failed to serializern”); } else { sendMessage(iotHubClientHandle, destination, destinationSize); } IoTHubClient_LL_DoWork(iotHubClientHandle); ThreadAPI_Sleep(1000);
}
DESTROY_MODEL_INSTANCE(myIoTdata);Здесь с аналогового пина под номером 1 подключенного к Arduino каждую секунду снимаются данные. Эти данные отправляются в облако в виде строки deviceId (имени устройства) и самих данных в виде целого числа iotdata. Давайте для примера будем сохранять данные в базе SQL Server. Azure поддерживает множество форматов данных, но думается мне, что SQL Server это самый популярный формат. Хотя для хранения JSON данных в больших объемах и подошел бы, пожалуй, больше формат NOSQL. Цены на базы SQL Server-а начинаются от 5 USD в месяц. То есть за эти деньги можно получить вполне себе функциональную облачную базу размером 2 Gb.

Так как мануал по созданию баз довольно объемный, но никаких особых нюансов нет, то оставлю ссылку на официальный мануалы: создание базы данных SQL Azure на портале Azure и создание таблицы в базе данных с помощью SQL Server Data Tools.

Зачастую, если у вас уже установлена Visual Studio, то ничего дополнительно устанавливать не нужно. Самый простой способ открыть базу данных для редактирования это в меню Visual Studio выбрать View – Server Explorer. Здесь можно подключиться к подписке Azure и открыть базу в SQL Server Object Explorer.Ну и уже в этом окне можно будет создать таблицу.

Один момент, о котором обязательно нужно упомянуть. По умолчанию доступ к SQL Servery в Azure и соответственно к его базе данных закрыт со всех IP адресов из соображений безопасности. То есть даже зная имя пользователя и пароль к базе подключится нельзя. Необходимо зайти на портал Azure и добавить текущий IP в список разрешенных.

Шутка по поводу того, что в IoT буква S отвечает за Security, в данном случае не работает. Вторым по популярности сервисом Azure для интернета вещей является Stream Analytics. Если мы хотим сохранить данные из IoT хаба в базу данных, то нам нужен этот сервис. Создается он очень просто. Достаточно придумать название и выбрать группу ресурсов с регионом.

В результате получится такое вот окно:Нажав на квадрат со входными данными можем придумать псевдоним входным данным и заполнить анкету в которой укажем наш IoT хаб в качестве источника.И нужно аналогично настроить выходные данные кликнув на квадратике с ними:Теперь можно создать запрос, который будет перекидывать данные из IoT хаба в базу.

Это квадратик между входными и выходными данными. В моем примере запрос довольно простой: SELECT iotdata, deviceId, System.Timestamp as eventtime INTO dataout FROM indata Как вы можете заметить язык запроса довольно похож на SQL. В данном случае и в базе данных и в коде Arduino есть поля iotdata (целочисленное) и deviceId (строка).

Кроме того в базе данных создано поле eventtime типа datetime. И в это поле записывается значение времени на момент совершения перемещения из входящего источника в приемник.
Скачав и установив бесплатную утилиту Power BI можно подключиться к базе данных SQL Server-а и получить представление этих данных в виде графика или диаграммы.

Читайте также:  Ардуино уровень воды: делаем индикатор своими руками

Сама утилита не сложнее чем Excel. Хотя в названии и содержит серьезные слова. BI означает Business Intelligence. Далее небольшой мануал в пояснениях и скриншотах. Кнопка «Получить данные» — «Дополнительные сведению…»Вводим адрес нашего сервера и имя базы данных. Эти данные задаются при создании базы данных SQL Server-а.

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

При желании можно не только получать данные от устройства, но и отправлять на него данные/команды. Облачные технологии интернета вещей позволяют создавать проекты при минимуме программирования. Большую часть времени занимает администрирование и конфигурирование.

Различных примеров локальных проектов, созданных на платформе Arduino, да и на других платформах достаточно много. Но если девайс доступен только по wi-fi или Bluetooth, то это довольно ограничивает выполняемые задачи. Будущее за интернетом вещей.

Напоминаем, что это полная версия статьи из журнала Хакер. Ее автор — Алексей Соммер.

Источник: https://habr.com/company/microsoft/blog/343450/

Чайнику про облачные технологии

Несмотря на повсеместное распространение данной технологии, словосочетание “облачные технологии” (англ.

cloud technologies“) остается для многих весьма запутанным и странным.

И хотя практически каждый из владельцев персональных компьютеров и смартфонов пользуется этими “благами цивилизации” на практике, мало кто знает: как это устроено и как это работает!

Что такое “облачные технологии”?

Облачные технологии – это модель предоставления повсеместного и удобного сетевого доступа к общему пулу конфигурируемых вычислительных ресурсов (таких как: серверы, приложения, сети, системы хранения и т.д.), которые могут быть быстро предоставлены и освобождены с минимальными усилиями по управлению и необходимости взаимодействия с провайдером.

Звучит запутанно? Попробуем в одном предложении: облачные технологии – это технологии обработки данных, в которых компьютерные ресурсы предоставляются Интернет-пользователю как онлайн-сервис.

Объяснение “облачных технологий” на пальцах: еще совсем недавно повсеместно на компьютерах для чтения электронной почты использовалась программа Microsoft Outlook (почтовый клиент).

Сегодня же сама программа находится на удаленном сервере и пользователь может использовать ее всего лишь авторизовавшись в браузере (outlook.live.com/owa/) с любого устройства. Разумеется, это самый простой обобщенный пример.

На самом деле, сфера применения облачных технологий и вычислений гораздо шире.

Один из примеров работы “облачных вычислений”

О преимуществах облачных технологий

Используя “облако” (так в простонародье именуют “облачные технологии“), рядовой пользователей выигрывает: все вычислительные операции происходят не на стороне его компьютера, а на мощных серверах в сети, другими словами, он может использовать аппаратные и программные средства, инструменты и методологии, недоступные для технических характеристик его компьютера.

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

Немаловажное преимущество – экономия при покупке лицензированного ПО.

При использовании “облачных технологий” оплачивается не лицензия (нет необходимости покупать целый продукт), а только услуга – конкретные функции того или иного продукта, в котором пользователь заинтересован. Если говорить обобщенно, то в “облаке” многие платные программы стали бесплатными или намного дешёвыми веб-приложениями!

Естественно, вам также нет необходимости следить за выходом обновлений ПО: вы всегда пользуетесь самой последней версией программ (все эти заботы ложатся на техническую поддержку “облака”).

И как не упомянуть “общий доступ”?! С помощью “облачных технологий” открывается возможность одновременного доступа к информации, одну и туже информацию могут просматривать и редактировать одновременно с разных устройств разные пользователи, можно делиться информацией с близкими людьми или партнерами из любой точки мира.

О недостатках облачных технологий

Однако, все не так радужно в некоторых специфических ситуациях. Есть и недостатки:

  • Конфиденциальность. Вы полностью соглашаетесь с сохранностью пользовательских данных на стороне компании, которая предоставляет вам “облачные технологии” (впрочем, это уже стало противоречивой нормой: никого не смущает сохранение личной почты на сторонних серверах);
  • Безопасность. Сохранность Ваших данных не может никем гарантироваться (например, при использовании облачной Windows актуальны вирусы и уязвимости системы), тем не менее “облако” само по себе является более надежной системой,  чем персональный компьютер;
  • Кастомизация ПО. Пользователь не имеет  фактического доступа к ПО (имеет ограничения в используемом обеспечении) и иногда не имеет возможности настроить его под свои собственные нужды;
  • Постоянный и стабильный Интернет. Доступ к услугам «облака» требует постоянного соединения с Интернет (впрочем, в наш технологический век это не является существенной проблемой).

Известные всем примеры облачных технологий

Источник: https://SEO-zona.ru/chajniku-pro-oblachnye-texnologii-2017-04-07.html

Облачная робототехника: Тренды, Технологии, Связь

GTI совместно с Huawei Wireless X Labs, China Mobile, SoftBank, CloudMinds и Skymind представила официальный документ по технологии 5G и облачной робототехнике «5G&Cloud Robotics White Paper».

В нем описаны концепции, технологии, рыночные тренды, цепочка формирования стоимости и бизнес-модели облачной робототехники, а также представлен подробный анализ того, как технология 5G будет способствовать коммерческому успеху. Редакция RoboTrends.

ru представляет русскоязычную версию документа, перевод которой подготовлен Алексеем Бойко. 

Кратко

Облачные роботы управляются “мозгом” в облаке.

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

По сравнению с традиционными роботами, облачные роботы будут формировать новые цепочки создания ценности, новые технологии, новый опыт и новые бизнес-модели. В данном документе рассматриваются эти аспекты.

1. Введение

Облачная робототехника – это сравнительно недавно придуманная концепция. Первые работы на эту тему стали появляться в 2010 году, когда начался проект RoboEarth Еврокомиссии ().

Целью этого проекта было формирование “интернета для роботов”.

RoboEarth и, позднее, в таких проектах, как Rapyuta () и Robohow () были сформулированы базовые концепции и технологии, которые все еще оказывают влияние на разработки в области облачной робототехники.

Есть три базовых преимущества облачных роботов, по-отношению к классическим автономным роботам:

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

Полезную информацию, выделенную из этих данных можно использовать для всех роботов, подключенных к данному центру управления. Как и в случае с другими облачными сервисами, информация, собранная и обработанная каждым из роботов, всегда остается “свежей” и надежно заархивированной.

В выигрыше и разработчики – любое их решение является переиспользуемым для всех подключенных к облаку роботов.

Разгрузка вычислительных мощностей. Некоторые задачи, с которыми сталкивается робот, требуют больших вычислительных мощностей, чем те, что может обеспечить местный контроллер (экономически разумным образом).

Разгрузка в облако задач, требующих существенной обработки, таких как распознавание голоса и изображения, синтез голоса, картографирование окружающей среды, планирование движений, снижает требования к бортовому “железу”, а также к энергопотреблению роботов, что позволяет делать их легче, меньше и дешевле.

Коллаборативность. Облачные роботы могут работать совместно.

Используя облако, как общую среду, два робота могут работать совместно, например, чтобы перенести объект, который слишком тяжел для одного.

Группа простых рабочих роботов могут выполнять работы с использованием одной локальной карты, которую создаст для них робот-лидер, оснащенный необходимыми для картографирования сравнительно дорогими сенсорами.

рис. 1. Массовый сбор данных за счет использования массива из 14 роботов. Роботы делятся опытом друг с другом за счет использования алгоритма машинного обучения.   

Распределенная версия AlphaGo использует 40 поисковых потоков, 1202 процессоров CPU и 176 графических процессоров (GPU) (). Ни один современный робот не может обладать такой вычислительной мощностью на борту. Облачный робот может применять такую вычислительную мощность для решения стоящих перед ним задач.

2. Приложения для облачных роботов

Использование облачных ресурсов умощняет роботов и дает им новые возможности в самых различных областях:

  • Интеллектуальная обработка визуальной информации:классификация изображений, обнаружение целей, сегментация изображений, создание описаний изображений, распознавание объектов. 
  • Обработка естественного языка:понимание семантики на основе глубокого обучения, точное понимание намерений пользователя, анализ вариантов намерений, анализ эмоций. При этом облачный робот может опираться на мощные базы знаний.
  • Распознавание лиц:алгоритм распознавания лиц основанный на глубоком обучении позволяет, например, точно детектировать лица на видео в реальном времени. Лица распознаются также в тех случаях, если они видны только под углом, частично размыты или наполовину закрыты другими объектами. 
  • Расширения относительно текущих приложений

Источник: http://robotrends.ru/pub/1729/oblachnaya-robototehnika-trendy-tehnologii-svyaz

IoT DevKit в облаке: подключение платы IoT DevKit AZ3166 к Центру Интернета вещей Azure

  • 12/19/2018
  • Время чтения: 15 мин
  • Соавторы

Плату MXChip IoT DevKit можно использовать для разработки и прототипирования решений Интернета вещей, использующих службы Microsoft Azure.

You can use the MXChip IoT DevKit to develop and prototype Internet of Things (IoT) solutions that take advantage of Microsoft Azure services. Он содержит совместимую с Arduino плату со множеством периферийных устройств и датчиков, пакет ПО для платы с открытым кодом и расширяющийся каталог проектов.

It includes an Arduino-compatible board with rich peripherals and sensors, an open-source board package, and a growing projects catalog.

Что нужно сделатьWhat you do

Подключите DevKit к созданному центру Интернета вещей Azure.Connect the DevKit to an Azure IoT hub that you create. Теперь можно собирать данные о температуре и влажности с датчиков и отправлять эти данные в центр Интернета вещей.Then collect the temperature and humidity data from sensors, and send the data to the IoT hub.

У вас еще нет платы DevKit?Don't have a DevKit yet? Воспользуйтесь симулятором платы DevKit или приобретите ее.Try the DevKit simulator or purchase a DevKit.

Что вы узнаетеWhat you learn

  • Как подключить плату IoT DevKit к точке беспроводного доступа и подготовить среду разработки.How to connect the IoT DevKit to a wireless access point and prepare your development environment.
  • Как создать Центр Интернета вещей и зарегистрировать устройство для MXChip IoT DevKit.How to create an IoT hub and register a device for the MXChip IoT DevKit.
  • Как собирать данные датчиков, запустив пример приложения на MXChip IoT DevKit.How to collect sensor data by running a sample application on the MXChip IoT DevKit.
  • Как отправить данные датчиков в Центр Интернета вещей.How to send the sensor data to your IoT hub.

Необходимые элементыWhat you need

Подготовка оборудованияPrepare your hardware

Подключите к компьютеру следующее оборудование.Hook up the following hardware to your computer:

  • Плата DevKit.DevKit board
  • Кабель micro USB.Micro-USB cable

Чтобы подключить плату DevKit к компьютеру, сделайте следующее:To connect the DevKit to your computer, follow these steps:

  1. Подключите разъем USB кабеля к компьютеру.Connect the USB end to your computer.

  2. Подключите разъем micro USB кабеля к плате DevKit.Connect the Micro-USB end to the DevKit.

  3. Зеленый светодиодный индикатор питания будет означать, что подключение установлено.The green LED for power confirms the connection.

Читайте также:  Обзор и подключение dht11 (dht22) датчика влажности и температуры - arduino+

Настройка Wi-FiConfigure Wi-Fi

Для работы проектов Центра Интернета вещей требуется подключение к Интернету.IoT projects rely on internet connectivity. Следуйте приведенным ниже инструкциям, чтобы настроить плату DevKit для подключения к сети Wi-Fi.Use the following instructions to configure the DevKit to connect to Wi-Fi.

Переключение в режим точки беспроводного доступаEnter AP mode

Удерживая нажатой кнопку B, нажмите и отпустите кнопку Reset (Сброс), а затем отпустите кнопку B. Плата DevKit переключится в режим точки беспроводного доступа для настройки Wi-Fi.

Hold down button B, push and release the reset button, and then release button B. Your DevKit enters AP mode for configuring Wi-Fi. На снимке экрана ниже отображается идентификатор SSID платы DevKit и IP-адрес портала настройки.

The screen displays the service set identifier (SSID) of the DevKit and the configuration portal IP address.

Подключение к точке беспроводного доступа DevKitConnect to DevKit AP

Теперь используйте другое устройство с модулем Wi-Fi (компьютер или мобильный телефон), чтобы подключиться к плате DevKit по идентификатору SSID (выделен на снимке экрана выше).Now, use another Wi-Fi enabled device (computer or mobile phone) to connect to the DevKit SSID (highlighted in the previous image). Поле пароля оставьте пустым.Leave the password empty.

Настройка Wi-Fi для платы DevKitConfigure Wi-Fi for the DevKit

Откройте IP-адрес, отображенный на экране DevKit в браузере на компьютере или в мобильном телефоне, выберите сеть Wi-Fi для подключения платы DevKit, а затем введите пароль.

Open the IP address shown on the DevKit screen on your computer or mobile phone browser, select the Wi-Fi network that you want the DevKit to connect to, and then type the password.

Нажмите кнопку Подключиться.Select Connect.

Через несколько секунд после успешного подключения плата DevKit перезагрузится.When the connection succeeds, the DevKit reboots in a few seconds. На экране появится имя Wi-Fi и IP-адрес.You then see the Wi-Fi name and IP address on the screen:

Примечание

IP-адрес на фотографии может не совпадать с фактическим IP-адресом, который будет назначен и отображен на экране DevKit.

The IP address displayed in the photo might not match the actual IP address assigned and displayed on the DevKit screen.

Это нормально, так как сеть Wi-Fi использует протокол DHCP для динамического назначения IP-адресов.This is normal, because Wi-Fi uses DHCP to dynamically assign IPs.

После настройки Wi-Fi учетные данные для этого подключения сохранятся на устройстве, даже если оно будет отсоединено.After Wi-Fi is configured, your credentials will persist on the device for that connection, even if the device is unplugged.

Например, если вы настроили плату DevKit для домашней сети Wi-Fi и затем принесли ее на работу, потребуется перенастроить режим точки беспроводного доступа (начиная с шага в разделе “Переключение в режим точки беспроводного доступа”), чтобы подключить плату DevKit к сети Wi-Fi в офисе.

For example, if you configure the DevKit for Wi-Fi in your home and then take the DevKit to the office, you will need to reconfigure AP mode (starting at the step in the “Enter AP Mode” section) to connect the DevKit to your office Wi-Fi.

Начало использования платы DevKitStart using the DevKit

Приложение по умолчанию, запущенное на плате DevKit, проверяет наличие последней версии встроенного ПО и отображает некоторые диагностические данные датчиков.The default app running on the DevKit checks the latest version of the firmware and displays some sensor diagnosis data for you.

Обновление до последней версии встроенного ПОUpgrade to the latest firmware

Примечание

Начиная с версии 1.1, DevKit поддерживает ST-SAFE в загрузчике.Since v1.1, DevKit enables ST-SAFE in bootloader. Если используется версия ниже 1.1, необходимо обновить встроенное ПО.You need to upgrade the firmware if you are running a version prior to v1.1.

При необходимости обновить встроенное ПО на экране будут показаны текущая и последняя версии.If you need a firmware upgrade, the screen will show the current and latest firmware versions. Следуйте указаниям по обновлению встроенного ПО.To upgrade, follow the Upgrade firmware guide.

Примечание

Это действие выполняется один раз.This is a one-time effort. Когда вы начнете разработку с помощью платы DevKit и передадите свое приложение, вместе с ним будет передана последняя версия встроенного ПО.After you start developing on the DevKit and upload your app, the latest firmware will come with your app.

Тестирование различных датчиковTest various sensors

Нажмите кнопку B, чтобы проверить датчики.Press button B to test the sensors. Нажимайте и отпускайте кнопку B, чтобы обойти по очереди все датчики.Continue pressing and releasing the button B to cycle through each sensor.

Подготовка среды разработкиPrepare the development environment

Мы рекомендуем установить расширение Средства Azure IoT для Visual Studio Code, чтобы выполнять разработку с использованием платы DevKit.We recommend Azure IoT Tools extension pack for Visual Studio Code to develop on the DevKit.

Набор средств Azure IoT включает Azure IoT Device Workbench для разработки и отладки различных устройств DevKit Интернета вещей и Azure IoT Hub Toolkit для управления Центром Интернета вещей Azure и взаимодействия с ним.

The Azure IoT Tools contains Azure IoT Device Workbench to develop and debug on various IoT devkit devices and Azure IoT Hub Toolkit to manage and interact with Azure IoT Hub.

Вы можете посмотреть эти видеоролики Channel 9, чтобы получить общее представление о решаемых ими задачах.You can watch these Channel 9 videos to have overview about what they do:

Выполните инструкции ниже, чтобы подготовить среду разработки для DevKit.Follow these steps to prepare the development environment for DevKit:

  1. Установите интегрированную среду разработки Arduino.Install Arduino IDE. Она предоставляет необходимую цепочку инструментов для компиляции и передачи кода Arduino.It provides the necessary toolchain for compiling and uploading Arduino code.

    • Windows: используйте версию установщика Windows.Windows: Use Windows Installer version. Не выполняйте установку из магазина приложений.Do not install from the app store.
    • MacOS: перетащите извлеченное приложение Arduino.app в папку /Applications.macOS: Drag and drop the extracted Arduino.app into /Applications folder.
    • Ubuntu: распакуйте его в папку, например $HOME/Downloads/arduino-1.8.8.Ubuntu: Unzip it into folder such as $HOME/Downloads/arduino-1.8.8

Источник: https://docs.microsoft.com/ru-ru/azure/iot-hub/iot-hub-arduino-iot-devkit-az3166-get-started

Что такое облачные технологии и зачем они нужны / Заметки Сис.Админа

И снова, здравствуйте, уважаемые читатели! 🙂 Поговорим про облачные технологии.

Тобишь, сегодня очередная заметка целиком и полностью будет посвящена весьма занимательной и перспективной технологии (так сказать «золотой жиле» ИТ-индустрии), скрывающейся под псевдонимом – cloud technologies или в простонародье – «облако».

Поговорим мы о самой концепции облачных вычислений, приведем самые разные примеры её воплощения (на уровне решений для обычных пользователей), а именно, расскажем о теории, потом плавно перейдем к практике и немного.. повитаем в облаках 🙂

Таким образом, цель нашей заметки, как всегда благая (по-другому и быть не может) – систематизировать основные сведения, связанные с данной тематикой и разложить всё по полочкам.

Итак, Земляне, готовьтесь, сейчас мы расскажем о зао облачных технологиях, которые, с каждым днем, становятся к нам все ближе и ближе.

Полетели..

За последние годы, эта тема, стала одной из наиболее популярных в IT-сфере, о ней написано немало статей, проведено еще большее количество конференций, а сколько решений уже существует на рынке (и во всю используется нами в повседневной жизни, порой даже несознательно), так и вообще не сосчитать.

Однако,  как всегда, есть одно “но“, а именно, большая часть пользователей, по-прежнему и знать не знают, что это за «ноу-хау» облачные технологии и для чего оно, вообще сдалось. Что ж, будем исправлять создавшееся положение и начнем мы, как и полагается, с теории.

Облачные вычисления (cloud computing) – это технология распределённой обработки данных в которой компьютерные ресурсы и мощности предоставляются пользователю как интернет-сервис. Если объяснить доступным языком, то – это Ваша, в некотором смысле рабочая площадка в интернете, а точнее на удаленном сервере.

Давайте рассмотрим пример, чтобы убедится, что практически каждый из нас, так или иначе, уже сталкивался с сим решением.

У вас есть электронная почта (e-mail)? Конечно, есть. Так вот, если Вы работаете с почтой на каком-то сайте-сервисе (например, gmail), который эту почту позволяет использовать, то это и есть ничто иное как облачный сервис, являющийся частью такой штуки как облачные технологии. Или, к примеру, обработка изображений.

Если вы уменьшаете размер, переворачиваете свою фотографию в Photoshop или другой специальной программе, то к облачной технологии Вы не имеете никакого отношения, – всё происходит и обрабатывается локально на Вашем компьютере. А вот, если, загрузив изображение, к примеру, через сервис Picasa, Вы его обрабатываете по ту сторону, тобишь в браузере, то это и есть то самое “облако”.

к содержанию ↑

Больше подробностей про облачные технологии

Собственно, вся разница заключается исключительно в методе хранения и обработке данных. Если все операции происходят на Вашем компьютере (с использованием его мощностей), то это – не “облако”, а если процесс происходит на сервере в сети, то это именно та трендовая штуковина, которую и принято называть «облачной технологией».

Другими словами, облачные технологии, – это различные аппаратные, программные средства, методологии и инструменты, которые предоставляются пользователю, как интернет-сервисы, для реализации своих целей, задач, проектов.

Как показывает практика, термины «облачные технологии»/«облачный сервис»,  с их общепринятым графическим представлением, в виде «облачков», только путает пользователей, на самом деле их структуру, можно легко понять, если представить ее в виде следующей пирамиды.

Основание пирамиды «инфраструктура» – это набор физических устройств (серверы, жесткие диски и т.д.), над ней выстраивается «платформа» – набор услуг и верхушка – программное обеспечение, доступное по запросу пользователей.

Также, следует знать, что облачные вычисления — это некий базис-вектор, полученный в результате синтеза целого ряда технологий и подходов (во замудрил! :-)). Чтобы стало ясно, что я имею ввиду, приведу следующую схему:

Думаю, что теперь то стало немного понятней, благо схема довольно простая. Впрочем, говоря обобщенно, облачные технологии – это такая некая каша, которая выполняет вычисления серверами и прочими штуками без непосредственного привлечения ресурсов Вашего компьютера.

Может так сложится, что все мы вернемся на компьютеры, которые по мощности близки к, так сказать, первым и, по сути, будут представлять из себя один лишь экран с микропроцессором, а все расчеты и мощности будут расположены и производится удаленно, т.е в где-то там живущих серверах, а именно, в упомянутом неоднократно облаке.

Читайте также:  Arduino gopro: как контролировать камеру через wifi

к содержанию ↑

Услуги, предоставляемые облачными системами

Все, что касается сloud сomputing (далее СС), обычно принято называть словом aaS. Расшифровывается это просто – “as a Service“, то есть “как сервис”, или “в виде сервиса”.

В настоящее время облачные технологии и, собственно, их концепция, предполагает оказание следующих типов услуг своим пользователям:

  • Storage-as-a-Service (“хранение как сервис”)Это, пожалуй, самый простой из СС-сервисов, представляющий собой дисковое пространство по требованию. Каждый из нас когда-нибудь сталкивался с ситуацией, когда на мониторе появлялось зловещее предупреждение: “Логический диск заполнен, чтобы освободить место, удалите ненужные программы или данные“. Услуга Storage-as-a-Service

Источник: https://sonikelf.ru/oblachnye-texnologii-dlya-zemnyx-polzovatelej/

Применение облачных технологий в образовании

«Облако» — это не всегда продукт конденсации водяного пара, плывущего по небу.

Наверняка все слышали это современное словосочетание — «облачные технологии».

Облачные технологии стали возможны благодаря бурному развитию аппаратного обеспечения: мощность процессоров растут день ото дня, развивается многоядерная архитектура и объемы жестких дисков. Да и интернет-каналы стали намного шире и быстрее.

Таким образом, облако — это не сам Интернет, а весь тот набор аппаратного и программного обеспечения, который обеспечивает обработку и исполнение клиентских заявок. Кстати, даже такое простое действие, как запрос страницы сайта, представляет собой пример облачного вычисления.

Вам надоело постоянно носить с собой флеш-карту? А если забыли её дома, что делать?

На помощь приходят облачные технологии, ведь с их помощью теперь не обязательно повсюду таскать с собой флешку или кабель для подключения к смартфону. Сейчас свои файлы можно хранить удалённо в облачных хранилищах.

Таких хранилищ в наше время стало довольно много и каждый из них составит конкуренцию друг другу. А нам уже остаётся выбирать тот который понравится и будет доступнее других.

Облачные технологии — это новая парадигма, предполагающая распределенную и удаленную обработку и хранение данных.

Суть облачных технологий состоит в следующем:

–       Вы можете не иметь никаких программ на своём компьютере, а иметь только выход в Интернет.

–       Платно или бесплатно, это зависит от того, что вам нужно.

–       Облачные технологии позволяют экономить на приобретении, поддержке, модернизации ПО и оборудования.

–       Удаленный доступ к данным в облаке — работать можно из любой точки на планете, где есть доступ в сеть Интернет. [3]

Сравним традиционные и облачные технологии.

Традиционные технологии Облачные технологии
Электронная почта: Outlook.Письма скачиваются при запуске программы на компьютер пользователя и хранятся там. Браузерная почта: Mail.ru, Yandex.ru, Rambler.ru и т. п.Содержимое писем можно читать, скачать вложения, но физически всё хранится на сервере. Можно прочитать любое из своих писем с любого компьютера, подключенного к сети.
Музыка: скачали/купили и слушаете. Файлы/диски физически у вас. Слушаете музыку через сайт.
Видео: скачать/купить диск с фильмом. Многие фильмы мы смотрим один раз, а потом диски пылятся на полках. При скачивании каждый фильм занимает до нескольких гигабайт жесткого диска. Смотрите фильмы онлайн. Сейчас существует множество подобных сервисов, которые при достаточно высокой скорости передачи данных обеспечивают неплохое качество воспроизведения. При этом не надо ждать, пока фильм скачается.

Мы рассмотрим только облачные офисные приложения, такие как текстовый редактор, электронные таблицы и презентации, предоставляющие возможности совместной работы.

–       Наличие у одного человека нескольких компьютеров: на работе, дома, ноутбук, планшет. Между ними приходится постоянно переносить файлы, открывать и редактировать документы «на ходу» на различных устройствах. Иногда возникают проблемы с совместимостью программного обеспечения.

–       Ограниченный объем жесткого диска компьютера. Например, если вы часто скачиваете фильмы, то он заполняется очень быстро. Для переноса файлов иногда все необходимые данные могут просто не поместиться на одну флеш-карту.

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

–       Необходимость работать над одним документом нескольким людям одновременно. Например:

·        совместные проекты учительского коллектива, такие, как образовательная программа или годовой план, в которых каждый участник творческой группы отвечает за свой раздел;

·        ученические групповые проекты, особенно если они задаются на дом.

Источник: https://moluch.ru/archive/62/9448/

Облако для Интернета вещей

21.05.2015 Игорь Кулиничев

Концепция Интернета вещей появилась в 1999 году в результате осмысления перспектив широкого применения средств радиочастотной идентификации для взаимодействия физических объектов между собой и с внешним окружением.

Свое развитие она получила благодаря распространению беспроводных сетей, внедрению в повседневную практику облаков, совершенствованию технологий межмашинного взаимодействия, а также переходу на IPv6 и освоению программно-конфигурируемых платформ.

Уже в 2008 году количество объектов, подключенных к Cети, превысило количество людей на Земле, и сегодня уже около 14 млрд объектов соединено между собой через Интернет. В период до 2020 года ежегодный вклад Интернета вещей, например, в рост ВВП США составит 0,2–0,4%.

Такая прогнозируемая динамика роста создаст большое давление на Интернет вещей, развитие которого сегодня определяют следующие факторы:

  • обилие миниатюрных сенсоров, контроллеров и передатчиков, позволяющих обеспечить экономически оправданный процесс сбора всевозможных данных;
  • рост пропускной способности и проникновение сетей, а также многократное увеличение числа IP-адресов, что способствует вовлечению в Интернет вещей все новых устройств и субъектов;
  • снижение стоимости хранения и управления данными, определявшей на протяжении многих лет расходы на ИТ;
  • появление мощных аналитических инструментов, позволяющих оперировать накопленными данными в режиме, близком к реальному времени.

Учитывая эти тенденции, корпорация IBM предложила для работы с устройствами Интернета вещей управляемый облачный сервис IoT Foundation (рис. 1), размещаемый в облаке Bluemix (основанная на открытых стандартах облачная платформа PaaS).

Основное предназначение Bluemix — создание и развертывание различных типов приложений с использованием различных технологий (Java, Node.

js, Go, PHP, Python, Ruby Sinatra и Scala) и многочисленных сервисов, разработанных сообществом облака Bluemix.

Рис. 1. Cтруктура IoT Foundation

Сервис IoT Foundation позволяет зарегистрировать устройства в сети, управлять ими, визуализировать и хранить полученные данные. Пользование сервисом начинается с подписки и регистрации «вещи» в сети по ее MAC-адресу.

Подписка возможна через Bluemix и через IBM Cloud Marketplace, где можно сделать выбор из множества доступных сервисов.

С помощью опции Quick Start пользователь может развернуть собственный прототип, выбрав устройство из списка уже известных, либо создать имитатор устройства.

Устройства соединяются по протоколу MQTT (Message Queue Telemetry Transport) — транспорту сообщений, получившему широкое распространение благодаря своей простоте и открытости.

MQTT предназначен для поддержки межмашинного взаимодействия (M2M) в ситуациях, когда на устройстве может работать только весьма компактный код и критична пропускная способность сети.

Протокол работает поверх TCP/IP или других сетевых протоколов, способных без потерь обеспечить направленные и двунаправленные соединения.

По мере сбора в IoT Foundation данных от «вещей», возможен запуск процесса конструирования — организации на базе Bluemix визуализации данных обработки событий, полученных от всех субъектов Интернета вещей.

Такая визуализация возможна в режиме, близком к реальному времени, — все данные от устройств хранятся в специальной базе и могут использоваться для анализа.

В общем случае конструирование состоит в компоновке данных о событиях, поступающих от вещей, в логические последовательности с целью выявления различных закономерностей и принятия решений по оптимизации бизнес-результатов. Кроме того, имеется возможность создания визуальных панелей результатов анализа с привлечением исторических данных.

В качестве примера использования сервиса IoT Foundation можно привести систему мониторинга температуры, построенную на базе сенсоров Arduino Uno и датчиков Virtuabotix DHT11 [1].

Собрав физический прототип из данных устройств и загрузив все необходимые драйверы и библиотеки поддержки MQTT, можно подключиться к облаку Bluemix и среде IoT Foundation для отображения телеметрии от датчиков на экране в виде графиков температуры и влажности.

Далее можно создать собственное облачное приложение, которое будет сохранять данные, полученные от устройства Arduino, отображать их и сравнивать полученные ранее (исторические) данные с текущими.

Более серьезный пример — управление сетью сенсоров давления и потоковой готовности, расположенных на трубопроводах и вовлеченных в локальный Интернет вещей. Анализируя показатели от датчиков, можно в режиме реального времени выявлять аномалии, а также фильтровать данные о ложных срабатываниях.

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

С помощью IoT Foundation можно отслеживать параметры движения автомобиля и посылать водителю предупреждающие сообщения о необходимости снизить скорость, о предельной высоте моста или тоннеля, допустимой нагрузке на ось и т. п.

При попадании автомобиля в зону рискованной езды (например, гололед) сигнал посылается в Интернет вещей, откуда другим участникам движения рассылаются предупреждения, ответственные службы получают уведомление о необходимости обработать дорогу реагентами, а службы управления движением динамически устанавливают ограничения скорости. Таким образом, совместное использование IoT Foundation и Bluemix (рис. 2) позволяет создать основу композитных бизнес-решений для различных прикладных отраслей.

Рис. 2. IoT Foundation и облако Bluemix

Особое внимание в IoT Foundation уделяется безопасности на всех этапах работы с устройствами Интернета вещей — их аутентификации, идентификации соединения и организации обмена данными.

Взаимодействие осуществляется по протоколу HTTPS с сертификатом, подписанным Центром сертификации DigiCert для гарантии того, что соединение произошло именно с настоящим сервисом IoT Foundation.

Устройства соединяются посредством уникальной комбинации идентификатора, заданного конкретным заказчиком, и аутентификации при помощи токена.

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

Для предотвращения утечки данных между группами устройств применяются идентификаторы групп (организаций), которые внедрены в идентификаторы устройств и приложений и аутентифицируются с помощью паролей. IoT Foundation фильтрует потоки данных внутри организаций, исключая несанкционированное «перетекание» данных между ними.

При использовании IoT Foundation рекомендуется применять встроенные функции безопасности, а также придерживаться практик Open Web Application Security Project [2].

Общее управление в IoT Foundation осуществляется с помощью системы передачи сообщений IBM MessageSight, специально созданной для работы с соединениями типа M2M, а накопленные данные хранятся средствами СУБД IBM Informix.

Ценообразование при пользовании сервисом IoT Foundation зависит от количества подсоединенных устройств, объема данных, которыми устройства обмениваются с системами и приложениями, и объема исторически хранящихся данных.

***

Сервис IoT Foundation востребован во многих отраслях, в числе которых автомобильная промышленность, розничная торговля, здравоохранение и фармацевтика, пищевая индустрия, энергетика, ЖКХ, службы прогноза погоды, транспорт.

Его применение позволяет оптимизировать бизнес-процессы — корректировать маршруты транспорта, проводить мониторинг медицинских показателей, контролировать периметры безопасности и состояние энергосистем и т. п.

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

Сервисы типа IoT Foundation, работающие в составе публичных облаков, способствуют сокращению управленческих расходов благодаря, например, интеграции использования системы управления умным домом с автоматизированной системой мониторинга энергосистемы здания.

Литература

Игорь Кулиничев ([email protected]) — архитектор индустриальных решений, IBM (Москва).

Источник: https://www.osp.ru/os/2015/02/13046277

Ссылка на основную публикацию
Adblock
detector