tthRelay - делаем полоумное WiFi реле ч.2


Полгода назад я писал о полоумном WiFi реле с богатым функционалом. Текущая версия превалила за 4.0.0 и научилась управлять реле из любой точки мира с помощью Telegram messenger по HTTPS. Хотите узнать как? Тогда прошу под cut…

О схеме, прошивки и базовой настройке повторяться не буду, об этом читайте в первой части. Здесь только пошаговая инструкция настройки Telegram messenger.

В Telegram найдите @BotFather и создайте своего бота с помощью команды /newbot.

Скопируйте username бота (в нашем примре это Relay_01bot) в Username и token в поле Token вебморды.

В Telegram найдите своего бота по name (в нашем случае Relay_01), добавьте его в контакты, затем откройте чат бота и отправьте команду /start

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

Чтобы бот не бузил, рихтуем ему права.

Открываем групповой чат и отправлем любое сообщение в группу. Например — Hello world.

Открываем интернет-браузер и в поле адреса вводим api.telegram.org/botYOUR_BOT_TOKEN/getUpdates. Ищем идентификатор группового чата (он всегда отрицательный, например id:-12345678901234).

Копируем число в поле Chat ID вебморды.

Если многопользовательское управление не нужно, то пропускаем шаги создания группового чата и вместо идентификатора группового чата ищем id чат бота (он всегда положительный, например id:123456789). Копируем число в поле Chat ID.

В веб морде щелкаем на Save и Reboot. Если все сделали правильно, то в течении 15..20 секунд вам придет STATUS сообщение.

Со списком команд можно ознакомиться, послав боту команду /help@BOT_USERNAME (в нашем случае /help@Relay_01bot)

Бот немного задумчив, тк время между опросами 10 секунд. Если у вас безлимитный интернет смело меняйте на 5 секунд во квладке Settings -> Telegram Config — > Advance. На настройках по умолчанию, расход трафика около 3.25MB в день. В один групповой чат, можно добавить до 20 ботов реле.

Настоятельно рекомендую после каждой команды проверять себя запуская STATUS — /status@BOT_USERNAME (в нашем случае /status@Relay_01bot). И только после этого выполнять команды /save и /reboot.

Сильно не тестировал, но вроде все работает.


UDP: Где исходники? Их не будет. Есть только скомпилированные бинарники. Лицензия arduino (именно в ней написан проект) позволяет не открывать исходный код. То что я сам у себя своровал библиотеки HTU2xD_SHT2x_Si70xx и AHTxx принято к сведению и виновные будут наказаны.
Планирую купить +27 Добавить в избранное +63 +93
+
avatar
+2
Скажите, а фраза Hello world, она для кодеров мёдом помазана, или это какой-то мем, который понимают только люди глубоко погружённые в тему программирования?
+
avatar
+20
кому медом, кому майонезом. а вы с какой целью интересуетесь?
+
avatar
0
Да просто интересно стало. Уж больно часто встречается в различных гайдах, и примерах по программированию. Вот я и стригерил.
Думал может какой-то сакральный смысл имеет место быть.
+
avatar
+21
просто так исторический сложилось.
+
avatar
  • slv55
  • 06 мая 2022, 14:25
0
Это как пароль йцукен
+
avatar
  • x09
  • 07 мая 2022, 06:17
+1
В другой айтишной секте используется более длинные аналоги сакральной фразы — lorem ipsum dolor sit amet… и так дальше ещё абзац
+
avatar
-8
+
avatar
+5
Вероятно, чтоб точней ответить. Очевидно же.
+
avatar
  • MiG
  • 06 мая 2022, 07:41
+6
Эта фраза, так сказать, типа самого простого программного примера — т.е. например вывести эту фразу на тестируемый дисплей или передать эту фразу с помощью какого нибудь хитрого устройства. Hello world отработала? Можно приступать творить дальше. Ну а почему именно hello world, вот тут уж я не знаю, почему именно эта фраза. Может потому, что когда долго мучаешься при создании библиотеки на какой-нибудь хитро- новомодный дисплей, который долго упирается и не хочет никак работать, то при 100500 попытке его запустить он вдруг оживает и говорит всему миру — привет
+
avatar
  • SEM
  • 06 мая 2022, 08:12
+2
или это какой-то мем, который понимают только люди глубоко погружённые в тему программирования?
Мем, времён когда Windows на одной дискете помещался…
+
avatar
0
Я так в живую ни разу и не видел. Самое старое что трогал это Win 3.1x
+
avatar
+7
Думаю, что в то время это уже баяном было)
+
avatar
+5
Гораздо старше.
+
avatar
  • Horus
  • 06 мая 2022, 08:14
+1
Это как порты дума на все слегка умные устройства. Так сложилось исторически.
+
avatar
+1
Это как порт 666 в думе.
+
avatar
  • qwe11
  • 06 мая 2022, 13:17
0
Других портов в думе нет.
+
avatar
  • gugol
  • 06 мая 2022, 08:37
+10
Википедия говорит, что традиция использования фразы «Hello, world!» в качестве тестового сообщения была введена в книге «Язык программирования Си» Брайана Кернигана и Денниса Ритчи, опубликованной в 1978 году.
+
avatar
0
Однако всё довольно глубоко и уходит корнями в историю…
+
avatar
0
Скажите, а фраза Hello world, она для кодеров мёдом помазана, или это какой-то мем
Дань истории, и обычно фраза для проверки работоспособности какого-то функционала, что-то типа «foo bar»
+
avatar
+2
Давным давно, когда еще компьютеры были большими, практически все туторы по созданию и запуску вашей первой программы подразумевали вывод на консоль тестового текстового сообщения.
Это и была фраза «Hello world»
При моем более чем 30 летнем стаже в программировании, до сих пор первый запуск приложения написанном на новом языке на новой платформе сопровождаю выводом этого текста :)))
Basic-Fotran-Pascal-Asm-FoxPro-ActionScript2,3-JS-typeScript-Go-Php и т.д. :)
Привычка. Нет. Канон! :)
+
avatar
0
Проникся))
+
avatar
  • VLOD
  • 11 мая 2022, 13:33
0
А есть ещё из этой «серии» пароль qwerty, знают только посвещенные. :)
+
avatar
0
«Традиция использования фразы «Hello, world!» в качестве тестового сообщения была введена в книге «Язык программирования Си» Брайана Кернигана и Денниса Ритчи, опубликованной в 1978 году.»
+
avatar
  • dimats
  • 06 мая 2022, 07:47
+4
Жаль, что по прежнему только бинарь…
+
avatar
-8
+
avatar
  • SEM
  • 06 мая 2022, 08:14
+17
Если человек только начинает разбираться — такой исходник послужит учебным пособием.
Если разбирается хорошо — сможет подтвердить что в коде нет ничего «лишнего».
+
avatar
0
Если человек только начинает разбираться — такой исходник послужит учебным пособием.
Там этого добра пол github-a. Я тому пример, учился по нему. Так что мой код для этого не нужен.

Про лишнего, придётся поверить на слово.
+
avatar
+24
Я тому пример, учился по нему
Тоже по бинарникам, да? /*сарказм*/

Сколько у Вас заимствованного кода из чужих проектов? Сколько раз нарушена GPL и другие лицензии?

Я не вижу, на каких условиях Вы распространяете свой продукт. Где LICENSE?
Вы изучили вообще совместимость LGPL v2.1, MIT, GPLv3?
Хотя бы это изучали?


Это не LGPL. GPL v3 подразумевает, что софт, который использует библиотеку (код) GPL v3, будет распространяться под GPL v3, которая обязывает предоставлять пользователю исходный код. Вы выполнили требования лицензии?


(http://www.gnu.org/licenses/gpl-faq.ru.html#IfLibraryIsGPL)
+
avatar
-3
Тоже по бинарникам, да? /*сарказм*/
Я уже писал про это в прошлой теме. Выкладываю только библиотеки. Используя их, любой человеек может написать свое реле.

HTU2xD_SHT2x_Si70xx — это моя библиотека. ее (и прошлю версию) качают около 5..6 челвек в сутки в течении уже 7 лет. я иногда ради интереса ищю об ее упоминаии в инете и других проектах, но вот беда в ответ тишина. но на каждом углу я про это не кричу и к каждому скачавшему не пристаю. opensource такой opensource.
+
avatar
+5
HTU2xD_SHT2x_Si70xx — это моя библиотека.
Т. е. Вы сами выбрали для неё лицензию, которую сами же и нарушаете?
+
avatar
-3
да не работают ваши лицензии. я же писал — качают по 6..7 раз в сутки на протяжении 7 лет. ни один ничего никогда не выложил и не упомянул. воруют код и продают за свое. поэтому и перестал вкладывать готовые проекты, только библиотеки. дальше сами — хелп по arduino esp8266 доступен. я не програмист ниразу, но у меня же получилось и у вас получится. надо верить в себя.

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

ну и к вам вопрос ABATAPA. где ваши opensource посмотреть?
+
avatar
+3
Странно Вы пытаетесь «соскочить». Т. е. если у меня его нет, к примеру, то Вам можно нарушать GPL/LGPL?

Напомню про LGPL ( esp8266/Arduino is licensed under the GNU Lesser General Public License v2.1):
По существу, если это «работа, которая использует библиотеку», тогда должна быть возможность линковки программного обеспечения с новой версией продукта, лицензируемого под LGPL. Самый часто используемый метод это сделать — использовать «подходящий механизм разделяемых библиотек для линковки». В качестве альтернативы разрешена статическая линковка, если предоставлен исходный код или объектные файлы для линковки.[2]
(https://ru.wikipedia.org/wiki/GNU_Lesser_General_Public_License)
Выбранная же Вами лицензия GPLv3 накладывает ещё большие ограничения, которые Вы сами нарушаете в производном продукте.

тк воровать станет нечего
Т. е. Вы не воруете у других, а другие воруют у Вас? :)
+
avatar
+2
тысяча извинений. а теперь хотелось бы ваши opensource посмотреть. по моему опыту, тот кто больше всех кричит о нарушении лицензии сам никогда, ничего не выкладывает и только пользуется тем, что создали другие.
+
avatar
+3
Странный у Вас опыт. Вот я знаю водителя автобуса, он не выкладывает «ваши opensource», но он GPL и не нарушает (хотя и не знает, что это такое). Знаю врачей — удивительно, но и они не нарушают. И учителя — у них ни одного коммита и ни одного распространяемого программного продукта. А Вы вот нарушаете (хотя, похоже, тоже не знаете, что такое GPL). Какая связь?

ничего не выкладывает
Причём тут я? Что за детская попытка перевести стрелки? Я вообще могу не быть программистом. Как потребитель я как раз ничего не нарушаю. Если я «никогда, ничего не выкладываю» — я не распространяю ПО и не нарушаю лицензии этого ПО.

Как это связано с тем, что Вы, именно Вы нарушаете лицензии, в том числе — на свой собственный (якобы) продукт?
+
avatar
+1
я вас услышал и вопросов больше не имею.
+
avatar
+4
Соскочил, молодец. Позиция удава.
+
avatar
+3
ну о чем говорить? мы пошли на второй круг того же. моя позиция не изменилась.

выкладываю только библиотеки. этого достаточно чтобы написать похожий проект или даже лучше.

свой выложу как только кто-то напишет что-то похожее (с таким же функционалом, нормальной вебмордой и без детских болячек), а пока так.
+
avatar
+2
мы пошли на второй круг
Ну всё, вернулись на круги своя: Вы боитесь, что украдут у Вас, поэтому воруете у других.
Всё понятно. На git abuse. Тему закрыли.
+
avatar
+2
я у других не ворую — лицензия arduino (именно в ней написан проект) позволяет не открывать исходник.

а то что я своровал сам у себя, я переживу и виновных накажу.
+
avatar
+4
Написал «закрыли», но Вы вводите в заблуждение других.

Вы ошибаетесь.

лицензия arduino (именно в ней написан проект) позволяет не открывать исходник.
esp8266/Arduino is licensed under the GNU Lesser General Public License v2.1

Если бы Вы распространяли ПО, которое использует динамическую библиотеку (как .so в Linux или DLL в Windows) — это было бы возможно и допустимо для LGPL (но не для Вашей библиотеки под GPL v3). Но Вы распространяете бинарный код, где всё слинковано статически. Вы читали вообще тексты лицензий GPL, LGPL? Уверен, что нет.

а то что я своровал сам у себя, я переживу
Ну, если Вы сами себя не уважаете… Да и не только себя, как видно из написанного выше.
Но это как раз то самое — о совести. У кого-то она есть. А вот у некоторых — нет.
+
avatar
+4
но не для Вашей библиотеки под GPL v3
ключевое слово «Вашей». да HTU2xD_SHT2x_Si70xx и AHTxx — это мои библиотеки и согласно GPLv3 я их сам у себя украл.

как я уже писал выше — я сегодня же, решительно, себя за это накажу. надеюсь теперь претензий нет?
+
avatar
0
тоже зашел напомнить про свободный код.

но конкретно в этом случае, у автора все сделано грамотно.

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

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

возможно какие-то мелкие нюансы — типа неприложенного файлика license, но это не тянет на нарушения. так что всё ок.

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

но пока он там один ведет этот проектик под GPL, то повторюсь, всё ок.
+
avatar
+4
GPL-шный кусок судя по всему принадлежит целиком автору, и он как автор может использовать свой код как захочет. А на публику он тот кусок распространяет под GPL.
Нет, не может. Он сам выбрал лицензию, под которой он распространяет свой код. GPL v3 обязывает лицензировать под этой же лицензией любой код, в котором используется.
никаких обязательств по выкладыванию кода это не влечет.
У него статическая линковка, значит, в распространяемом коде есть GPL v3 и он обязан предоставить исходники.
Он сам же этого не делает.

LGPL тоже допускает использование в проприетарных продуктах только при внешней линковке.

Учите матчасть.
+
avatar
-2
ABATAPA, где ваши opensource посмотреть?
+
avatar
+6
Классический приём — не отвечай, переходи в нападение? Как связаны мой код и соблюдение Вами публичных лицензий? Мой где-то есть (а может, уже даже и нет, не всегда слежу за проектами, коммитами и форумами), но речь-то о Вас.
Вы сами нарушаете выбранную Вами же лицензию. А не выкладываете почему? Боитесь, что «украдут». Но сами поступаете так же. Рассчитываете в дальнейшем на монетизацию, да?
Собственно, всё ясно.
+
avatar
0
тысяча извинений. а теперь хотелось бы ваши opensource посмотреть. по моему опыту, тот кто больше всех кричит о нарушении лицензии сам никогда, ничего не выкладывает и только пользуется тем, что создали другие.
+
avatar
-1
У него статическая линковка, значит, в распространяемом коде есть GPL v3 и он обязан предоставить исходники.
Вроде как только если продает. Ну и предоставить не бесплатно насколько я помню.
+
avatar
+2
Вроде как только если продает
Если _распространяет_. Не важно — продаёт или нет.

предоставить не бесплатно насколько я помню
Вы бы хоть раз почитали… «По цене носителя информации». Но это писа́лось во времена дискет и CD. При распространении через Интернет, да ещё с бесплатной платформы — о чём может идти речь?
+
avatar
0
Я читал.
Насколько я понимаю автор не обязан предоставлять исходники именно через интернет.
Скажет что высылает исходники на CD значит на CD. Про цену носителя все верно.
+
avatar
  • SEM
  • 06 мая 2022, 14:58
+1
Скажет что высылает исходники на CD значит на CD. Про цену носителя все верно.
Т.е. можно заявить что исходники высылаются только отлитыми на золотых пластинах?
+
avatar
0
on a durable physical medium customarily used for software interchange
Думаю золотые пластины не подходят, а вот про какой-нить редкий носитель типа zip или iomega (кто-то еще помнит такое?) вопрос открытый.
+
avatar
+3
Скажет что высылает исходники на CD
>3. Лицензиат вправе воспроизводить и распространять экземпляры Программы или произведения, которое является производным от Программы, в соответствии с пунктом 2 настоящей Лицензии, в виде объектного кода или в исполняемой форме в соответствии с условиями п.п.1 и 2 настоящей Лицензии при соблюдении одного из перечисленных ниже условий:

>а) к экземпляру должен прилагаться соответствующий полный исходный текст в машиночитаемой форме, который должен распространяться в соответствии с условиями п.п. 1 и 2 настоящей Лицензии на носителе, обычно используемом для передачи программного обеспечения, либо
Экземпляры данного ПО распространяются единственным способом (через Интернет, а не, скажем, в составе готового продукта или на CD к другому продукту), следовательно, автор не может использовать другой, заведомо более дорогой способ.

Вот автор пишет о «воровать», но как он поступает сам?
Что мешало ему использовать только не-копилефт-компоненты? Он даже для своей библиотеки выбрал лицензию GPL, а не, к примеру, MIT! Почему? Не хотел, чтобы другие «безнаказанно» на этом зарабатывали — деньги или «славу»? И оправдания «ваши лицензии не работают» — это просто… Они потому и не (всегда) работают, что вот так относятся…

А вообще, это больше о чести и совести.
+
avatar
0
Экземпляры данного ПО распространяются единственным способом (через Интернет, а не, скажем, в составе готового продукта или на CD к другому продукту), следовательно, автор не может использовать другой, заведомо более дорогой способ.
Автор вправе выбрать как именно дать копию исходного кода. Хочет на носителе, хочет доступ к скачиванию.

А вообще, это больше о чести и совести.
В этом месте у разных людей разные мнения.
Стоит почитать адептов BSD лицензии, они от GPL обычно просто кипятком писают.
К слову, у меня лично мнение что все это изначально писалось для защиты от корпораций, потому что заставить автора-фицлицо открыть исходники практически нереально, на него просто нет рычагов в отличии от юрлица.
+
avatar
+1
Автор вправе выбрать как именно дать копию исходного кода. Хочет на носителе, хочет доступ к скачиванию.
Не вправе.

Стоит почитать адептов BSD лицензии, они от GPL обычно просто кипятком писают.
Пусть хоть уписаются. Это вопрос выбора, а не нарушения этих лицензий.
Кто-то и от УК «киятком писает», это что-то меняет в плане нарушений этого УК? Нет.
+
avatar
-2
Не вправе.
Вправе, согласно лицензии он обязан предоставить исходники. Или так или так.
Выбирает он.
+
avatar
+2
Нет. Прочитайте уже хоть раз полностью хотя бы перевод и комментарии/FAQ GNU/OSF.


(https://www.gnu.org/licenses/gpl-faq.html#AnonFTPAndSendSources)
+
avatar
0
Читайте первоисточники а не «пересказчиков».
Четко написано выполните или (1) или (2).
b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
+
avatar
+2
не «пересказчиков»
Это GNU/OSF Вы называете пересказчиками? :)
Смешно. Авторы лицензии GNU — пересказчики.

И да, читайте до конца:
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge.
+
avatar
+2
Сильно сомневаюсь что «авторы» GPL и лично Столман знают русский язык. Поэтому да, то что вы привели это на мой взгляд «пересказчики».
Если обсуждаем лицензию то давайте уж тогда обсуждать оригинальный текст.
Я правда не вижу какой в этом смысл и что именно мы собираемся обсудить. А главное на что повлияет это обсуждение.
+
avatar
+4
Сильно сомневаюсь что «авторы» GNU и лично Столман знают русский язык.
GNU — это не только (и не столько) Столлман, это десятки тысяч других людей.
Текст GPL, FAQ и других материалов переведён и на русский язык в том числе.
Кроме того, я привёл фрагмент оригинального текста лицензии.

Я правда не вижу какой в этом смысл и что именно мы собираемся обсудить.
Я ничего не собираюсь с Вами обсуждать. Я указываю на Ваши ошибки.
+
avatar
-2
Кроме того, я привёл фрагмент оригинального текста лицензии.
Оригинальный текст написан на языке отличном от русского.
Я ничего не собираюсь с Вами обсуждать. Я указываю на Ваши ошибки.
Вы только высказали свое мнение. Я свое.
Чье из мнений ошибочное а чье нет может решить только суд. А потом может поменять его на противоположное.
+
avatar
+3
Оригинальный текст написан на языке отличном от русского.
Вы цитаты на английском языке принципиально не видите?
+
avatar
-1
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
Там же выше четко написано.
Одним из. А не каждым из описанных. Вот и выбирает автор пункт (b) и не обязан выбирать желаемый вами пункт (d).
+
avatar
  • SEM
  • 06 мая 2022, 10:17
+9
Про лишнего, придётся поверить на слово.
Выставлять голой опой в Интернет устройство управления чем-то в доме без гарантий отсутствия «лишнего»?
+
avatar
+1
Выставлять голой опой в Интернет устройство управления чем-то в доме без гарантий отсутствия «лишнего»?
ваше право. я никого не заставляю.
+
avatar
  • SEM
  • 06 мая 2022, 14:34
+1
Ваше право. Я не настаиваю.
Хорошо что подробную инструкцию по добавлению телеграмм-бота опубликовали «исходником», а не бинарником.
+
avatar
0
Хорошо что подробную инструкцию по добавлению телеграмм-бота опубликовали «исходником», а не бинарником.
теоретический он бинарный тк вы читаете инструкцию с монитора компьютера. зануда мод off.
+
avatar
  • dimats
  • 06 мая 2022, 09:12
+5
Или еще можно разбираться средне, и хотеть чтото добавить, изменить,
но не уметь написать такой проект самостоятельно с нуля.
+
avatar
+5
Не согласен ни разу.
Если что-то хочется поправить в функционале или проверить как оно написано, нужен исходник.
А писать такое же — тратить тучу времени. А время зачастую дорогой ресурс.

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

Но это меняет слабо результат. Я готов принять бинарник от wifi-iot или подобного билдера прошивок. Благо там есть возможность сделать телегам-бота, а прошивка стоит около 100 рублей.
А ставить закрытую прошивку, в которой ничего не могу поменять, ошибки вероятно не правятся и тд — я бы не стал.
+
avatar
+2
Если что-то хочется поправить в функционале или проверить как оно написано
вы мне скажите сколько раз вы открывали исходники Tasmota и правали\меняли их? я почему спрашиваю. в Tasmota так все пееплетено, что проще написать свое, чем резбираться. в моем прокте похожая сложность взаимосвязей, но его писал я под себя и легко в нем ориентируюсь.

Я готов принять бинарник от wifi-iot или подобного билдера прошивок. Благо там есть возможность сделать телегам-бота, а прошивка стоит около 100 рублей.
какая то у вас странная логика. по вашему мне нужно было брать 100р и тогда норм?
+
avatar
+5
То, что код написан для себя и Вы не собираетесь тратить свое время на приведение в порядок кода — нормальный аргумент.

И нет, Вам не нужно брать 100 рублей. Разница вашего кода с wifi-iot в том, что там есть: комьюнити, возможность перебилдить решение и прошить по воздуху.

Думаю, что если бы Вы просто написали, что исходник давать не хотите (причина выше), но есть такие-то решения, в которых можно сделать аналогичное — со ссылками на ресурсы, пара ссылок на github с похожими проектами, Вы бы получили более позитивные комментарии. Вот и все )
+
avatar
+2
Вы не собираетесь тратить свое время на приведение в порядок кода
я этого не говорил. это вы додумали. на самом деле код постоянно причесываю, по мере изучения С и С++.
+
avatar
  • tklim
  • 06 мая 2022, 18:18
+1
вы мне скажите сколько раз вы открывали исходники Tasmota и правали\меняли их?
Вообще не было проблем. Все довольно просто и понятно. Добавил пару датчиков, исправил что надо.
Явно быстрее чем свое заново делать.
Тот же домотикз, в общем и целом меня устраивает, но есть то что не нравится — поменял и ок.
Любой другой некоммерческий «продукт», сделанный для себя, но без исходников мало полезен остальным людям, к сожалению.
+
avatar
+1
Добавил пару датчиков, исправил что надо.
Явно быстрее чем свое заново делать.
а я вот не разобрался. вы надеюсь закомитили исправления?
+
avatar
  • tklim
  • 07 мая 2022, 00:27
+2
Нет конечно. «Исправления» — это не про ошибки, а чтоб работало для меня удобнее. В этом смысл опенсорца.
Пулл-реквесты на добавление датчиков — там уже сильно много «бюрократии». Там надо сильно вложиться. Я не имею стол ко времени.
А «подровнять» под себя — легко и просто
+
avatar
0
Пулл-реквесты на добавление датчиков — там уже сильно много «бюрократии».
opensource такой opensource.
+
avatar
+2
Ищем идентификатор группового чата (он всегда отрицательный, например id:-12345678901234).
Угу, а позже, после добавления скажем 5-ти участников в такую группу, она внезапно преобразуется в супергруппу и меняет номер. А вы испытываете некоторое чувство удивления.
+
avatar
0
ха, не знал. спасибо. кстати про это нигде вроде не написанно, хотя когда писал бота, плотно изучал официальный API.
+
avatar
+2
Я может немного утрировал.
Но когда я писал бота отсылающего снимки с камеры в телеграм то очень быстро наступил на этот момент, как и на различные ограничения по числу посланий и комбинации типов документов в сообщении.
Немного про супергруппы есть тут

Я находил в итоге где то в официальной документации. Но уже не вспомню где.
+
avatar
0
спасибо
+
avatar
0
кстати вопрос? я так и не понял зачем вес это зоопарк с name и username? зачем два?
+
avatar
0
Уточните пожалуста о чем именно вопрос?
+
avatar
0
при создании бота ему присваевается и name и username (причем username обязательно с bot или _bot на конце). потом name реально используется один раз. зачем оно?
+
avatar
0
Как я понимаю Username это больше типа id, оно уникально. По нему можно однозначно определить пользователя или бота.
Name это то как его имя будет отображаться в чатах оно по идее не уникальное, типа многих могут звать Алексеями.
+
avatar
0
чета не сходится. например можно выбрать

name: Алексей

username: Алексей_bot

и таких как Алексей назавших своих ботов Алексей/Алексей_bot (по закону вероятности) точно больше одного.

имхо главную роль в уникальности играют id чатов (юзеров)
+
avatar
+2
и таких как Алексей назавших своих ботов Алексей/Алексей_bot (по закону вероятности) точно больше одного.
Мне такого не удалось. Сообщало что такое имя уже занято.
Поэтому юзернэймы у ботов были разные и достаточно причудливые, а вот нэймы вполне человеческие.

Вот например разница нэймов и юзернэймов
+
avatar
0
понял. спасибо. так глубоко не копал. теперь пазл сложился.
+
avatar
0
Ну и припав таки к первоисточникам можно прочесть
Про уникальность username я оказался не прав.
Creating a new bot

Use the /newbot command to create a new bot. The BotFather will ask you for a name and username, then generate an authentication token for your new bot.

The name of your bot is displayed in contact details and elsewhere.

The Username is a short name, to be used in mentions and t.me links. Usernames are 5-32 characters long and are case insensitive, but may only include Latin characters, numbers, and underscores. Your bot's username must end in 'bot', e.g. 'tetris_bot' or 'TetrisBot'.
+
avatar
0
это я читал, но видно не понял — мозг то у меня не IT-шный и тонкости между name/username не заметил.
+
avatar
0
Уважаемый автор! В первой части обзора, как впрочем и на Гитхабе, приведена принципиальная схема для устройства на ESP-01. И компоненты, обведенные красными кружочками, должны препятствовать ложным срабатываниям реле в момент перезагрузки ESP. Но у меня что-то не получается это мысленно представить.
+
avatar
0
Но у меня что-то не получается это мысленно представить.
подробнее, что конкретно не устраивает, не получается?
+
avatar
+1
Вывод GPIO0 подтянут к питанию, конденсатор 220мкф полностью заряжен до напряжения питания. Даже кратковременный 0 на GPIO0 приведет к разряду конденсатора через диод оптопары и срабатывание ключа. Ток, кстати, ограничен лишь сопротивлением порта и может запросто превысить допустимые 6ма. Так понятнее?
+
avatar
0
надо разбираться. у меня эффект от 680ohm\200uF однозначно есть

те вот мгновенно все 220uF рассосутся через диод на землю gpio?

680ohm это я еще увеличил, стояло 470ohm — оптопара дольше проживет.
+
avatar
0
у меня эффект от 680ohm\200uF однозначно есть
значит схема другая.
вот мгновенно все 220uF рассосутся через диод на землю gpio?
почему нет? С 3.3 вольта разрядится до 0.8 через сколько? 5-10 ом?
+
avatar
0
вольта разрядится до 0.8 через сколько? 5-10 ом?
разряжать да, а вот заряжать будет медленно. именно это и нужно тк при загрузке esp8266 выдает почти на всех gpio абы что. подробности тут.
+
avatar
  • Lisen
  • 06 мая 2022, 20:30
0


Подскажите, должна ли выполняться команда включения реле?
+
avatar
0
потому что аргумент надо после команды а не до

/set_output@Lisenbot on

/set_output@Lisenbot off

так же обратите внимание, что поле этой команды реле автоматический перейдет manual mode и в нем останется!!! даже если до этого стояли time, temperature или humidity.

вернуть обратно можно командой

/set_mode@Lisenbot humidity


после каждой команды проверяем «а чо мы там накомандовали?» запуская

/status@Lisenbot

он вам все раскажет
+
avatar
0
Уважаемый автор, не могли бы Вы сообщить, какой библиотекой для телеграмбота, и каким ядром ESP пользуетесь?
+
avatar
0
все библиотеки для телеграмбота оказались слишком тяжелыми для моих задач. ну и бонусом к мотивации было давнее желание разобраться с https, BearSSL и сертификатами. написал простенькую свою, читая это. получилось всего 6 функций.

если вам надо из коробки, то все советуют shurillu/CTBot как самую стабильную и малопотребляющую ресурсов.

вся информация по ядру и не только есть во вкладке ESP8266 Info. сейчас у меня задача оптмизировать парсер комад для телеграмбота, тк свободного stack всего 0.7КБ...0.8КБ. например в моем проекте часов всегда свободно 2КБ stack memory.

+
avatar
  • EEhd
  • 08 мая 2022, 03:37
0
xTaskCreate(&twaiCtrlTask, «twaiCtrlTask», 1024 * 6, NULL, 5, NULL);
----------------------------------------------------------^^^^^^^^
Тут делаете столько кучи сколько нужно.
+
avatar
0
У меня тяжёлый случай — пишу на ардуино и не спрашивайте почему. так исторический сложилось 10 лет тому назад. Поэтому так просто кучу не поменять (или я не знаю как).

К тому же с кучей все ок — свободно 15кб, и фрагметация 7%..8%.

Проблема со стеком из 4кб осталось 0.7кб. Это я ещё подправил, на первых версиях было 0.5кб и не хватало — реле могло иногда легко перегрузиться на тяжёлых командах типа выдать список всех команд в телеграмм бот (там список + описание команд получается под 1кб) а ещё его надо в json засунуть и тд. и тп.
+
avatar
0
Вот и я всплакнул. Бота хотелось. Пришлось с ide 2.4.2 переползти хотя бы на 2.7.4.
И бинарник на всех проектах, и это без бота, перестал влезать в 8285, ибо теперь на 20% больше, чем на 2.4.2.
3.0.2 вааще красава!
Скетч использует 491505 байт (55%) памяти устройства.
То есть теперь полоумную розетку по web не обновить!
+
avatar
0
Переходите на esp8266 с 4мб флеш. У меня сейчас скетч чуть больше 512кб и по воздуху обновляется нормально
+
avatar
0
Легко! Берём блитцвольфа, вынимаем 8285, вставляем 8266, и живём долго и счастливо.
+
avatar
0
Вот поэтому готовые розетки я сразу отмел тк 8285 с его 1мб флеш очень мало на вебморду, скетч и OTA. Даже если вы будете писать на IDF 4.0
+
avatar
-1
Мне хватает...
Дополнительная информация
+
avatar
0
извините, но вот такой вырвиглаз, как на второй картинке, я за вебморду не считаю. это просто какой-то позор.
+
avatar
0
Покажите, если не трудно, свой вариант вэбморды в виде скриншота со смарта.
+
avatar
0
пожалуста


+
avatar
0
Вы первый, кто обозвал главную страницу «позором». Всем пользователям вполне хватает кнопок для повседневного управления устройством. Настройки подключения вафли, сервера, логины и пароли чуть глубже. А всякая пипец как нужная шняга типа скорости квадратной шины и фрагментации памяти им не нужна.
+
avatar
0
во чтоб у вас все бытовые утроиства (тв, телефоны и тд) с такими меню были как у вас.

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



эта почему-то не прикрепляется, поэтому ссылка на анимированный gif и ч.1
art.mysku-st.ru/uploads/arts/03/41/75/2021/12/01/6103ea.gif
+
avatar
0
Ну как бы телевизор, телефон, и тд, устройства несколько другого уровня, нежели таймер для чайника. Его задача — вовремя вскипятить воду. Для чего конечному пользователю знать номер пинов процессора и настраивать гистерезис влажности? Юзер просто запускает приложение на смарте, выбирает время включения и режим работы вкл-выкл-таймер. Вэбморда нужна при первом запуске и для обновления прошивки. Ну и возможность управления из неё есть. Почему позор? Потому что не так наворочена, как Ваша? Ну так нет необходимости.
Дополнительная информация
+
avatar
0
Ну как бы телевизор, телефон, и тд, устройства несколько другого уровня, нежели таймер для чайника.
да, да. именно с этого вcе и начинается, а потом все удивляюся почему у нас автомобиль нормальный сделать не могут.

потому что это другое… и нет необходимости.

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

может просто надо начать с себя и глядишь ваши дети вывастут другими. может станут инженерами и спроектируют нормальный автомобиль. а пока они копируют вас у них тоже будет все такое вырвиглазное — от осинки не родятся апельсинки.
+
avatar
0
Хорошо, я Вас понял. Кратенько Ваша позиция выглядит так: «Все, что делаю я, есть самое лучшее и самое правильное. Все остальное хлам и позор, не имеющее право на жизнь, а их авторы — недалекие тупые полулюди с кривыми руками, убогим кругозором, и полным отсутствием вкуса. А их детям лучше вообще не рождаться, ибо они будут делать еще более убогий хлам.» Ваше мнение — это Ваше мнение, спорить не собираюсь. Вы лучше набросайте эскизик, как должен выглядеть вэбинтерфейс утюга? Покажу домохозяйкам. Посмотрим, как оценят.
+
avatar
0
Это вы все сами додумалии, я такого не говорил. Свой проект самым лучшим не считаю и оправдываться мне перед вами не за что. Рисовать тоже не собираюсь, тк вы уже взрослый сложившийся человек и вот этот вырвиглаз из вас уже не выйдет. Вся надежда на новое не испорченное поколение.

Я ещё раз повторю, то что у вас не получается лучше — это нормально тк выше головы не прыгнуть. Не нормально то, что вы не видите что это полная шляпа и еще нас пытаетесь убедить убедить в этом.

Вы вот себе ответь честно, если в магазине вы увидите две умные розетки, но одна с интерфейсом как у вас, а вторая как у меня вы какую купите, при условии что цена одинаковая?
+
avatar
0
Покупать? Издеваетесь?
Дополнительная информация
ссылка
+
avatar
0
Да, такое даже бесплатно не надо.
+
avatar
0
Ну моё то реле хотя бы в корпусе, и стоит в гараже не смущая ничьё непомерное эго.
Ладно, расслабьтесь. Покупать я буду естественно то, что будет удобно в обращении. Что нибудь типа этого:
Дополнительная информация




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


И сделаю удобный интерфейс без лишних наворотов.
Дополнительная информация

+
avatar
0
тысяча извинений!!!
+
avatar
0
Уходите с Arduino.
+
avatar
0
Я пытался, но после того как разворачивание Espressif ESP32 toolchain под Eclipse в Windows у меня заняло 2 часа!!! гугления и граблей я понял, что не готов. К тому же ничего, кроме стандартных примеров типа blink, мне на эклипсе не удалось запустить.

Arduino я разворачиваю за 1 минуту и все сразу работает с кучей примеров на все случаи жизни.
+
avatar
0
Скажите куда, и я попробую.
+
avatar
0
PlatformIO хотя бы.
+
avatar
0
«Снова в школу»! И что, реально «легче» программы получаются?