Если сервер развернут локально, интернет вообще не нужен. Если сервер в интернете, да, нужен постоянно.
Организовать работу с любыми сторонними контролерами возможно. Нужно либо научить контроллер использовать DeviceHive, или написать приложение, берущее данные с сервера DeviceHive и управляющее этим контроллером.
Такие SoC существуют, их много, например, nrf51822 и cc2540. Теоретический подобные устройства могут существовать до года в режиме адвертайзинга при питании от батарейки типа CR2032. Однако эти устройства не способны самостоятельно выходить в интернет и подключаться к удаленному серверу. Для их работы с удаленным сервером нужно устанавливать специальный шлюз соединяющий BLE и удаленный сервер. Также работа с этими микросхемами потребует приобрести специальный программатор для загрузки прошивки в них. nrf51822, например, официально прошивается с помощью Segger J-Link который официально стоит от $ 60 за учебную версию и от $ 378 за полнофункциональную (существуют китайские контрафактные версии ~$ 20). Для микросхем серии ccXXXX нужен CC Debugger стоимость $ 49. Что согласитесь, может быть неприемлемо для DIY-устройств стоимостью $ 5.
1) iOS SDK предоставляет ограниченные возможности по работе с параметрами беспроводной сети. В iOS 8, если я не ошибаюсь, можно узнать только SSID сети. И всё. Для полноценной навигации и поиска местоположения по WiFi нужно знать, как минимум, мощность сигнала
2) Для WiFi чаще используется т.н. WiFi fingerprinting, т.е., грубо говоря, замер мощности сигналов от различных точек доступа в каждой конкретной локации помещения. На основании замеров составляется «карта» мощности и улавливаемых точек, и на основании этих данных уже высчитывается текущая позиция. Ввиду п.1, этой информации у нас нет и быть не может. Ну и, вдобавок, такой подход требует дополнительных затрат на измерения и составление карт.
Этот способ подразумевает наличие сервера. В нашей схеме сервера нет. Ну и вдобавок, поиск меток не столь интерактивен — нужно самостоятельно искать и сканировать метки, в то время как сигнал от маяков принимается без участия пользователя.
Конечно! Сам сервер — тоже оупенсорсный проект: github.com/devicehive/devicehive-java-server. Его можно развернуть и на облачных сервисах (вот здесь можно купить сервер на azure — azure.microsoft.com/en-us/marketplace/partners/dataart/devicehive), и на сервере в локальной сети. И для удобства вы можете использовать Docker для легкой установки: registry.hub.docker.com/u/devicehive/devicehive-standalone
Вся установка сводится к выполнению команд:
curl -sSL get.docker.com | sh
sudo service docker start
docker run -d --name=devicehive -p 8080:80 -p 9001:9001 devicehive/devicehive-standalone
причем первые две это установка и запуск самого Docker. После запуска на 80-м порту будет запущен аналогичный плейграунду сервер, в том числе, с аналогичной админской веб консолью (http://127.0.0.1/admin логин/пароль после установки — dhadmin/dhadmin_#911).
Нет, наша прошивка работает через облачный сервис. Т.е. можно сыпать, что нужно послать чипу на облачный сервис, чип будет это подбирать и отправлять в UART.
Ограничений нет: структура и стили — все кастомные. Только воображение и скиллы могут вас остановить.
На Copyblogger использовано подобное, например. Другие примеры можно посмотреть на сайте плагина.
Да, вы можете определить, сколько угодно внутренних шорткодов. Но, если приходится использовать такие структуры, возможно, стоит пересмотреть макет страницы? Обычно, если требуется столько вложений, я иду выше и пересматриваю разметку страницы, оптимизируя вложенности.
get_template_part() — часть нативного WordPress API, используется для подключения повторяющихся частей темы. Также рекомендуется использовать его в разработке тем, т. к. с его помощью легче переподключить файлы в дочерних темах. Т. е. никто не запрещает использовать require, разработчики WordPress рекомендуют использовать get_template_part как лучшую практику. И, если вы будете писать темы для ThemeForest, можете не пройти проверку (там ко всему цепляются :)).
Подробнее о подключении файлов: code.tutsplus.com/articles/how-to-include-and-require-files-and-templates-in-wordpress--wp-26419
DeviceHive — разработка одного из наших Research and Development центров (у нас там много интересного). Никакой монетизации сервиса не планируется. DataArt принципиально не продает продукт, такова наша идеология. Когда-то мы занимались продуктом — так появилcя Mail.Ru. Теперь мы далеки от подобных стремлений.
Расходы на разработку и маркетинг DeviceHive мы считаем перспективным вложением. Это демонстрирует нашу компетенцию, позволяет коллегам заниматься интересными исследованиями и развивать IoT вместе с лучшими компаниями мира (проект поддержали Acer, Canonical и Microsoft). К тому же, DeviceHive может служить готовой базой уже для клиентских проектов.
Open Source — лучший выход. Общий доступ к технологиям позволяет очень эффективно тестировать и улучшать сервис.
Питать можно от любого источника питания с напряжение 3.3 В и током 300 мА (такой ток требуется в моменты активной работы передатчика радио модуля). Можно использовать пальчиковые батарейки, даже можно одной обойтись — нужно будет поставить step up конвертер до 3.3В, например, MAX1708. Можно литиевые аккумуляторы, например, 18650 или в любом другом формфакторе. Но нужно будет ставить step down-конвертер до 3.3 вольт, например, LM3281.
Организовать работу с любыми сторонними контролерами возможно. Нужно либо научить контроллер использовать DeviceHive, или написать приложение, берущее данные с сервера DeviceHive и управляющее этим контроллером.
2) Для WiFi чаще используется т.н. WiFi fingerprinting, т.е., грубо говоря, замер мощности сигналов от различных точек доступа в каждой конкретной локации помещения. На основании замеров составляется «карта» мощности и улавливаемых точек, и на основании этих данных уже высчитывается текущая позиция. Ввиду п.1, этой информации у нас нет и быть не может. Ну и, вдобавок, такой подход требует дополнительных затрат на измерения и составление карт.
registry.hub.docker.com/u/devicehive/devicehive-standalone
Вся установка сводится к выполнению команд:
curl -sSL get.docker.com | sh
sudo service docker start
docker run -d --name=devicehive -p 8080:80 -p 9001:9001 devicehive/devicehive-standalone
причем первые две это установка и запуск самого Docker. После запуска на 80-м порту будет запущен аналогичный плейграунду сервер, в том числе, с аналогичной админской веб консолью (http://127.0.0.1/admin логин/пароль после установки — dhadmin/dhadmin_#911).
На Copyblogger использовано подобное, например. Другие примеры можно посмотреть на сайте плагина.
Подробнее о подключении файлов:
code.tutsplus.com/articles/how-to-include-and-require-files-and-templates-in-wordpress--wp-26419
Расходы на разработку и маркетинг DeviceHive мы считаем перспективным вложением. Это демонстрирует нашу компетенцию, позволяет коллегам заниматься интересными исследованиями и развивать IoT вместе с лучшими компаниями мира (проект поддержали Acer, Canonical и Microsoft). К тому же, DeviceHive может служить готовой базой уже для клиентских проектов.
Open Source — лучший выход. Общий доступ к технологиям позволяет очень эффективно тестировать и улучшать сервис.