глючит связь с сервером
- Войдите на сайт для отправки комментариев
Сб, 16/11/2019 - 21:19
Ардуино МЕГА+ Ethernet Shield + DHT11. Отправляет температуру гетом на сервер. Глючит - перестает записывать данные в БД. Нажимаешь RESET все снова работает, то час, то день.. Что может быть причиной? Куда смотреть? Что искать?
Cкорее всего виснет ваша мега. Добавте в код Serial.print в разные места и подключите к ПК. А потом смотрите после чего зависла.
не похоже. Светодиоды на плате шилда исправно мигают.
Cкорее всего виснет ваша мега. Добавте в код Serial.print в разные места и подключите к ПК. А потом смотрите после чего зависла.
Да и потом, остановка записи показаний порой происходит после нескольких дней)))
Вроде ж такая тема уже была. И тоже без кода. Ну, а без кода: виснет и виснет, ХЗ почему.
Нормальный совет из #1 - взять и посмотреть где виснет Вы игнорируете, разбирайтесь сами.
не похоже. Светодиоды на плате шилда исправно мигают.
Вы пришли сюда за советом или поспорить?
Вроде ж такая тема уже была. И тоже без кода. Ну, а без кода: виснет и виснет, ХЗ почему.
Нормальный совет из #1 - взять и посмотреть где виснет Вы игнорируете, разбирайтесь сами.
Поскольку пришел за советом, а не поспорить, то код конечно не проблема, все собрано из библиотечных функций, не думаю просто, что от кода зависит. Вис бы как-то регулярно, или по времени работы, то да, может быть, а тут то неделю работает, то пару часов((( но если без него никак - с радостью выложу.
Совет №1 не очень, т.к. ардуино в теплице, питается от своего БП через USB порт. Если подключать ноут, то питание будет уже от него. Да и нет возможности оставить рабочий ноут на неделю в теплице)))
Думал контакты- так если ресет нажимаешь, то связь восстанавливается, Если бы были плохие контакты, то так не должно быть, надо механически кабель передернуть, или я не прав?
Ну если вы думаете, что это не код и не желаете сами заниматься отладкой - то непонятно, на что вы рассчитывали, обращаясь на форум?
Думали, что кто сразу даст вам точный ответ - "выключи вот этот контакт " и все заработает?
Конечно! Так и думал)))
1) sprintf() -> snprintf()
2) Сокет кто закрывать будет?
3) byte dsAddresses[DS_SENSORS_QUANTITY][5] => float dsGetTemperature(byte address[8]) ???
А ничего, что OneWire::search ожидает восемь байтов, а Вы в строке №14 (второй части кода) подсовываете её только пять? У неё там прямо такая строчка есть:
Она радостно распахивает память, а результатом распашки памяти как раз и являются необъяснимые зависания.
Добрый день. Большое спасибо sadman41 #9 и ЕвгенийП #10 за помощь. Даже и не знаю как вместо 8 вставил 5! Другие тоже поправил, залил. Пока работает)))
С тех пок, как появились денежные знаки, слово СПАСИБО утратило своё первоначальное значение.
опубликовал код, задал вопрос Форуму, тебе помогли?
коль скоро платить не можешь, или не желаешь...
опубликуй тот код , который работает, благодаря помощи форума!
Даже и не знаю как вместо 8 вставил 5!
Впредь публикуйте код, а не отбрыкивайтесь как в этой теме.
С тех пок, как появились денежные знаки, слово СПАСИБО утратило своё первоначальное значение.
опубликовал код, задал вопрос Форуму, тебе помогли?
коль скоро платить не можешь, или не желаешь...
опубликуй тот код , который работает, благодаря помощи форума!
Да, я благодарен форумчанам, которые помогли мне разобраться в этом деле. Код на сегодняшний день такой:
Дык цена))) Я купил за 100 рублей подержанный. И потом я не знаю, что прошлый БП в роутере изжарил. Роутер то остался, будет время посмотрю, может и рабочий.
мой роутер уже 4-й по счету БП донашивает
Аналагичненька. Тока у меня третий. :)
Т.е. Вы считаете, что роутер был виноват в том, что Вы пять байтов вместо восьми пихали? А теперь и с пятью работает? Супер! :-)
Да, я считаю, что роутер был виноват в том, что связь с сервером эпизодически пропадала. Вот про 5 и 8 не скажу. И та и другая прошивки после замены роутера аккуратно заносили температуру в БД. Сейчас работает на новой. Старую просто для интереса грузил. Статистику наработки на отказ не набирал.
правильнее будет - БП у них запланировано (схемотехнически) горят после 3-х лет эксплуатации...
правильнее будет - БП у них запланировано (схемотехнически) горят после 3-х лет эксплуатации...
ну не всегда.
У меня роутер Линксис (Циско для бедных :), его родный БП держался долго, лет шесть. Когда сдох, я нем поменял два выходных кондера, что продлило ему жизнь еще на 1.5 года. потом в нем что-то сгорело окончательно, с дымом. Купленный на рынке простенький китайский БП за 150 рублей продержался всего 2 года, теперь стоит самоделка - "голый" (безкорпусной) блок с Алиэкспресса на ток в 2 раза больше номинала в самодельной коробке с вилкой. Последний, в отличии от всех предыдущих, хотя бы не греется... а то даже родной БП от циско грелся как чайник.
правильнее будет - БП у них запланировано (схемотехнически) горят после 3-х лет эксплуатации...
ну не всегда.
У меня роутер Линксис (Циско для бедных :), его родный БП держался долго, лет шесть. Когда сдох, я нем поменял два выходных кондера, что продлило ему жизнь еще на 1.5 года. потом в нем что-то сгорело окончательно, с дымом. Купленный на рынке простенький китайский БП за 150 рублей продержался всего 2 года, теперь стоит самоделка - "голый" (безкорпусной) блок с Алиэкспресса на ток в 2 раза больше номинала в самодельной коробке с вилкой. Последний, в отличии от всех предыдущих, хотя бы не греется... а то даже родной БП от циско грелся как чайник.
я в курсе, что такое линксис, сын за последний месяц починил более полсотни БП, все, за исключением DELL с правильными китайскими косяками, начиная от резисторов в цепи (+) и затвора )))
сын за последний месяц починил более полсотни БП, все, за исключением DELL с правильными китайскими косяками, начиная от резисторов в цепи (+) и затвора )))
о, я бы не против у кого-то поучится фиксить хотя бы банальные случае отказа БП. а то у меня уже с пол-дюжины скопилось, не знаю с чего начать.
Я обычно тупо меняю все вспухшие электролиты. а сверх этого ничего делать не умею...
Я обычно тупо меняю все вспухшие электролиты. а сверх этого ничего делать не умею...
Я тоже, но я ширше на это смотрю. Посмотрю глазами, потычу мультиметром, потычу осциллографом и ... успокаиваюсь, вспоминая старую максиму настоящих программистов: «Если вы не можете выполнить эти работы на Фортране, выполните их на ассемблере. Если же их нельзя выполнить на ассемблере, их не стоит делать вообще» :-)
Хотите эпичную (ну, совершенно эпичную, в стиле рассказа Марка Твена "Похищение белого слона") историю о том, как я позавчера монитор ремонтировал?
Хотите эпичную (ну, совершенно эпичную, в стиле рассказа Марка Твена "Похищение белого слона") историю о том, как я позавчера монитор ремонтировал?
так кто же не хочет, все во внимании
Ну, типа, есть у меня монитор. Достался мне когда дочь купила себе что-то покруче, а этот скинула мне, типа хочешь пользуй, хочешь на запчасти разбирай. У него болталась кнопка включения - так шевелилась туда сюда, пластмассовая нажималка надломилась, но как-то нажималась, хотя и болталась. А тут вдруг перестал включаться - на кнопку не реагирует никак. Ну, думаю, нажималка отошла, наверное, окончательно, щас посмотрю.
Разобрал, пластмассовая нажималка и впрямь отломана, но тактовая кнопка на вид вполне нормальная - щелкает, но монитор не включается. Думаю, может кнопка накрылась- попробовал замкнуть её контакты пинцетом - ноль эмоций. Ну, я так подрасстроился, т.к. неисправность явно выходит за пределы тактовой кнопки, а свои способности починить монитор я оцениваю вполне адекватно - придётся другой искать. Но, для очистки совести, начал методично всё проверять (прежде, чем выбросить).
Итак, питание от сетевого шнура поступает нормально, смотрю куда дальше идут провода и ... обнаруживаю на боку монитора выключатель (!!!) само собою выключенный! Тваюшдивизию (!!!) ... включил, всё нормально, кнопка работает, монитор включается. В общем, потребовалось разобрать монитор, притащить мультиметр и осциллограф чтобы ... найти выключатель.
Самое непонятное - я вообще не знал о существовании этого выключателя, был уверен, что его нет, и точно не мог его выключить. Жена туда уж пару дней как не походила. Внуки в этот день не приходили ... остаётся только Матвеич - больше некому. Но, блин, там маленький такой довольно тугой выключатель "педалька" как у блоков atx сзади стоят с ноликом и единичкой. Неужели кот мог его выключить? Ахренеть!
Собрал монитор, тащу на место. Жена спрашивает: "удалось починить?" - "А то! За кого ты меня держишь?!" :-)
----
У Марка Твена было похоже. Там слона спёрли и вся полиция его две недели искала, кучу людей привлекли, кучу денег потратили, потом вдруг заметили странный запах в отделении полиции ... выяснилось, что бедный слон ещё в самом начале зашёл в полицейский участок и помер там, под лестницей.
правильно сделанный монитор по пожарной безопасности )))
Я тоже, но я ширше на это смотрю. Посмотрю глазами, потычу мультиметром, потычу осциллографом и ... успокаиваюсь,
расскажите мне, куда потыкать осциллографом в типичном китайском БП? И что там должно быть видно?
Некуда тыкать , если нет напряжения на выходе. А если есть, то только на выход под нагрузкой. Тут два варианта. Или есть большая переменная составляющая на выходе 50 Гц , то садится высоковольтный конденсатор после сетевого моста диодов. Или большая переменная на высокой частоте то садится выходной конденсатор или второй выходной, после катушки, если блок питания покруче. Остальное смотрится тестером. Или обрыв ВВ обмотки трансформатора или пробой транзистора в м.с. управления. Во втором случае могут сгорееть диоды моста, дорожки и малоомный резистор на входе.