Ви не увійшли.
Очень интересно, файловая система в ESP из под arduino IDE, попробовал работает .
Ссылка http://esp8266-arduinoide.ru/fswebserver/
4Вт , нічого собі
...Сусіди мабуть у захваті...
Тыц. Функция serialEvent() не работает на ESP8266 в Arduino IDE, капец .
Врахуйте що збільшення діаметру приведе до зменшеня опору соленоїда, а значить збільшеня струму. Таким чином істина десь посередині .
Хоча мені не зрозуміло навіщо Вам це потрібно, ( коли існують бузери по 10 грн.) попробую пояснити як це можна зробити. Перш за все потрібно вияснити як механізм буде працювати при постійному струмі, скоріше всього молоточок буде бити по одній тарілці ( тобто одна обмотка взагалі не потрібна). Дальше, підберіть дослідним шляхом напругу (постійного струму) при якій Вас буде влаштовувати "сила удару". Заміряйте струм при цій напрузі (для для подальшої уяви що Вас чекає). Оскільки енергія магнітного поля прямо пропорцільна індуктивності помноженій на квадрат струму, а індуктивність соленоїда прямо пропорціональна квадрату кількості витків то маємо що відношення кількості витків соленоїда обернено пропорційна відношеню струмів, а значить і напруг. Тобто поділіть підібрану напругу на 5В у стільки ж разів зменьшіть кількість витків але очікуйте зростання струму в стільки ж разів, а значить можливо прийдеться перераховувати діаметер проводу, при цьому необхідно враховувати питомий опір і т.д. Тому я Вам і написав: "Прикиньте (померите ток) мощность. И сделайте вывод big_smile". Тому ще раз подумайте а чи варта гра свічок...Можливо задача рішається простіше .
Прикиньте (померите ток) мощность. И сделайте вывод . Почему то мне кажется от затеи с 5В Вы очень быстро откажетесь (если это тот звонок который я себе представил
). И напоследок, Вас не смущает что механизм звонка рассчитан на переменный ток а Вы хотите запитать 5В (постоянки?)
??? Не ищите сложных путей: два провода 220В к звонку реле на 5в, диод, транзистор, сопротивление и будет Вам счастье...
.
Хотел предложить Вам для установления истины отключить интернет, но потом меня смутило слово token, подумал чем черт не шутит, может действительно они создали подобное token bus. Я бы не сказал что это сильное ограничение (сервер), смотря какие задачи устройство должно решать. Понятно что "универсальное" устройство не может априори быть "идеальным". От кухонного комбайна нельзя ожидать полноценной мясорубки . Хотя Token сеть можно реализовать и по всей видимости команда Blynk ее рано или поздно реализует (имхо). Поскольку несомненно есть плюсы в такой сети (как впрочем и серверном варианте). Другой вопрос как такую сеть сделать "внешней". По всей видимости будет просто два варианта (имхо) либо сервер либо "token bus".
В принципе перебор ip в сети и поиск возможен. Надо поковырять библиотеку. По поводу заливки скетча в ESP, то заливается аналогично прошивке, то есть ногу gpio0 перед записью нужно притянуть к GND. Я делаю следующим образом, перед включением ESP соединяю gpio0 и GND, включаю питание и через секунды 2-3 отключаю gpio0 от земли, таким образом в ESP запускается boot, дальше жму записать в Arduino IDE.
Вот нашел http://docs.blynk.cc/ . И так имеем три главных компонента 1. Blynk App, 2. Blynk server, 3. Blynk Libraries . То есть то о чем я подозревал, что без сервера никак...
Я еще не игрался с Blynk. Опять же, "интуиция мне подсказывает" что то в Вашей фразе: "*По поводу облачного сервера - в блинке он нужен только, если вы хотите получить доступ с внешней сети интернет, так сказать shared access" что то не так. Посмотрев скетчи примеров я не нахожу ответов на простые вопросы: каким образом приложение на телефоне знает ip адрес ESP? (если сервер здесь не при делах), зачем авторизацию отправлять по почте и зачем она нужна?(опять же если сервер здесь не при делах), а если устройств ESP больше одного? . Когда впервые мне попалась эта статья у меня лично сложилось мнение что это как раз пример IoT (только со своим каким то протоколом), то есть задействован сервер. Пока я досконально не изучал Blynk, и если я не прав, объясните как Вы видите взаимодействие "приложение в телефоне"<--> ESP.
Solaris. Почему то интуиция подсказывает что проблема не в железе. Возникает вопрос, а Вы уверены что ESP подключается к роутеру? Вы используете облачный сервер Blynk? С блинком не баловался, попробую ради интереса когда будет время . Как раз у меня есть еще одна свободная esp8266- 01 ( остальные уже пристроил
).
Все въехал...По "арабски" я понял . В первой функции только только один спецификатор
!, тот который с одним %. Полвека живи а все равно учись...
decimals =2 будет подготовлена в
pattern такая строка = %d.%02d, это просто строка
при
whole = 37
decimal = 45
os_sprintf(buf, pattern, whole, decimal);
os_sprintf(buf, "%d.%02d", whole, decimal);
buf = 37.45я тоже не использую printf, но логика именно такая pattern - динамическая строка в зависимости от данных после запятой
Спасибо. Вроде теперь понятно, оказывается что объяснение:
"Строка форматирования состоит из элементов двух типов. К элементам первого типа относятся символы, которые выводятся на экран. Элементы второго типа содержат спецификации формата, определяющие способ отображения аргументов. Спецификация формата начинается символом процента, за которым следует код формата. Количество аргументов должно в точности совпадать с количеством спецификаций формата, причем соответствие устанавливается в порядке их следования. Например, при вызове следующей функции printf() на экране будет отображено
"Нi c 10 there!"
printf("Hi %c %d %s", 'c', 10, "there!");
"
Фраза : "... причем соответствие устанавливается в порядке их следования."
Ввела меня в заблуждение, отсюда мое "%2.%0 , то есть в действительности получается порядок заполнения "арабский" . И отсюда непонимание %dd. А я искал в инете что за модификатор такой d к спецификатору d, капец
. Еще раз спасибо.
%d.%05d думаю так, он сначала создал строку pattern, по которой и выведет whole и decimal
Алгоритм простой. И его рассматривать не будем. И так, мои мысля такая имеем к примеру float t=37.456.
посылаем (37.456, 2) имеем:
whole = 37
decimals =2
decimal = 45
А вот дальше интересно, что в :
pattern = " %2.%0 и какая то хрень %dd", и как быть с несоответствием количества спецификаций и аргументов? .
дальше по идее (Вашей) whole и decimal в следующем вызове функции залезет в %dd ( а что это такое? ).
Может это и ламерский вопрос, но раньше не было необходимости в изучении функций форматного вывода, вот и ступор.
Но оно зараза таки работает, выводит правильно.
Путем анализа первоначального кода ( тип char* buf[] в Arduino IDE совсем не то что имел в виду автор), проблему с функцией записи в буфер float решил. Модифицированный пример решения с http://bbs.espressif.com/viewtopic.php?t=246 работает, но не понятна еще одна вещь в коде автора:
static char* ftoa(float num, uint8_t decimals) {
// float to string; no float support in esp8266 sdk printf
// warning: limited to 15 chars & non-reentrant
// e.g., dont use more than once per os_printf call
static char* buf[16]; заменил на char buf []
int whole = num;
int decimal = (num - whole) * power(10, decimals);
if (decimal < 0) {
// get rid of sign on decimal portion
decimal -= 2 * decimal;
}
char* pattern[10]; // setup printf pattern for decimal portion аналогично...
os_sprintf(pattern, "%%d.%%0%dd", decimals); а вот это %dd... никогда не встречал модификатор d к спецификатору d или я не врубаюсь вообще?
os_sprintf(buf, pattern, whole, decimal);
return (char *)buf;
}
Кто может ткнуть носом? Хотелось бы разобраться...
Теперь Arduina через Serial шлет данные (и получает) в ESP где работает MQTT клиент, почти удовлетворен .
Кстати, обнаружил DS18B20 врет на 0.5 градуса .
Nefreemen пише:Кстати слово "зробив" значит сделал а не слепил. И в свои 53 года я многое чего сделал...В том числе двоих таких же заносчивых пацанов
.
Фу, разве так можно говорить на форуме, который посещают дети? И Вам не стыдно меряться пиписькой с детьми, тем более что Вам она уже и не к чему...? Форум же создан для ВЗАИМОПОМОЩИ. Вы тут почти в каждой теме развели унылое болото.
Извиняюсь за офтоп. Дети по телевизору слышат намного больше, в школе на уроках изучают по литературе такое... Что мои слова невинный шелест. И представьте, волны из этого никто не делает. Не я начал рассуждать о способностях участников ( леплю я или делаю ). А я так понял что Вам с Израиля очень хорошо видно что мне "к чему...?", может тогда подскажете где лежит у меня пакетик с MOC3063, третий день найти не могу... . По поводу болота извините, у каждого "адепта секты" свое...
Jeyson, то что для Вас родной язык - английский, думаю очевидно всем . Может Вы в туалете что то и "диржите" а я держу. Форумы созданы для ВЗАИМОПОМОЩИ и это не линейка для меры "пиписок". Хотите помочь - посоветуйте, раздражает вопрос не пишите. Извиняюсь у всех за офтоп.
Нашел я и у себя такую платку (забыл что она у меня есть ) рассмотрел...Если вообще молчит и не "моргает" (вероятней всего что нет питания), то проверь рядом с чипом CH340 диодик у меня он обозначен как S4( похоже что это защита от "дурака"- переплюсовки), маловероятно но заодно проверь стабилизатор 1117. Посмотри (через лупу) качество пайки разъема USB. Собсв. гореть там больше нечему, Atmel по питанию у меня никогда не вылетал, а пришлось поработать практически со всеми 8 разрядными контроллерами. Так что надейся. Как сейчас помню, впервые в руки взял АТ8535 в 98 году, пиратскую FUN карту на НТВ+ делал, эх было время
.
Да, просмотрел бегло SDK давненько, хотя и впечатляет, но меня "не вдохновило", в отличие от Вас . Ситуация как Линуксом и окнами (каждому свое). Не спорю ничего сложного, но увы, не любитель много стучать по клаве и держать в голове уйму форматов. По поводу целого с фиксированной точкой, еще вчера пробовал %е, аналогично с %f, вообще вещественные не проходят. По ссылке выше "решения" - разбить на целое а дробную часть преобразовать в целое и записать соответственно в буфер - в Arduino IDE не проходит его пример дает ошибку - char** to char*
, компиляторы то разные
.Блин, придется копаться в каком формате это вещественное пишется в буфер, и лепить этот буфер самому
.
Ну опять, и тут Jeyson, ВЕЛИКИЙ. Если "тошнит" и не хотите подсказать, уйдите и общайтесь с себе подобными. Если ВАМ в лом подсказать человеку, что компилятор не видит библу, и решить проблему просто- взять и забросить ее в директорию со скетчем. Тогда не брызгайте здесь нравоучениями "учи английский". Кстати неизвестно кто здесь "сорит". И не все здесь такие вундеркинды как ВЫ.
Jeyson, c Due не работал. А разве о Due речь? Уважаемый, по поводу: "... И на тему собрал, не путай скопировал скетчи и слепил в кучу с собрал скетч с нуля." Откуда у Вас такие "глубокомысленные" умозаключения? По себе судите? Или ,ВАМ, все остальные уже ниже плинтуса...Потому что Вы уже больше месяца перестали копипастить ? Кстати слово "зробив" значит сделал а не слепил. И в свои 53 года я многое чего сделал...В том числе двоих таких же заносчивых пацанов
.
А вообще то думать надо. Вот простой пример. Видел не один раз. Берет человек мобилку в руки, подключает зарядное, потом вертит головой куда "воткнуть" (ищет розетку), "втыкает". После таких действий часто что делает? Правильно, ищет мастерскую. Почему? А просто не читал инструкцию к мобилке а только посмотрел картинки где "дырочки" и какие они. А причина банально простая, в очень многих "зарядках из китая" в момент включения на выходе может быть что угодно. (это так лирическое отступление).
По поводу Arduino nano. Скажите у Вас nano на Amega 328 и с CH340? Если это так - то проверьте есть ли в системе неопознанное устройство (может слетели дрова) , проверьте на другом компе, если сможете поменяйте CH340 или найдите кто поменяет (чип не дорогой), выбросьте . (без обид, ок).
Прошу vk в топик по ESP8266.
Но вкратце отвечу.
1. Открытое ПО (смотря для чего) есть. Для MQTT есть (у меня работает на роутере).
2. Охр. система 100% согласен. "Три проводка" неизвестных и капец. Поэтому каким боком
ненадежность WiFi (или ESP8266), если неизвестно есть ли она в системе (можно спрятать SSID), а если и есть то для чего .
3. О потере сигнала. Любой радиоканал теряет информацию (априори) и провел (коснулся) рукой здесь не причем,
(даже и если причем то что?). WiFi не исключение, надежность (целостность) передачи цифр. информации обеспечивается
алгоритмами,протоколами на уровне железа и софта, если интересно почитайте о стандарте IEEE802.11.
Капец, точно. http://bbs.espressif.com/viewtopic.php?f=7&t=44. Так что, NoName, если что, не наступай на эти грабли, как оказалось это не катит и на уровне SDK функций. У меня вообще тоска, как обойти это в mqtt... Попробую это http://bbs.espressif.com/viewtopic.php?t=246 может прокатит.
Так глубоко не копал. Наверное работать на уровне SDK это круто, но не "дорос", по старинке в Arduino IDE . Вот хожу вторые сутки по граблям в библиотеке PubSubClient и все без толку. Может кто подскажет почему наотрез отказывается работать функция int snprintf(char *restrict buf, size_t num, const char *restrict format, ...) или подобная sprinf() ; они же из "базовых" Си. С форматом %d работает, а подсунуть %f float никак
. Чувствует моя задница что в ESP8266 c float вообще траблы. Где то что то вроде мелькала инфа по этому поводу ( не могу вспомнить ).