П-ц подкрался... Незаметно ловим.

Тема в разделе "ESP8266, ESP32", создана пользователем ИгорьК, 24 фев 2015.

  1. ИгорьК

    ИгорьК Гуру

    Последнее редактирование: 8 апр 2015
  2. Unixon

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

  3. ИгорьК

    ИгорьК Гуру

    Забавная картинка. Nodemcu => скрипт Lua => отправляет мне данные о температуре и куче (node.heap()). Что происходит с этой кучей:
    2342345.jpg
     
  4. ИгорьК

    ИгорьК Гуру

    Но история имеет продолжение!
    Вот оно:
    1351511.jpg
    В точке 1 нервы мои не выдержали, и устройство было мной перегружено. После чего решил не трогать и смотреть что будет дальше. А дальше была точка два... Я уже готовился увидеть висящую на глухо железяку... Но, чудо! В какое-то время она сама вышла из этого состояния и работа продолжилась.

    Отдельно точка 2 рассмотрена дальше, а именно:
    5461231.jpg
    Устройство передает двумя отдельными GET запросами информацию о куче и температуре. Участок времени на втором графике - это как раз точка 2 на первом. Где-то в течение двух часов (точка три) информация с устройства о куче не поступала, а информация о температуре (точка 4) - через раз. И в 18-50 примерно, работоспособность устройства самостоятельно восстанавливается.
     
  5. Unixon

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

    Это у интерпретатора Lua менеджер памяти косячит и течет или код так лениво написан?
     
  6. ИгорьК

    ИгорьК Гуру

    Наверно код:
    Код (Lua):
    require('ds18b20')
    do
    ds18b20.setup(4)
    addres=ds18b20.addrs()
    function sendData()
        local addres = addres
        t=ds18b20.read(addres[1])
        t1=ds18b20.read(addres[2])
        print("Temp0:"..t.." C\n")
        print("Temp1:"..t1.." C\n")
        conn=net.createConnection(net.TCP, 0)
        conn:on("receive", function(conn, payload) print(payload)
            print("Closing connection")
            conn:close()
        end)
        conn:connect(80,'мой_адрес')
        conn:on("connection", function(sck) sck:send("GET /home/espDSdata.php?heap="..t.." HTTP/1.1\r\nHost: www.nodemcu.com\r\nConnection: keep-alive\r\nAccept: */*\r\n\r\n") end )
          conn:on("disconnection", function(conn)
          print("Got disconnection...") end)
          collectgarbage()
          tmr.wdclr()
          conn=net.createConnection(net.TCP, 0)
        conn:on("receive", function(conn, payload) print("Get done.", payload) print("Closing connection")
          conn:close() end )
        conn:connect(80,"мой_адрес")
        conn:on("connection", function(sck) sck:send("GET /home/espdata.php?heap=" .. node.heap() .." HTTP/1.1\r\nHost: xx.xx.xx.xx\r\n" .. "Connection: keep-alive\r\nAccept: */*\r\n\r\n") end )
          conn:on("disconnection", function(conn)
          print("Got disconnection...") end)
            collectgarbage()
        tmr.wdclr()
         
    end
    sendData()
    tmr.alarm(0, 600000, 1, function() sendData() end )
    end
     
     
  7. ИгорьК

    ИгорьК Гуру

    А вот еще интересные картинки. На даче работают два независимых ESP8266, передавая информацию на Arduino Yun. Одно работает с двумя датчиками DS18и20, другое - bmp080. Неделю - полторы назад отрубалось электричество, и устройства одновременно перегрузились. И теперь одновременно зависли.
    Момент выключения электричества - одно к этому времени уже висело, вторник 21 апреля:
    4444444.jpg
    Зависание вчера.
    Одно:
    3333333.jpg

    Второе:
    2222222.jpg

    Время совпадает! Устройства независимы! Библиотеки DS18b20 и BMP080 - разные. Код отправки приблизительно одинаковый (см. выше).
    Вывод, поскольку Lua здесь позволяет программно перегружать устройство по уменьшению памяти, видимо придется этим воспользоваться.
     
    Последнее редактирование: 29 апр 2015
  8. ИгорьК

    ИгорьК Гуру

  9. Ektanoor

    Ektanoor Нерд

    IBM PC отстой? Еще какой. Вообще многим удивило как IBM смог собрать сколько отстой в одном коробке.
    DOS отстой? Но, когда набрал популярность уже далеко был не первой свежестью.
    Windows отстой? Мало кто спорил с этим до 95-го... А когда появился 95-й, хотя интерфейс впечатлял, внутренная начинка выглядела как тухлятиной.

    Вопрос - как тогда ВСЕ ЭТИ системы могли быть в пике популярности и даже пихать в углу такие "техно-чудеса" как Мас Джобса?! Где эти "5 сил", где они работают??! Почему отстойный Ардуино не идет на покой перед таких "монстров" как Raspberry Pi у которого скоро и Windows пахнет?

    Если уважаемый автор обращал больше внимание к Экономикой а не к этим чудам макароной фабрики псевдо-финансового-экономизма то бы знал что в том же насчастном Гарварде, еще в начале 90-х нашли ответ на этот вопрос. Конкретно назвать теорию не могу но она точно описала много того что "неправильно" творится в якобы свободном и динамическом рынке. Но самое главное то что все сводилось в одну простую "силу" - сила привычка потребителя. Товар или услуга удовлетворяет общие потребности?! Тогда, совершенно не важно что ширина колее неправильная, что ошибочно ехать по правой стороны и что IBM PC со своим DOS и Windows отстои первого порядка! Люди будут ехать на кривые ЖД, получать все неудобства езды по правой стороны и выглядит троглодитами перед Стив Джобса и его поклонники. Но это ИХ ВЫБОР и есть ОБЩАЯ ЦЕНА которая ОПТИМАЛЬНАЯ для них!

    Так что пусть там и создадут "убийцу всех Амперок", но пока у Ардуино есть свою нишу скорее люди выберут его чем менее общепринятых чудес, невзирая на какие то "благи".
     
  10. всё перемешали.
     
  11. ИгорьК

    ИгорьК Гуру

    Ага. И что?

    Я, пожалуй, продолжу эксперименты с модулем, а Вы пишите, не останавливайтесь.
     
  12. Ektanoor

    Ektanoor Нерд

    У меня больше нечего сказать. Просто удивило Вашу ссылку на какой то Портер, которого в гробу видали (как и чикагский Мильтон Фридман. Кто его помнит?..) а далее Вы явно показывайте что не так много знаете про гарвардских теорий, особенно в том "рынке" который вы обсуждайте.
     
  13. ИгорьК

    ИгорьК Гуру

    Ага. Вы пишите, пишите. Вы мне не мешаете.
     
  14. geher

    geher Гуру

    Такие "техно-чудеса" как Мас Джобса - тоже отстой. Причина зашкаливающей популярности отстоя от IBM перед отстоем от надкусанного яблока не в самом железе. Мак в конце концов тоже скатился на архитектуру x86 (в современной 64 бит реализации), но это ничего не изменило. Дело в общей маркетинговой политике. Все решила открытость IBM PC, на который можно поставить все, что угодно от DOS (а их было как собак нерезаных) до Win и OS/2 при сравнении с закрытостью мака. В результате PC делали все, кому не лень, а мак только надкусанное яблоко.

    Не надо путать компьютеры общего назначения с микроконтроллерами. На микроконтроллере трудится простая однозадачная программа, автор которой отвечает буквально за каждый такт микроконтроллера. А на RPi трудится целая многозадачная ось, которой нужно переключаться между контекстами, отслеживать кучу всего, до чего автору программы нет никакого дела. В результате, несмотря на, мягко говоря, превосходящее быстродействие, управление пинами на RPi может сильно запаздывать, в отличие от микроконтроллера с его жалким 1 МГц тактовой (возьмем даже не ардуину, а AtTiny), который все успевает.
    Наверное, на RPi можно вгрузить не ОС, а что-то свое, однзадачное. Но подозреваю, что средств для разработки этого чего-то своего нет и не предвидится. Да и мощность RPi пропадет почем зря.
     
  15. ИгорьК

    ИгорьК Гуру

    Ой... главное не попасть под руку, когда титаны бьются...

    А в моем, крестьянском, случае все запуталось.
    Как писал ранее, две ESPшки одновременно зависли и перестали передавать информацию на Yun, которая, в свою очередь, ПРОДОЛЖАЛА микроконтроллерной частью собирать информацию с датчиков, а линуксовой - отправлять ее на сервер народного мониторинга.
    Из этого делал вывод, что зависли ЕСПшки.
    Но не все так просто. По приезду на дачу, перегрузил одну из них - никакой реакции. Понятно, что компьютер ночью не включал а просто передергнул питание: никакого ответа на действо.
    На всякий случай передергнул питание на Yun, так, от нечего делать. Вторая ЕСПшка стоит на улице и идти до нее не хотелось. То есть не трогал ее.
    Утром вижу результат: ОБЕ ЕСПшки в работе!
    Прихожу к последнему выводу: дело было не в модулях, а в том, что за Yun не закреплен статический айпишник. Возможно при общем выключении электричества и его включении адрес платы менялся и модули, естественно, не могли до нее достучаться. К сожалению, это теперь не проверишь.
    Иного объяснения тому, почему модули заработали одновременно после перезагрузки работающей (не требующей перезагрузки) Yun я не нахожу.
     
    Последнее редактирование: 1 май 2015
  16. ИгорьК

    ИгорьК Гуру

    Значит так. Проблема была в uHTTPd на Ардуино Yun. Именно эта штука оказалась слабым звеном. При этом bash продолжал оставаться работоспособным.
    А ESPшки долбят, не сдаются.
     
  17. Tomasina

    Tomasina Сушитель лампочек Модератор

  18. ИгорьК

    ИгорьК Гуру

    Ну что, эксперимент считаю законченным. Модуль, похоже по вине разработчиков, теряет память без специальных костылей, но отчаянно держится за жизнь :)
    В общем, доказал свою работоспособность :)
    5252352.jpg
     
  19. ИгорьК

    ИгорьК Гуру

    Чем заняться дальше (если ты не фанат шевелить сервами на тележках с колесами)? ESP8266 плюс Mqtt плюс OpenHab. Естественно, две последние приблуды на Малине 2. Ее уже нельзя назвать недокомпьютером и переардуино :)
    Малина два - работает!
     
    Последнее редактирование: 10 май 2015