Часы на NodeMCU Lua + MAX7219 минус все лишнее.

Тема в разделе "Глядите, что я сделал", создана пользователем ИгорьК, 4 сен 2018.

Метки:
  1. ИгорьК

    ИгорьК Гуру

    Ну, наверно, это связано с выкрутасами apixu. Мои то тоже внезапно перестали. Я заметил лишь на 3 день :) Я сейчас погоду спрашиваю у Алисы :)

    Не думаю что вам удастся протащить время на 8 матриц. Среда Lua не настолько мощная на предмет быстрых расчетов как Си, много ресурсов задействуется для ее обеспечения. Да и принципы формирования изображения в моем модуле не такие как в адафрутовском драйвере, что у Ивана.
     
    Последнее редактирование: 21 мар 2019
  2. ИгорьК

    ИгорьК Гуру

    Ой, вы о времени а я о погоде.

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

    В третьей версии можно брать до пяти датчиков с народа.

    Ну и нет бегущей строки и все прогнозы запечатаны в короткие слова.

    Вот главные отличия.
    Идея - максимально быстро отражать НЕОБХОДИМЫЕ данные.

    ПС. В версии которая у меня можно брать данные ещё с MQTT брокера. Однако она иногда перегружается по исчерпанию памяти, что меня сильно не достаёт, но такие вещи я не публикую принципиально.

    ППС. Уже сделан проект на сегментах часы-термометр-датчик движения-сирена. Работа и управление с брокера, режим постановки на охрану - включение сирены и/или дублирование другой сирены или реакция на срабатывание другого (отдельного) датчика движения.

    SmartSelect_20190321-174504_Gallery.jpg

    Кстати, прикольное устройство - датчик движения/термометр. Только что дошло.
     
    Последнее редактирование: 21 мар 2019
  3. mikhail09p

    mikhail09p Гик

    Пока третью версию не победил. опять ошибки. Завтра перекачаю файлики и ещё попробую.
    И ещё - не только я, но и другие юзвери были бы Вам очень благодарны за коментарии в программе. :oops:
    Хоть коротенькие...
     
  4. ИгорьК

    ИгорьК Гуру

    Прежде чем лить третью, надо форматировать память через ESPlorer и не путаться в версиях файлов.

    Здесь надо просто заменить askapixu.lua и все должно заработать.

    Ну и поиграть с двумя файлами в связи с народом.
     
  5. ИгорьК

    ИгорьК Гуру

    В Lua, как и в JavaScript, имена функций и переменных обязаны говорить за себя. Я вроде старался. Подробное комментирование - тяжкий труд.
     
    Последнее редактирование: 21 мар 2019
  6. mikhail09p

    mikhail09p Гик

    Вопрос: в LUA (ESPlorer) перед тем, как заливать изменения обязательно делать _renameinit и после заливки обратно запускать через _renameinit ?
     
  7. ИгорьК

    ИгорьК Гуру

    _renameinit переименовывает файл init.lua в _init.lua и обратно.

    Файл init.lua проверяется и исполняется системой после старта. Переименование и автоматом после него перезагрузка необходимы чтобы избежать ошибок при заливке и исправлении файлов.

    Неисполняемые, в момент заливки при работающей программе, файлы заливаются, исполняемые - нет. Плюс может не хватить памяти, и тогда заливаемый файл будет повреждён. Это может вообще поломать программу и перевести в постоянную перезагрузку.

    Вывод. Править файлы лучше на неработающем железе. Проверять работу программы и лишь потом жать _renaneinit.lua.
     
    Последнее редактирование: 21 мар 2019
  8. mikhail09p

    mikhail09p Гик

    PANIC: unprotected error in call to Lua API (setglobals.lua:17: attempt to index global 'ds18b20' (a nil value))

    ds18b20.setup(4)
    Что не так?
    Это версия 3.
     
  9. ИгорьК

    ИгорьК Гуру

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

    Перешейте модуль самым большим бинарником для начала.

    К сожалению, у меня сейчас компьютера нет чтобы точнее посмотреть.
     
    Последнее редактирование: 21 мар 2019
  10. ИгорьК

    ИгорьК Гуру

    mikhail09p, спасибо вам за терпение. Вы выявляете все косяки выкладки здесь и я обязательно их исправлю.
     
  11. mikhail09p

    mikhail09p Гик

    Доброе утро.
    Игорь, это Вам спасибо за пищу для ума. Учится ведь никогда не поздно. :)
    Бинарник у меня самый новый, по размеру не самый большой. Сейчас перелью.
    А в чём разница между ними? Вы ведь писали - шить любым ?
     
  12. ИгорьК

    ИгорьК Гуру

    Писал в первой версии, а в третьей - не написал :)

    Разница в составе модулей внутри прошивки.
    В первой версии, видимо, я работаю со своим модулем датчика температуры а в третьей был вынужден работать с прошивочным.
     
  13. ИгорьК

    ИгорьК Гуру

    Проверил и перезалил первую и третью версии
     
  14. mikhail09p

    mikhail09p Гик

    Комплект: nodemcu-master-24-modules-2018-07-11-15-28-04-float и Moscow09_ClearAmperka с новым askapixu.lua работает, но часто падает.
    Код (C++):
    >
    > Client:   nil
    Got Internet!
    Krasilow
    Now: 9:41
    disconnected
    Got Sky codes:   1009   1186
    Got Temp:   4.9
    Got Max:   10.7   Min:   3.4
    23664
    Lost narod
    Got Narod!
    min =    100
    Lost Nrod
    Narod:   nil   Apixu:   4.9  
    Now:    4.9
    PANIC: unprotected error in call to Lua API (_asknarod.lua:31: attempt to perform arithmetic on upvalue '?' (a nil value))

     ets Jan  8 2013,rst cause:1, boot mode:(3,6)

    load 0x40100000, len 27164, room 16
    tail 12
    chksum 0xfb
    ho 0 tail 12 room 4
    load 0x3ffe8000, len 2356, room 12
    tail 8
    chksum 0xc8
    load 0x3ffe8934, len 136, room 0
    tail 8
    chksum 0xb2
    csum 0xb2
    „гмГgд’sѓуn|д$dll`c›Я|r“lњoаѓgг
     
     
  15. ИгорьК

    ИгорьК Гуру

    Конечно. Обязательно. Проблема с ключом и/или uuid. Потрениуйесь сначала на двух тестовых файлах.
     
  16. mikhail09p

    mikhail09p Гик

    Не даёт вставить бОльше... Так каждую минуту. Вроде ровно минуту.
     
  17. mikhail09p

    mikhail09p Гик

    Понял. Народ мон не настроил пока.
     
  18. ИгорьК

    ИгорьК Гуру

  19. ИгорьК

    ИгорьК Гуру

    С него надо начинать.
     
  20. mikhail09p

    mikhail09p Гик

    Это в файле _asknarod.lua

    M.uuid = "b74703558bfe7db0b3fb686a7c012cdd4" --!!!!!!!!!!!!!!!!!!!!!!!!
    M.api_key= "yAgpk5EA6tcp9" -- !!!!!!!!!!!!!!!!!!!
    M.sensors = {1312,9429,9197} - а тут нужные мне датчики?