kibastus
Джсон вышел из яваскрипта и стао стандартов в апи системах
Ground
Ну это просто всё от того что стоимость железа дешевле стоимости часа программиста на Си
kibastus
Да и порог входа теперь ниже
Alexandre
Вот да 😢
Ground
Ну да, поэтому всякие технологии с мира ПК перебазируются и в мир МК, тут уже и ОС свои есть и параллельная работа и вытесняющая многозадачность )
kibastus
Да, я вообще кипятком описался когла увидел что на питоне можно параллелтные потоки запускать. Всмысле что рчдом лежит ардуина на аимеое за те же деньги, и там такое нельзя сделать.
Ground
Кстати если конфиги хранить то ещё YAML есть тоже говорят кошерно, но я лично не юзал на МК, не знаю как там с поддержкой сего.
kibastus
Только хотел про это написать)
kibastus
В go такое видел. И весь яндексмаркет на этой разметке работает. Всмысле вгрузка товаров.
Svyatoslav
JSON есть везде, чего выдумывать-то. В микропитоне встроенный модуль есть на это дело.
kibastus
Кстати, вчера обнаружил что в графане есть готовая диаграмма для отображения розы ветров. Так что если кто-то у себя метеостанцию запилил, то гемор с визуализацией отпадает
Alexey
в графане импорт - экспорт есть графиков
kibastus
Alexey
вопрос : из линукс консоли кто нить отлаживает есп ?
kibastus
И вторая находка это плагин scada, которыц позволяет нарисовать что угодно в svg и завизуалить анимацию данными как в скада системах
Alexey
гуя нет
Svyatoslav
В си нет, точнее есть, но видимо, оч неудобный)
Когда человек спрашивает, в чем хранить, то скорее всего он на уровне ардуино и микропитонов. А там все уже есть из коробки)
Алексей
JSON, говорите? А потом у нас старт приложения - несколько секунд :) пока все распарсить. Проще всего - раз уж данные не покидают устройство - тупо бинарно структуру с параметрами сохранять. Одна операция записи, одна операция чтения. Зачем эти лишние абстрактные уровни там, где они не нужны?
Alexey D.
Это смотря какой жсон :)
Алексей
Какая разница? Хватит уже писать индусский код там, где ему не место.
Алексей
Система-то хоть какая?
Slava
Ard ide
Алексей
Ard Это что?
Slava
Arduino ide
Алексей
http://wikihandbk.com/wiki/ESP8266:%D0%9F%D1%80%D0%BE%D1%88%D0%B8%D0%B2%D0%BA%D0%B8/Arduino/%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D0%BE%D0%B9_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BE%D0%B9_%D0%B2_%D0%B0%D0%B4%D0%B4%D0%BE%D0%BD%D0%B5_ESP8266_%D0%B4%D0%BB%D1%8F_IDE_Arduino
Алексей
конкретно - объёкт File
Slava
File я освоил, а как в него значения переменных записать и прочитать, кроме как jsona?
Slava
Т.е. тупо бинарно?
Алексей
Вам, видимо, лениво погуглить, но хорошо, я сделал это за вас https://forum.arduino.cc/index.php?topic=597828.0 Там даже реальный пример
Slava
int readSize = file.readBytes((byte*) myConfigStruct, sizeof(myConfigStruct)); Это?
Алексей
Извините, вы всегда программируете методом "угадывания?" Или всё-таки какая-то логика сопутствует написыванию вами кода? сли вы не сильно понимаете, что делается в этой строке, может, вам подучить, что такое структуры и указатели?
Slava
Да, методом проб и ошибок, я на ардуине недавно программирую. Много чего не понимаю, вот и спрашиваю. Спасибо.
Алексей
Всё, что нужно для сохранения/чтения данных там описано. Если вы не в силах адаптировать этот код под себя, то у вас существенные пробелы в БАЗОВЫХ знаниях. Советую почитать нормальные книги по программированию. Причём с самого нуля. Метод "угадайки" в написании кода не работает. Писать за ВАС весь код и тыкать как слепого котёнка в нужные строки - увольте.
Алексей
Пожалуйста.
kibastus
Да, методом проб и ошибок, я на ардуине недавно программирую. Много чего не понимаю, вот и спрашиваю. Спасибо.
возьмите esp8266 или esp32 , прошейте питоном и не морочте себе голову этим си-подобным wiring в ардуино, со всякими структурами. К тому же Питон довольно легко угадывается))) я до сих пор угадываю после php )) Все руки не дойдут выкроить пару неделек для плотного изучения.
Alexey D.
Открыл книжку по Python. "В качестве выделения блоков кода в Python используются отступы". Закрыл книжку.
Anonymous
@afimchik будет жить. Поприветствуем!
Alexey D.
Ну как бы диодиком помигать при стабильном питании от розетки - самое то. С учётом того что на топовых есп-хах 64мбита флеша, то вообще рай. Но именно в развитии в разработке для микроконтроллеров - тупиковый путь.
Alexey D.
У меня у коллеги на этом поливалка для цветочков сделана (мини производство рассады). Задача решена, эффективность высокая, цена низкая. Задача выполнена, а каким образом - для потребителя не важно.
Alexey D.
Да, это десятикратный расход ресурсов контроллера и исключение 90% возможностей, падение производительности. Но разница в цене - 300 рублей, а разница во времени - недели изучения. Да, это забивание гвоздей микроскопом. Но разница 300 рублей против недели изучения. И это самое сильное и ощутимое приемущество питона на МК.
Alexey D.
Сейчас это особенность индустрии - бизнес хочет быстрее внедрять (а вся разработка трудится на бизнес), поэтому на тестирование и оптимизацию времени не выделяется. Время разработчика дорогое. Дешевле купить десяток новых железок и внедрить пару фишек, чем упаковываться в оптимизацию без развития продукта
Alexey D.
Так и воспитываются - без оглядки на оптимальность. Нужно посчитать что-то: в жопу математику и алгоритмику - лучше арендуем облачные процессоры
Alexey D.
Говорю как сисадмин в крупной компании - у большинства современных систем простой процессорного времени 99%. И только периодами оно подскакивает во время каких-то отчётов. Речь само собой про внутренние системы
Alexey D.
Release ESP-IDF Release v3.2.2 · espressif/esp-idf https://github.com/espressif/esp-idf/releases/tag/v3.2.2
Alexey D.
Свежак
Ground
Говорю как сисадмин в крупной компании - у большинства современных систем простой процессорного времени 99%. И только периодами оно подскакивает во время каких-то отчётов. Речь само собой про внутренние системы
А зачем тогда держать такое хозяйство, арендуйте облачные сервера по ресурсам когда оно только необходимо, думаю будет дешевле чем содержать парк простаивающих серверов, плюс они тоже не бесплатные ведь в первоначальной покупке. Если нужно всё Российское без всяких Гуглов и Амазонов, так вот Яндекс недавно выкатил облачную платформу и ещё есть на выбор.
Alexey D.
Крупный Энтерпрайз увы инертный. До сих пор есть 16 битные приложения :)
Ground
Жалко, я думал там давно уже кубернетес и микросервисы рулят балом
Denisio
инертный потому что замена несёт риски
Denisio
несовместимости, расходов, времени
Denisio
а то что работает - оно уже работает, люди знают как с этим обращаца, оно имеет свое поведение, которое предсказуемо и баги, которые может быть не починены но известны пути обхода
Ground
Короче всё переносить в облака не ваш вариант )
Anonymous
R R будет жить. Поприветствуем!
Denisio
облака не плохи и не хороши, это просто способ вынести второстепенные сервисы
Denisio
у каждого инструмента есть свои достоинства и ограничения
Ground
Ну в случае когда периодические высокие нагрузки, а 99 времени простой, например в научных институтах когда нужно бывает что-то посчитать а бюджет ограничен, облака ИМХО хорошее решение
Denisio
да, учитывая какие щас виртуалки можно арендовать
Denisio
с 2 терабайт RAM и 128 ядрами
Ruslan
Камрады, что за фигня может быть Есть ESP32-WROOM, там я написал прошивочку, которая сохраняет данные в NVS. Заливаю её в другую такую же плату, а она мне при попытке записи в NVS выдаёт ошибку 1102. Что за хрень?
Alexey
а другие проши льются в нее ?
Ruslan
как нет?
Alexey D.
Сделайте erase-all, проверьте наличие таблицы разделов
Ruslan
I (48) boot: Partition Table: I (52) boot: ## Label Usage Type ST Offset Length I (59) boot: 0 nvs WiFi data 01 02 00009000 00006000 I (67) boot: 1 phy_init RF data 01 01 0000f000 00001000 I (74) boot: 2 factory factory app 00 00 00010000 00100000 I (82) boot: End of partition table
Ruslan
вот такое вижу при старте
Ruslan
ESP_ERROR_CHECK failed: esp_err_t 0x1102 (ESP_ERR_NVS_NOT_FOUND) at 0x4008f340 file: "lib/ble/ble_services/ble_service_access.c" line 122 func: allowed_terminals_action expression: err
Ruslan
err = nvs_get_blob(handle, key, NULL, &value_size); ESP_ERROR_CHECK(err);
Alexey D.
А обычная nvs с тегом nvs где
Ruslan
а, ты про WiFi data поле,
Alexey D.
Да. Nvs с именем wifi data есть, а с именем nvs нету
Ruslan
а зачем такая большая область под wifi?
Alexey D.
А по дефолту все nvs ищут партицию nvs, если не указать другое