Category: it

Category was added automatically. Read all entries about "it".

Photo

"Верхний пост"

Тут будет верхний пост, для знакомства, так сказать... Или для привата... О себе рассказывать не буду, никому это не интересно. Соберу лишь крупные темы моего блога:

Германия
Аквариум
Часовой фетишизм
Роботы
CNC
электроника
Наш дом

в этом посте комменты скринятся (кому надо - пишите сюда или в ЛС)

PS. Меня нет в фейсбуке, меня нет в инстаграмме. Нет и не будет. Меня есть в гугль-плюс, но я туда не пишу. Да и гугль-плюса как явления уже нету...
Photo

Как всегда ищу магическую кнопку "сделай само и круто"


Когда я хочу автоматически сгенерировать какой-то код, мне нужно скриптам дать на вход необходимую информацию. В случае линейных задач я обычно использую что-то типа CSV, задавая данные в табличной форме. С такой задачей справится любой техник, сядет за эксель и накликает то, что нужно сделать, не вдаваясь в подробности реализации кода.

Возникла подобная задача для ветвящихся алгоритмов. И стало понятно, что с простым CSV это не покрыть. Ну, или я пока не понял как.

Захотелось магии: Визуальный редактор алгоритмов с минимальным набором "блоков" типа "сделай это", "если...то...", "подожди Х секунд". И такой, чтобы этот алгоритм можно было бы экспортировать в machine-readable формате. Эдакий Visio на минималках.

Может, я придумал велосипед, и оно уже давно существует? Подскажите?
Photo

А расскажите про Docker

Задача такая. Хочу дома небольшой сервер. Как файлофотопомойка, как MQTT сервер, как сервер полоумного дома, для телеграм-бота, да мало ли что еще приспичит.

Так как я тормоз, я бы эти задачи раскидал на разные виртуалки, чтобы иметь возможность независимо заниматься разными делами и чтобы они друг другу не мешали. Но все вокруг говорят умное слово "докер", типа оно все может на одной системе и как раз вот так как я хочу.

Это на самом деле так? То есть, если я поставлю какую-нибудь москиту через докер, она будет думать, что она единственная на этой системе и можно будет ее независимо от всего остального запускать, переустанавливать и прочее?

И нужны ли для этого всего какие-то особые требования к железу?
Photo

Android Studio

А какими минимальными ресурсами должна обладать VMware виртуалка, чтобы на ней можно бы было сносно запускать андроид-студию?

Помнится, когда я пару лет назад пытался это сделать, мне 2 ядер на 2 гигагерцах и 8GB RAM под i7-3xxx не хватило, она запускалась 2 минуты и работать с ней было невозможно.

Сейчас хост - ноут на i7-8xxx, будет лучше?

Ну и может быть, она не нужна? На чем сейчас модно писать под телефон?

ПыСы: Про АппИнвентор знаю :)
Photo

Корпус Hammond 1551V4 Series Eagle PCB

В поисках подходящего корпуса для одной из самоделок набрел на интересный корпус фирмы Hammond, как нельзя лучше подходящий для комнатных сенсоров. Один из вариантов корпуса имеет размеры 80х80мм, т.е практически идентичен размерам рамки стандартного выключателя. Высота 20мм (около 15мм внутри корпуса и около 8-9мм для деталей над платой). Кроме того, он имеет множество прорезей, что делает его практически идеальным для термо-влаго-CO2 сенсоров.

Посидел пару минут и набросал в Eagle контур платы, подходящий в этот корпус по размерам. А потом подумал, что кому-нибудь он тоже может понадобиться (сам искал и не нашел), поэтому выкладываю его на Github, берите, лицензия CC Zero.



https://github.com/aterentiev/Hammond-1551V4

Проверено, плата в корпус прекрасно входит.

Почти реклама получилась :)
Photo

Datalogger on esp32

Коллеги, требуется от esp32 записывать большой объем данных, примерно 400-500 килобайт/сек в течение десятков минут, возможно нескольких часов. Или на встроенную память (SD?), или на внешний сетевой диск (FTP? WebDAV?)

Это с этим чипом получится вообще? Что-то у меня сомнения...
Photo

JSON.stringify() какой-то подземный стук...

Господа или дамы, знакомые со всякими веб-делами есть?

Безобразие происходит в JScript в WSH (не спрашивайте почему, так получилось). Пишу скрипт, работающий с JSON-запросами под виндой. Столкнулся с непонятным.

Имею простой тест:
  var X = JSON.stringify(["123","456"]);
  WScript.Echo(X);

Ожидаю вывод в квадратных скобках, т.е.:
  ["123","456"]

А получаю не массив, а индексированный обьект:
  {"0":"123","1":"456"}

Знает ли кто-нибудь, что это за чудо и как лечить?

PS. Для эмуляции JSON в JScript делаю как в интернетах советовали:
  var htmlfile = WSH.CreateObject('htmlfile'), JSON;
  htmlfile.write('<meta http-equiv="x-ua-compatible" content="IE=9" />');
  htmlfile.close(JSON = htmlfile.parentWindow.JSON);
Photo

Нейронные сети

Решился описать одну задачу, которую я бы хотел использовать для изучения нейросеток на практике. Я знаю, что среди моих друзей есть знакомые с этими технологиями, и мне было бы очень интересно пообщаться на эту тему. Задача, которую я тут описываю, сама по себе не сильно сложна, решена математическими методами с более-менее приемлемой точностью. Но меня все еще преследует идея более научного подхода - есть мысль, что задача может получить интересное решение с использованием тренированной нейросетки, так как в конце концов она сводится к распознаванию образов.

Теперь о самой задаче. Попытаюсь описать ее коротко. Есть один источник аналоговых данных (сенсор), он считывается с определенным более-менее постоянным циклом. Нужно определить, когда значение этого сенсора начнет падать с определенным градиентом, заданным, чаще всего, в виде двух параметров: временной интервал (interval) и минимальное абсолютное значение, на которое сигнал должен упасть (threshold). Сигнал довольно сильно зашумлен, уровень шума часто сравним с уровнем threshold.

Collapse )
Есть у кого-нибудь опыт работы с подобного рода задачами? Был бы рад пообщаться на тему.
Photo

USB-коробочка с кнопочками и крутиками

Ну вот раз уж начали за USB, давайте продолжим. Есть у меня потребность сделать некую коробочку, на ней будет пара кнопочек, пара крутиков, пара светодиодиков. Эту коробочку надо подключить к компу на Win, в котором, вероятно, будет запущена некая прога, из которой мне нужен доступ к данным с кнопок и ручек и из которой нужно будет управлять светиками.

Как бы это сделать так, чтобы на целевом компе, к которому оно будет подключаться, нужно было делать минимальное количество изменений (компы могут быть не моими и юзеры не иметь админских прав)? Вижу 2 варианта.

Вариант 1: Простой. Берем да хоть любую Ардуину с USB-Serial. На компе натравливаем программу на последовательный порт.
Достоинства - железок как грязи, программирование тривиальное. Недостаток - на целевом компе без интернетов (такое может случиться!) не поставить драйвер USB-Serial.

Вариант 2: Сложный. Берем МК, который может в HID, реализуем Consumer Control. Достоинство - не нужно никаких драйверов, USB HID поддерживается всеми нативно. Недостаток - сложнее программирование, в т.ч. и целевой программы.

Есть какие-нибудь другие варианты, я о чем-нибудь не подумал? На какой платформе это делать?(осторожно, холивар!)
Photo

Вопрос про SNMP

Други и подруги, а поясните-ка за SNMP. Я шутку про то, что S с этой аббревиатуре зря стоит, уже знаю :) Поэтому хочется, чтобы кто-то живой разьяснил.

Исходные данные:

Есть умное устройство. Скажем, эдакое ПЛК. На нем своя "операционка", никаких линуксов, виндусов и прочих OS-ов. Proprietary. Для программирования в наличии TCP и UDP сокеты, точнее, функции-обертки.

Желание:

Сделать эту железяку видимой через SNMP для визуализации и построения графиков наравне с в той же сети стоящими компами.

Для начала показывать железяковый uptime и "общее состояние здоровья". В продвинутой версии добавляются специфические опции типа "время с последнего программирования", "состояние здоровья I/O", "состояние здоровья коммуникации с подсистемами". Программа-максимум - должно быть видимо состояние всей I/O подсистемы с очень специфическими параметрами типа "напряжение питания I/O модуля". А также система должна посылать Trap-ы в случае возникновения пограничных ситуаций (кто-то систему остановил, субмодуль репортит ошибку итд). Все данные - исключительно read-only.

Все эти желаемые данные есть в наличии, нужно лишь реализовать на железяке простого embedded-агента.

Вопросы:

1. Расскажите, пожалуйста, про OID-ы в вышеупомянутой конфигурации, как их искать/определять? Что-то я не могу понять всю структуру возможных циферок, RFC-документы перегружены информацией... То, что я захотел, все будет в .iso.org.dod.internet.mgmt.mib-2 (.1.3.6.1.2.1)? И куда тогда засовывать мои системноспецифические данные? В идеале было бы круто разобрать на простом примере.

2. Проясните про .MIB-файлы. Если у меня такая нестандартная железяка, мне нужно будет написать свой .MIB, описывающий железку, чтобы иметь возможность добираться до данных в менеджерах или это "не в тему"?

3. Ну и посоветуйте, пожалуйста, для тестов простой менеджер под Win.

Всем ответившим заранее спасибище.