Mobile off-line или передача информации полуавтоматическим методом
Постановка задачи Всё чаще можно слышать, что Интернет становится «Интернетом вещей». Всё больше устройств подключается к сети и начинают жить по своим собственным (заложенным производителями) законам. Часть этих устройств подключается к сети с помощью проводов, часть — с помощью Wi-Fi, а оставшаяся часть — с помощью 2G/3G/4G мобильных технологий. Если речь идёт о стационарных устройствах, работа которых имеет важное значение, то их, как правило, подключают с помощью проводов (медь, оптика, xDSL). В небольшом радиусе от роутера также часто используется Wi-Fi, ну, а если требуется подсоединить к сети транспорт, то здесь, понятно, используется 2G/3G/4G. В качестве примера таких устройств можно назвать холодильники, микроволновки, кофеварки и стиральные машины.Я же хотел бы рассмотреть несколько иной случай. Предположим, есть у нас набор датчиков, информация от которых нам достаточно важна, но при этом мы готовы смириться с частичной потерей данных и нас не очень беспокоит их несвоевременная доставка. Например, мы мониторим показания температуры и влажности в лесном массиве. Пусть у нас будет 100 устройств с датчиками. Если мы получим информацию с запозданием в несколько часов — это не так страшно. Если часть устройств выйдет из строя — будем считать, что мы компенсируем этот недостаток слегка избыточным количеством этих самых устройств-датчиков. Давайте рассмотрим ситуацию с экономической точки зрения. Тянуть провода к каждому из устройств — очень затратно. К тому же на поддержку инфраструктуры ежемесячно будут уходить серьёзные суммы (вдруг медведь или кабан кабель порвёт или грибники себе домой утащат). Wi-Fi тоже не выход. Где же взять для такие дальнобойные модули и как их запитать? Можно, конечно монтировать их где то на столбах, но тогда сколько надо заплатить за установку этих самых столбов? Может использовать 2G/3G/4G? Пожалуй вариант, однако, если плотность населения невелика то может там сотовой связи и нет вовсе или она плохая и плюс питание и затраты на сотовую связь помноженные на 100. Так что же выхода нет? Давайте подумаем.Возможное решение А что если не бегать за связью, а связь будет бегать за нами, точнее ходить, ездить, летать по определённому маршруту, так чтобы посредством беспроводной связи можно было считывать накопленную информацию с датчиков, накапливать её и передавать куда нужно пусть даже с помощью E-mail? Прежде всего исходим из того, что датчики потребляют энергии немного, тогда можно использовать обычные солнечные батареи с аккумуляторами, которые днём накапливают энергию, а ночью отдают. Беспроводные модули Wi-Fi сейчас стоят недорого и существуют для Arduino, Raspberry Pi, Cubeitrack и других систем.Вот как, на мой взгляд, может выглядеть сценарий передачи информации:
Сценарий устройства с датчиками (клиента) Устройство накапливает показания от датчиков. Параллельно, возможно по расписанию (в целях экономии энергии), идёт мониторинг эфира на наличие сети с определённым SSID. В случае обнаружения заданной сети происходит подключение к ней. Далее идёт передача данных на определённый сетевой порт и, возможно, получение «ЦУ из Центра». Сценарий устройства-посредника (почтальона) Приложение слушает определённый порт и принимает посылки. Каждая посылка содержит адрес, кому она предназначается и собственно данные. В целях защиты информации её можно шифровать и использовать механизмы аутентификации дабы избежать возможной подмены. При наличии подключения к сети Интернет отправлять письма адресатам или использовать другие протоколы для передачи данных (ftp, http, …). Возможно также получение обратных сообщений, их загрузка и последующая передача устройствам-клиентам во время следующих сеансов связи. Сценарий головного устройства (сервера) Просматриваем почту на предмет наличия новых сообщений. Получаем, обрабатываем (добавляем в базу данных). При необходимости генерируем обратные посылки и отправляем их. Wi-Fi держать всё время включённым нет смысла, можно, как было сказано выше, выходить на сеансы связи по расписанию. Кроме того основная энергия тратится на передачу, а передача начнётся только когда почтальон будет в нашей зоне видимости.
Кто же может быть почтальоном? Автотранспорт, курсирующий по определённому маршруту Дрон Малая авиация Велосипедист Просто человек со смартфоном Возможные применения Снятие показаний с приборов учёта (счётчики газа, воды, тепла, электричества). Ходит мужик по подъезду со включенным смартфоном и собирает данные. Датчики, собирающие информацию о ж./д. грузах, автотранспорте и т.д. Сбор и передача информации о радиационном фоне или химических загрязнениях, а также другие характеристики (температура, давление, сила ветра и прочее). Звуковая и фото/видео фиксация определённых событий: правонарушений, наблюдение за местностью, разведдеятельность. Банальная электронная почта в тех глухих местах, где есть движение автотранспорта или летает малая авиация, а Интернета нет (развивающиеся страны). Необходимый инструментарий Программа-почтальон для разных операционных систем: Android, iOS, Linux, Windows и др. Клиентские библиотеки для Arduino-подобных маломощных устройств или устройств на основе Raspberry Pi и др. А также для ноутбучных и десктопных ОС. В заключение Думаю многие серъёзные игроки разрабатывают сегодня проекты для расширения доступа в сеть Интернет. В качестве примера можно назвать Google Loon. Тема «Интернета вещей» в ближайшее время будет развиваться.Собственно, хотелось бы узнать мнение сообщества есть ли смысл в разработке и стандартизации софта для озвученных применений, а также пригласить желающих к участию в данном проекте.