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

Souliss - open source облачная платформа и мобильное приложение

Тема в разделе "Домашние IoT серверы", создана пользователем Victor, 17 май 2015.

  1. Victor

    Victor Administrator Команда форума

    Сообщения:
    2.211
    Симпатии:
    386
  2. Victor

    Victor Administrator Команда форума

    Сообщения:
    2.211
    Симпатии:
    386
  3. Victor

    Victor Administrator Команда форума

    Сообщения:
    2.211
    Симпатии:
    386
  4. Anydy

    Anydy Новичок

    Сообщения:
    22
    Симпатии:
    1
    Приветствую!
    Заинтересовался этим приложением Souliss, кое как получилось залить скетч через ардуинку на ESP тот который в примере....но вот как теперь подключиться к ESP с планшета с установленной Souliss не пойму...
    Весь интернет перерыл...по этому вопросу нет ответа....вернее инструкций на русском, я в английском не очень и в программировании новичок
    неужели ни кто не связывал этот модуль с этой программой? или есть более лучшие решения? без облаков, только ESP и андроид с защитой...чтобы например открыть ворота в гараже)))
    Хотелось бы просто для начала понять как мигать светодиодом с программы souliss на модуле ESP в прямом подключении?
    PS. какой то пример souliss для ардуины с сетевым шилдом W5100 заработал....светодиод управлялся! а вот с ESP что то не получается...
    У меня дома сеть на статических ИП, но я так понимаю в скетче по ссылке выше ESP работает как DHCP сервер? Пробовал и статику и динамику...программа не соединяется....
    Помогите куда копать! или ссылки плиз!
     
  5. smerlin

    smerlin Новичок

    Сообщения:
    40
    Симпатии:
    4
    У меня Souliss заработал на ESP-07 (диод с релюхой висели на GPIO 14)

    Вот как делаем:
    Скачиваем Souliss и импортируем в ArduinoIDE (Эскиз->Include Library->Add .ZIPLibrary и выбираем скачанный только что файл).
    Потом заливаем код в ESP (адрес ESP поставил 192. 168. 1. 34 - типичный адрес для устройства в моей локалке, у вас свой может быть)

    Вот код для Arduino IDE (раскрыть)


    // Configure the framework
    [HASHTAG]#include[/HASHTAG] "bconf/MCU_ESP8266.h"
    [HASHTAG]#include[/HASHTAG] "conf/Gateway.h"
    [HASHTAG]#include[/HASHTAG] "conf/IPBroadcast.h"

    [HASHTAG]#define[/HASHTAG] WIFICONF_INSKETCH
    // ******Настройте ваши имя локальной сети Wi-Fi и пароль*****
    [HASHTAG]#define[/HASHTAG] WiFi_SSID "ваш SSID Wi-Fi"
    [HASHTAG]#define[/HASHTAG] WiFi_Password "ваш пароль Wi-Fi"

    // *****Не забываем скачать последнюю версию библиотеки Souliss и импортировать в Arduino IDE
    // Include framework code and libraries
    [HASHTAG]#include[/HASHTAG] "WiFiUdp.h"
    [HASHTAG]#include[/HASHTAG] "Souliss.h"

    // *****Тут как я понял прописывается тип логики светодиода (нагрузки), хотя может и ошибаюсь, я настройку не трогал, так работает
    [HASHTAG]#define[/HASHTAG] MYLEDLOGIC 0

    // *****Прописываем сетевые настройки в соответствии с настройками вашего роутера
    uint8_t ip_address[4] = {192, 168, 1, 34};
    uint8_t subnet_mask[4] = {255, 255, 255, 0};
    uint8_t ip_gateway[4] = {192, 168, 1, 1};
    [HASHTAG]#define[/HASHTAG] Gateway_address 34
    [HASHTAG]#define[/HASHTAG] myvNet_address ip_address[3]
    [HASHTAG]#define[/HASHTAG] myvNet_subnet 0xFF00
    [HASHTAG]#define[/HASHTAG] myvNet_supern Gateway_address

    // **** А вот тут номер пина УПРАВЛЯЕМОГО диода или релюхи ****
    [HASHTAG]#define[/HASHTAG] OUTPUTPIN 14
    //**** А вот тут номер пина КНОПКИ ****
    [HASHTAG]#define[/HASHTAG] INPUTPIN 12

    void setup()
    {
    Initialize();

    // Устанавливаем параметры сети
    Souliss_SetIPAddress(ip_address, subnet_mask, ip_gateway);
    SetAsGateway(myvNet_address);

    // Define a simple LED light logic
    Set_SimpleLight(MYLEDLOGIC);

    pinMode(OUTPUTPIN, OUTPUT); // Включаем диод
    pinMode(INPUTPIN, INPUT); // Переключаем пин кнопки в состояние ВХОДА

    }

    void loop()
    {
    // Здесь начинаем играть
    EXECUTEFAST() {
    UPDATEFAST();

    // Мы обрабатываем логику и соответствующий вход
    // и делаем это каждые 50 миллисекунд
    FAST_50ms() {
    // Управляем диодом в соответствии с командой
    LowDigIn(INPUTPIN, Souliss_T1n_ToggleCmd, MYLEDLOGIC);
    Logic_SimpleLight(MYLEDLOGIC);
    DigOut(OUTPUTPIN, Souliss_T1n_Coil, MYLEDLOGIC);

    }

    // Здесь реализована обратная связь от управляемого устройства
    FAST_GatewayComms();

    }
    }

    Код залили, изучили - пол дела сделали)
    Теперь устанавливаем на свой смартфон SoulissApp - есть в Google Market (бесплатное и поддерживает русский язык)
    Запускаем и заходим в "Настройки - Сеть - Локальный адрес Souliss" ставим ip-адрес ESP (у меня это был 192.168.1.34)
    Затем заходим "Настройки - БД Souliss" и жмем "GetSoulissNodes" - т.е. опрашиваем все наши узлы (а он у нас один) и записываем в базу.
    В разделе Функции есть подраздел Ручной режим, там и должен отобразиться наш "Узел 0" и индикатор "в сети" позеленеть.
    Готово, можно играться с ВКЛ/ВЫКЛ и ТАЙМЕРОМ.
    Замечу что приложение поддерживает голосовое управление. Правда я в него не вдавался...
     
    Последнее редактирование: 16 дек 2015
  6. smerlin

    smerlin Новичок

    Сообщения:
    40
    Симпатии:
    4
    В планах заставить OpenHAB видеть и управлять модулем без использования SoulissApp
     
  7. smerlin

    smerlin Новичок

    Сообщения:
    40
    Симпатии:
    4
    Всё, сегодня воплотил планы: прикрутил модуль ESP под управлением Souliss к серверу OpenHAB без всяких посредников (mqtt-брокеров, http-серверов и т.п.). OpenHAB официально поддерживает Souliss. Теперь управляю с компьютера вкл/выкл диодом, также со смартфона с помощью мобильного приложения OpenHAB или с помощью голосового ассистента ДУСЯ (наш русский ответ Siri - неплохая весч! купил его официально еще когда он стоил 100 руб.). Осталось повесить полезную нагрузку вместо диода и выложу процесс в эту ветку, если интересно кому.
     
  8. Anydy

    Anydy Новичок

    Сообщения:
    22
    Симпатии:
    1
    Спасибо, попробую повторить Ваш пример.
    Но вопрос остается открытым ... Как это сделать без роутера, только модуль ESP в режиме АР + Souliss?
    Например в гараже модуль с реле, подьезжаешь - телефон уже зацепился к АР, достаточно просто ткнуть кнопку в приложении и ворота открылись .... роутер тут ни к чему.
     
  9. smerlin

    smerlin Новичок

    Сообщения:
    40
    Симпатии:
    4
    Совершенно с Вами согласен: для такой задачи он не нужен. Достаточно модуля и приложения на смартфоне SoulissApp для его контроля (в нем даже можно создавать кое-какие сценарии поведения узлов сети). Но я сознательно выбрал в качестве "мозгового центра" OpenHAB, т.к. это дает возможность более гибко настраивать логику поведения узлов, а так же избежать многих ошибок при программировании (возможности отладки на микроконтроллере весьма ограничены, а тут полный функционал). Да и мобильное приложение у OpenHab тоже имеется (правда логика все равно выполняется на сервере).

    Для управления двигателем автоматических ворот вижу 2 пути:
    1) Собрать устройство, посылающее сигнал на приемник ворот (т.е. собрать пульт под управлением ESP модуля);
    2) Собрать устройство, управляющее непосредственно приводом ворот (т.е. модуль ESP должен будет САМ включать привод).
    Более правильным, наверное, является 1 вариант, тут не придется лезть внутрь самого привода и его автоматики, но элементная база решения, думаю, будет более обширной и затратной. Во 2-м случае скорее всего элементная база будет дешевле, но придется разобраться в принципах функционирования автоматики привода. Что выбрать - решать вам.
     
    Последнее редактирование: 17 ноя 2015
  10. Anydy

    Anydy Новичок

    Сообщения:
    22
    Симпатии:
    1
    Так все же, может Souliss клиентом цепляться к ESP AP?
    В качестве ворот в гараже это один из примеров, можно просто электромагнит поставить или моторы открытия дверей от авто, а ворота будут распахиваться с помощью пружин или бытовых доводчиков, закрывать вручную.
    Тут важный фактор цена вопроса - ESP + БП + реле +мотор с двери авто =300 -400р.
    За такую цену есть смысл сделать управление много какими устройствамми, от лампочки до кормушки животных. Та же WiFi розетка стоит 3-6т.р. За такую цену люди будут по старинке руками включать, а вот за 500р. заинтересуются! Понравится, захочет развивать, вот тогда будем и роутеры ставить и Openhab настраивать и т.д.
    Хотелось простое и дешевое решение - софт под андроид и контроллер с реле. У меня не получилось связать Souliss с ESP AP (без роутера).
    Есть пример скетча для ESP и приложение андроид, но там только одна кнопка ВКЛ/ВЫКЛ ... по сути то что надо, но придется изучать программирование под андроид)))
     
  11. smerlin

    smerlin Новичок

    Сообщения:
    40
    Симпатии:
    4
    Видео, что обещал выложить, описание процесса двумя моими постами выше.
     
    Shustmoney нравится это.
  12. smerlin

    smerlin Новичок

    Сообщения:
    40
    Симпатии:
    4
    Anydy, может только немного не так как вы себе представляете. Попробую объяснить в 2 предложениях.
    Все узлы умного дома на ESP8266, AVR, Arduino и практически на любом микроконтроллере могут быть под управлением Souliss. Вот какие на данный момент поддерживаются. Для ESP8266 программа пишется на Arduino IDE, в которую импортирована библиотека Souliss, заливается в каждый узел, все узлы должны находиться в одной локальной сети на уровне протокола TCP/IP. Затем выстраивается сеть более высокого уровня поверх топологии TCP/IP - сеть Souliss-устройств (узлов), потом выбирается один узел в качестве шлюза (принудительно вами программируется или программируется так, чтобы узлы его сами выбирали). Предусмотрено автоматическое переключение шлюзов (например, если основной отказал или просто выключен, переключиться на запасной). В качестве шлюзов нужно выбирать модули с большей памятью, т.к. там осуществляется сбор инфы ото всех других узлов. Программируется логика (все на ArduinoIDE) и заливается по узлам. Какие функции библиотеки Souliss при этом понадобятся можно посмотреть и изучить здесь. Можно даже заставить один узел выполнять команды удаленно через другой, или запросить данные с датчиков с удаленного узла через первый узел, в общем много чего...
    Чтобы вся эта сеть где-то отображалась и как-то контролировалась есть приложение на андроиде SoulissApp, через него и можно открывать ворота, включать лампочки и поливать грядки, а так же программировать сценарии поведения узлов, и никакие роутеры не нужны, если только вы не задумаете созданный вами монстродом подключить к интернету и управлять им из вне (например полить грядки на даче, находясь на работе или в отпуске в Турции, в Египет сейчас не летают....)
     
    Anydy нравится это.
  13. Космонавт

    Космонавт Новичок

    Сообщения:
    14
    Симпатии:
    0
    Может:
    Код (Text):
    1.     SetAccessPoint();                        
    Далее настраиваете SoulissApp на IP модуля ESP8266 (192.168.4.1). Ну и в программе в ArduinoIDE добавляете нужные вам устройства https://github.com/souliss/souliss/wiki/Typicals

    @smerlin а подскажи можно в этом самом souliss`e передавать свои числовые значения? Например, мне нужно из программы на Андроиде установить значение переменной (какого-либо своего параметра) в программе в ESP8266. Соответственно также получать из ESP.
     
  14. smerlin

    smerlin Новичок

    Сообщения:
    40
    Симпатии:
    4
    В этом нет необходимости: Soulis библиотека служит только для связи с узлами, имеющими конкретные физические параметры, и управления ими. Для передачи "своих" данных никто не отменял "обычное" программирование на Arduino IDE и стандартные для него библиотеки для связи с ESP.
     
  15. Космонавт

    Космонавт Новичок

    Сообщения:
    14
    Симпатии:
    0
    Ну вот а я уже обрадовался, что нашел удобное приложение на андрюше для управления без необходимости наличия интернета (работа с AP). Ужасть как лень писать свое под Андрюшу и/или АйОС.((
     
  16. smerlin

    smerlin Новичок

    Сообщения:
    40
    Симпатии:
    4
    А что именно вам нужно передавать на ESP и принимать от ESP?
     
  17. Космонавт

    Космонавт Новичок

    Сообщения:
    14
    Симпатии:
    0
    Да там 4 параметра входных и 3 выходных типа int (относительно ESP). Далее от них рассчитывается время (период) включения клапана и запускается подпрограмма обработки внешних прерываний с импульсного датчика. Изменение параметров требуется редко, сохраняются в еепром. На данный момент все это работает на ардуино и параметры задаются смартфоном по блютуз через модуль HC-05, но прога написана только для андрюши и не на всех телефонах нормально стыкуется с HC-05. Хотелось бы отвязаться от "голубоглаза", модуля HC-05 и сделать все на одном модуле ESP, благо его аппаратных средств более чем достаточно для моей задачи. Реализацию общения с юзером (интерфейс) я вижу так:
    1. Написание приложений для Android и iOS.
    2. Вебморда с сервером в ESP.
    3. Применения приложений IoT (поддерживающих работу с ESP как с точкой доступа без интернета). Но у них своя специфика и ограничение по "конкретным физическим параметрам". Хотя я может плохо искал и что то нужное все такие существует)

    Вроде как 2-й вариант самый простой. Но придется заняться web программированием разве что))
     
  18. smerlin

    smerlin Новичок

    Сообщения:
    40
    Симпатии:
    4
    Ну 3 пункт вряд ли найдете, первые 2 реальны. И я бы начал именно со 2 пункта. Но возможно в Солис тоже есть инструменты, я, честно говоря, не изучал его досконально, просто бегло пробежал. Думаю должен существовать способ в SoulissApp "прикрутить" к узлу дополнительные параметры и считывать/менять их. В крайнем случае можно попробовать написать разработчику Солис, они тоже заинтересованы в развитии своего проекта.
     
  19. jirafff

    jirafff Новичок

    Сообщения:
    1
    Симпатии:
    0
    smerlin, а можно код посмотреть из видео?
    Интересует, как реализовано управление выключателем.
     
  20. smerlin

    smerlin Новичок

    Сообщения:
    40
    Симпатии:
    4
    Код стандартный из примера Солиса, я его выложил под спойлером в моём первом сообщении в этой теме. (я его немного отредактировал)
     
    Последнее редактирование: 16 дек 2015

Поделиться этой страницей