Работа с internet

Тема в разделе "ESP8266, ESP32", создана пользователем cfif, 29 май 2020.

  1. cfif

    cfif Нерд

    Пишу прогу для автополива. Схема такая: к ардуино подключены электромагнитные клапаны через реле. Ардуино через сетевой модуль обращается на сайт. Сайт в ответ на обращение отдает строку с параметрами - какой клапан включить. Если сайт, для обращения ардуины, делаю на локальном компе - всё работает.

    Проблема началась при переносе сайта с локального компа в интернет.

    Проблема следующая - сайт в интернете работает по протоколу https, а ардуино делает запрос по протоколу http. В результате ардуино получает страницу "301 переадресация на протокол https". Ну и, соответственно, не те данные, которые нужны.

    Как можно отправить запрос по протоколу https? Использую библиотеку EtherCard.h. я так понимаю, что настройку работы с сайтом делает команда ether.dnsLookup(website). Но как ее изменить - не найду(((

    ну или может в интернете есть бесплатный хостинг, который позволяет сделать поддомен с http? в инете не нашел таких((( может таких уже и в природе не существует?
     
  2. NikitOS

    NikitOS Король шутов Администратор

    И давно у нас так плохо поиск работает?
    upload_2020-5-29_20-10-32.png
     
  3. ИгорьК

    ИгорьК Гуру

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

    У меня это работает на esp-8266 и управляется так:
    upload_2020-5-29_20-15-4.png

    То есть один раз указал сколько надо поливать автоматом утром и вечером, и пока что-то не изменил - оно там само трудится.

    Управление через Интернет вещь слишком скользкая - сигнал на открытие прошел, а на закрытие - потерялся.
     
    Последнее редактирование: 29 май 2020
    Rumata, SergeiL и NikitOS нравится это.
  4. cfif

    cfif Нерд

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

    по поводу интернета - ну мне нужно иметь оперативный доступ к настройкам. Делаю это для ТСЖ - полив будет во дворе 9-ти этажки. Всякое может быть - начался полив, а там дети или еще что - мамаши ругаться начнут (уже было такое даже с обычным поливом через шланг) ну или еще что. Чтобы в подвал не бежать и не отключать - с телефона зашел на сайт и отключил. Я в Астрахани живу - у нас климат жаркий - вдруг дополить нужно будет или еще что - я первый раз этим делом вообще занимаюсь - в подвал не бежать, ну и т.д. Поэтому решил через интернет этим делом заниматься.
    Про esp - мне тоже посоветовали в эту сторону смотреть. Я так понял, что его и к ардуино можно подключить, и самостоятельно программировать. Он может по https протоколу работать. Попробую в эту сторону ковырять)))
    По поводу mqtt - я правильно понимаю, что нужен сервер, который будет работать по этому протоколу?

    По поводу вашей программы - немного не понял. Вы написали прошивку, залили ее и она управляет вашим поливом, без доступа через интернет - так? А картинка ваша что показывает - это данные откуда выводятся (ну с телефона или еще с чего)? ну управляете вы как - не пойму чего-то)))
     
  5. Airbus

    Airbus Радиохулиган Модератор

    Можно просто без интернетов через ЖСМ. В ответ о выполнении действия приходит СМС
     
  6. ИгорьК

    ИгорьК Гуру

    ЕSP-8266 работает и без ардуино. Полив организовать ног хватит.

    Может.

    Да. Поднять его самому проще пареной репы на той же малине. Можно применить бесплатный:
    mqtt.eclipse.org
    broker.mqtt-dashboard.com
    test.mosquitto.org
    ...

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

    Нет интернета - все выполнится и без него, польется утром и вечером и после каждого полива наполнится бочка.
     
    Последнее редактирование: 29 май 2020
    cfif и SergeiL нравится это.
  7. cfif

    cfif Нерд

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

    а изменение командой у вас как реализовано? вы заходите на какой-то сайт и делаете там изменения. esp8266 по протоколу mqtt с какой-то периодичностью опрашивает этот сайт. И если видит изменения, то вносит их себе - такая логика?
    Не подскажете - библиотека EtherCard.h может по протоколу mqtt работать? или это нужно что-то другое искать?
     
    NikitOS нравится это.
  8. NikitOS

    NikitOS Король шутов Администратор

    В настройках домена можно отключить:
    upload_2020-5-29_21-19-24.png
     
    cfif нравится это.
  9. SergeiL

    SergeiL Оракул Модератор

    Ну это смотря как.
    Если устройство одно, - то проще с модемом,
    А если не одно, - то проще роутер поставить.
     
    Airbus нравится это.
  10. ИгорьК

    ИгорьК Гуру

    Разберитесь в протоколе MQTT.

    Я о чем талдычу. Устройство не должно получать команды "открыть кран", "закрыть кран".
    Какой бы вы способ обмена информацией ни выбрали, устройство должно получать команды "поливать ежедневно в 6 утра", или "поливать через день в 18 вечера".
     
    Rumata нравится это.
  11. cfif

    cfif Нерд

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

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

    протокол, конечно, поковыряю)) и про то, что устройство должно само открывать и закрывать клапан по расписанию тоже понял - переделаю. Меня интересует вопрос - как мне экстренно закрыть клапан, случись что. Или это как раз я и пойму, разобравшись в том, как MQTT посылает команды?)
     
  12. ИгорьК

    ИгорьК Гуру

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

    Устройство (протокол MQTT) подписано на сообщения и постоянно слушает брокер (тот, кто пересылает ему сообщения). Как только приходит команда "стоп" - устройство прерывает работу и закрывает кран.
     
    cfif нравится это.
  13. cfif

    cfif Нерд

    спасибо большое - буду ковырять в этом направлении.
    А как вы решили вопрос с пропажей электроэнергии? ну внутренние часы же сбросятся. У меня была мысль реализовывать так - при перезагрузке устройства, посылается запрос на сервер, на который приходит текущее серверное время. Дальше узнаем расписание, сохраненное на сервере и работаем уже по штатному расписанию. Или такие вещи не так реализуются?
     
  14. ИгорьК

    ИгорьК Гуру

    Как только электричество восстановится, появится и сеть. А в сети время есть всегда.

    Расписание должно храниться на устройстве.
     
  15. cfif

    cfif Нерд

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