09:41

домовой
смотрю на очередной шедевр строительства зомбоящиков и понимаю что андроид это не самое плохое что может быть.

задача все та же: запустить браузер чтобы нарисовать в нем информационное табло.
Вот только андроида нет.

Есть микродистр линукс. с Xorg/xdirectfb и opera вместо части DE. и в opera никаких быстрых клавиш. никакого поля ввода адреса.

И эта тварь божья требует тырнета. типа без него никак не можно жить. это ведь надо настучать производителю и подгрузить новую порцию рекламы.

Не обнаружено никакой консольки (похоже что то в терминал сыпется только на uart). Вообще никакой осмысленной возможности сбежать из дружелюбного интерфейса зомбоящика.
ту же оперу абы как удалось увидеть только отключив internet и ткнувшись в app gallery. и то только в двух случаях из трех.


nmap говорит что есть web сервер на 1925 порту. но там грустный и унылый jointspace


Есть порт directfb на 2323 но я про него ничего не знаю.

@темы: рабочее

13:12

домовой
Я продолжаю пытать труп. Кто же знал, что радиатор от e3d v6 можно закрепить на эффекторе 101hero всего двумя винтами с шайбами. (шайба вкладывается между ребрами радиатора и прижимается к эффектору винтом м4.)

Если поставить термобарьер с тефлоновой трубкой внутри и использовать нагревательный блок от e3dv5 (вроде как резьба на блоках e3d-v5 иe3d-v6 совпадает) то вполне может получиться жизнеспособная химера не пытающаяся расплавить пластик эффектора.

Правда теперь вылезло грустное утверждение, что при проектировании кареток я не подумал о том что буду устраивать технохентай с останками принтера. и расстояние между посадочными местами магнитов на напечатанных каретках не совпадает с расстоянием между креплениями тяг на эффекторе.
а значит надо проектировать и печатать какой то переходник. И заказывать запасные тяги. на этот раз с комплектом концевых наконечников (шарниров класса рыбий глаз).

@темы: 3d

домовой
под дешевую отладочную плату "blue pill" адаптировали интересные игрушки

1. адаптер на почти все интерфейсы, программатор почти всего что можно прошить.
github.com/zoobab/versaloon
его пытались качественно раскрутить в узких кругах электронщиков лет 5 назад. Был свой сайт, блоги радующие интересной информацией и т п. Но... китайцы не стали тиражировать сей струмент, от сайта осталось только несколько форков репозитория , блоги канули в лету

2. показометры класса осциллограф
github.com/gsimon75-stm32/scope
mysku.ru/blog/aliexpress/53289.html

3. клон транзистор тестера
github.com/mean00/stm32ComponentTester

4. плата для управления принтером.
github.com/pscrespo/Morpheus-STM32

Имеет смысл посмотреть как разведена, нарисовать свой вариант, и заказать 5 шт на каком нибудь jlcpcb. просто чтобы было. тем более обвязки там навскидку: четыре конденсатора, гребенка штырей pls-40 и три гребенки pbs-40, три мосфета, 8 резисторов, несколько винтовых разьемов и может какая понижайка (1500 руб за 5 плат это немного лучше чем 1 плата за 1500+ руб)


@темы: схемотехника

22:23

домовой
Смотрю на картинку китайского клона от китайского клона экструдера bmg. За скромные 600 грошей
Из плюшек:
1. два синхронизированных между собой подающих зубчатых колеса.
2. Понижающий редуктор с отношением 1/3.
3. По идее может цепляться за радиатор e3d v6


Смотрю на тихоходный мотор 28byj-48 из экструдера 101hero имеющий максимальную скорость вращения вала 15 оборотов в минуту.


Собрал очередную химеру. Экструдер из останков 101hero имеющий мотор 28byj-48 скрестил с запасным хотендом e3d v6 на старом фанерном эффекторе.
Скорости мотора вроде бы хватает с избытком. А вот момента похоже не хватает. Попытка добавить ток приводит к повышению температуры.
при скорости печати до 30 мм/сек слои ложатся ровно ... но вот прочности у детали со 100% заполнением нет.
Если я правильно понял конфиг клиппера, то скорость подачи пластика должна быть примерно 0.6 мм /сек.( 4* диаметр_сопла^2)
но есть сомнения ибо октопринт написал что на деталь должно было уйти 3.6 м пластика и деталь напечаталась за час.


тараканы шепчут что надо пробовать скрестить мотор 28byj-48 с экструдером bmg.
Если верить чертежам шестеренок из тырнета, то диаметр той части, что протягивает пластик колеблется от 7,3 до 13 мм в зависимости от глазомера и хитрости китайца.
А это означает что при 5 об/мин мне все еще должно хватать скорости. правда возможен вопрос с ретрактами. ибо чтобы пластик не сопливил во время переноса сопла от одной детали к другой нужно его относительно быстро отдернуть.


нашел интересный совет: отключить микрошаг и поставить ток меньше 150 ма. надо будет проверить. по идее отключение микрошага должно поднять момент, а снижение тока уменьшить нагрев.
Чуда не произошло. Все то же состояние : либо не греется и не тянет, либо тянет но греется как батарея. независимо от режима микрошага.
еще попытка с bmg и "нужно заканчивать этот разврат"(с) из анекдота.

@темы: 3d

15:54

домовой
довелось сегодня покопаться в шаблоне "битроник 2". Я понял что я не извращенец.

@темы: bitrix

10:05

домовой
очередные открытия на тему : как засунуть планшет в машину

0. на планшете можно отключить выключение экрана

1. у nexus 7 есть датчик холла. вероятно предназначен для того чтобы гасить экран когда чехол книжка с магнитом коснулся экрана.
умельцы подпаивают к одному из контактов датчика холла провод и радостно тыкают им в минус питания чтобы отключить подсветку экрана.

2. планшет надо включать напрямую к акб а не к контактам ключа. в этом случае планшет скорее всего не будет перезагружаться когда включен стартер

3. планшет жрет до 1а при питании от преобразователя 12в->5в(ток перед преобразователем 0.3- 0.5А) . Это значит за три дня простоя планшет очень качественно посадит акб машины.

4. реле времени оказывается проще и дешевле спаять на микроконтроллере нежели искать и покупать нужное .

5. в Tasker есть действие "система-> перезагрузить" где можно выбрать вариант действия "выключить".
6. в Tasker есть отслеживание события "display state"

@темы: схемотехника

домовой
Все началось с того что 101hero приказал долго жить. Точнее на нем невозможно было напечатать что-нибудь большее чем калибровочный кубик. да и тот в лучшем случае через раз. попытка перебрать принтер ничего не дала.

Следующим шагом стало открытие, что на али можно купить дешевые пластиковые уголки рамы принтера kossel. и рядом лежали условно дешевые карбоновые тяги. и ролики. (Ошибка: на стоимость доставки и альтернативы в других магазинах я не посмотрел . цена ошибки 600 руб )

Посмотрел на профиль соберизавод, попытался набрать железа на 3000 рублей... плюнул на все и пошел искать любой конструкционный профиль. Ибо профиль стоил дешево и 3 круб им набрать было сложно, а вот фурнитура обходилась слишком дорого. Оказалось проще заказать не религиозно правильный t slot на алюмике. да и обратная связь у них работала на порядок лучше чем у собери завод. Тем более что на 3д тудей промелькнула запись от какого-то еретика о том что какая нафиг разница какой профиль. Главное чтобы ролик не соскальзывал. (Про то что я сначала заказал неправильную длину профиля промолчу. Эта ошибка обошлась еще +1000 руб)

Предварительно накидав в корзину всяких нужных комплектующих я получил вкусную цифру в 6000 руб включая профиль.
arduino uno, cnc shield, a4988 и экструдер mk8 в сборе у меня уже были. (+ 1700 руб к итоговой сумме)

Да плюс Соркин рассказал на своем канале что есть klipper. Я посчитал что нечего тратить 1 круб на рампу и ардуину с кристаллом атмега 2560. а моторы можно снять с 101hero.

Дальше на глаза попался лот "3 мотора nema 17" всего за 1100 руб. и кажется даже из России. прямо атракцион невиданной щедрости. пройти мимо я не смог.

Карбоновые тяги пришли разной длины(разница где то в 1мм) и с внутренним диаметром 4 мм.
чтобы их собрать в относительно ровную конструкцию, пришлось сделать шаблон из рейки и двух магнитов. выставленных по самой длинной тяге. ну а дальше все согласно варварскому методу
1. откусить/отпилить шляпку у винта с резьбой м4,
2. вкрутить резьбу в шарик,
3. намотать на остаток резьбы нить.
4. "вкрутить " резьбу с нитью в карбоновую тягу
5. примерить результат на шаблоне с магнитами.
6. зафиксировать суперклеем

Напечатать детали я не мог. Несколько попыток закончились провалом. Перечитал посты от Pavlog на хабре. увидел, что он собирал дельта принтер из фанеры. Подумал а чем я хуже? Ну не считая того что я рукожоп и радиогубитель. Нарисовал в solvespace максимально простые каретку и эффектор, распечатал чертеж в отношении один к одному. Далее наклеил лист с чертежом на огрызок фанерного листа и начал пилить/сверлить.

Получил все детали, скрутил, запустил в первый раз и ... услышал жуткий грохот от моторов. Понял что а4988 условно тихо работают только с тихоходными 28byj-48.
Кое как придушив жабу я купил 5 шт tmc2208 за те же 1100 руб.

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

в процессе печати калибровочных кубиков сжег два блока питания светодиодной ленты от иек. на 4 ампера и на 8 ампер. (не предназначены они для постоянного тока в 4 ампера и импульсов в 6 ампер. Цена ошибки +1000 руб)
остановился на компьютерном блоке питания. все же он предназнчен для долговременной работы с током в десяток ампер

собственно список деталей
читать дальше

фото принтера
Upd: увидел flsun q5. Задумался. В итоге тараканы победили. перевернул раму вверх ногами. Напечатал уголки к которым будут крепиться концевики. Переуложил электронику. Из явных плюсов доступ к электронике в любой момент. И это здорово. Минусы : пока неизвестно. Воемя покажет.

@темы: 3d

15:51

домовой
неожиданно, но percona-server работает быстрее чем mariadb. По крайней мере с дурными и кривыми запросами продукта "битрикс. управление сайтом"
время выполнения особо дурного запроса упало в 10+ раз. с 55 сек до 3 сек.



обнаружил почему формируется запрос тормозящий 10 секунд.
Разработчики bitrix framework понадеялись на то, что люди умеют читать инструкции.
Есть параметр INCLUDE_SUBSECTIONS - "если задан фильтр по родительским группам SECTION_ID, то будут также выбраны элементы находящиеся в подгруппах этих групп"
так же про этот параметр сказано, что он не несет смысла если ид группы не передан в фильтр.

И как бы это сказать то... Те кто писали документацию либо не знали, либо не смогли без мата
и молитв сформулировать что INCLUDE_SUBSECTIONS ='y' при не заданном SECTION_ID работает без индекса.
в случае 100000 элементов и 2000 групп субд вынуждена перебирать 100000*2000*2000 строк.

@темы: bitrix

09:51

домовой
немного обидно.
есть битрикс. Есть инфоблок содержащий 2000+секций 90000+ товаров 1300 различных характеристик.

Единственный красивый (но не применимый на практике ) способ получить хоть-какую нибудь производительность и в админке и в виджете каталог (не увеличивая дурь сервера) - разделить товары на разные инфоблоки.
На первый взгляд количество данных одинаково , что в одном инфоблоке данные лежат, что в нескольких. и даже таблицы бд одни и те же. но небольшое различие есть. Битрикс предлагает создать "фасетный индекс" - отдельную служебную таблицу в которую пишутся и индексируются все свойства по которым может быть выполнен поиск. и с ним поиск работает реально быстро.

а теперь почему этот фокус крайне сложно применить на практике. Виджет bitrix:catalog не допускает указания нескольких инфоблоков в свойствах. (что-то из вызываемых потрохов модуля iblock начинает орать про то, что нельзя в каталоге использовать несколько инфоблоков одновременно )
Можно только создать несколько страниц, на каждой из которых разместить виджет ссылающийся на свой инфоблок. Дальше настроить чпу так чтобы все выглядело красиво... и казалось бы вот он выход из положения. И даже меню можно с минимумом мата привести к красивому виду.

Но увы есть одна крайне важная фича, которая не работает так как должна. И имя ей "Поиск по каталогу". Она в отличии от поиска по сайту работает только с одним инфоблоком. и массив ей указать нельзя. И более того: сам оригинальный виджет "поиск по каталогу" только готовит параметры и вызывает виджет "каталог секция".

обидно что не хватает знаний чтобы сделать нехорошее : список элементов инфоблока полученных из поиска по сайту чуть профильтровать и отдать в шаблон виджета каталог секция

@темы: bitrix

13:26

домовой
хм... с утра не дает покоя безумная мысль:
современный электромобиль это 1400+ кг стали, моторов, батарей электроники
При этом
1. емкость батареи за редким исключением не превышает 50 квт /ч.
2. вес батареи 250-500+кг
3. стоимость батареи - от 150+тыс. за б. у. с неизвестным состоянием батареи.

один снаряженный свинцовый акб на 90а/ч в СКФО стоит примерно 4 тыс. руб и весит 25 кг.
20 шт свинцовых батарей стоят 80 круб и весят те же 500 кг. емкость примерно 20 квт/ч ( 20 шт *12 вольт*90 а/ч ) что чуть меньше чем емкость батареи nissan leaf первого поколения.
напряжение заряженной батареи получается примерно 250 вольт. напряжение зарядки 288 вольт. и это всего на 20 вольт меньше чем в сети.

если крутить асинхронный мотор номинальной мощностью 10 квт то максимальный ток будет всего 40-50 ампер. нельзя сказать что это щадящая нагрузка для свинца.. но это как минимум в разы лучше чем картина в обычном двс: ток 150 а, емкость 50ач.

из плохого: крайне нежелательно брать в роли донора бензиновый автомобиль. Его тупо не проектировали, чтобы таскать на себе батарею весом 500 кг и 300 кг пассажиров. а значит всю подвеску , места крепления подвески и днище придется весьма качественно усиливать.

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

09:57

домовой
1. хорошо что китайцы не доверяют своему софту и телефоны с несъемным акб имеют либо
специальную кнопку ресет либо сочетание кнопок вызывающих ресет.

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

3. выяснилась модная фича : на приличной части мобильных устройств можно малой кровью настроить включение планшета при подключении питания.
достаточно только перезагрузить планшет в fastboot и скомандовать fastboot oem off-mode-charge 0 (начальник захотел сунуть старый планшет в машину)

15:46

домовой
зашла речь о смарт зомбоящиках. вспомнил о том как занимался технохентаем с творениями фирмы крафт. посетовал что нельзя ходить покупать смарт тв с ноутбуком и nmap. понял что я не хочу смарт тв

11:12

домовой
тараканы в голове потребовали жертв собственный сервис для мониторинга своих машин находящихся абы где в интернете за nat. и особо неудобного выполнения произвольных команд на этих машинах.

в итоге родился совсем не безопасный ужас.

надеюсь теперь тараканы успокоятся и отстанут на некоторое время.
серверная часть


клиентская часть



upd:под ash клиент пришлось немного переписать

upd2:сильно хочется написать разумное доброе светлое на тему удаленного управления андроидом.

upd3:
нужно будет изменить таблицы и скрипт чтобы в логе команд был timestump времени когда пришел кошерный ответ

08:16

домовой
Похоже прав гер Дмитрий Соркин. Собранная и настроенная дельта это скучно.

1. экструдер и коробка с платой sanguinololu от разобранного на детали 101hero перекочевали
в самосборный принтер.

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

3. клиппер перенастроен на двухконтроллерную конфигурацию. sanguinololu будет рулить экструдером. arduino с cnc shield соответственно будет рулить моторами башен.

4. для удобного управления конфигом клиппера, немного переписал systemd юнит. теперь можно выбрать с каким конфигом будет работать клиппер.


на выходе получил почти бесшумный принтер c легким директ экструдером
почти бесшумный означает что моторы на "башнях" и экструдер не слышно вообще. слышно только два вентилятора и тихий треск от сопла когда оно цепляет за слои.
upd:
из неудачного : не учел что и хотенд и экструдер должны быстро сниматься. так что пришлось снимать весь кусок касающийся хотенда включая концевик и мосфет.
неправильно указал тип термистора есть енебольшой перегрев.
upd2: экструдер от 101hero не успевает греть или выдавливать нужное количество пластика. модель получается слишком рыхлой и хупкой. пришлось снять.

@темы: 3d

домовой
1. готовые решения 1C bitrix лежат в папке /bitrix/wizards/
2. если скопировать соответствующую папку на другой сервер с 1C bitrix то ядро битрикс с вероятностью 90% примет решение и не будет возмущаться.
3. в мастере установки решения иногда бывает код извещающий создателей о том что их решение ставится на такой то битрикс


как превратить товар в комплекты в битрикс без import_xml и смс

element_id- заголовок комплекта
part_id - части комплекта
cnt_in_compl - количество этой самой части

1. на заголовке комплекта в catalog_product меняется тип записи на 2.
update b_catalog_product set type=2 where id=element_id

2. в b_catalog_product_sets вписывается строка
insert into b_catalog_product_sets (TYPE,SET_ID,ACTIVE,OWNER_ID,ITEM_ID)
values(1,0,'Y',$element_id,$element_id)


3. выбирается ид вставленной строки
$compl = mysqli_insert_id ()

4. потроха комплекта вносятся командой
insert into b_catalog_product_sets (TYPE,SET_ID,ACTIVE,OWNER_ID,ITEM_ID,QUANTITY,MEASURE)
values(1, $compl,'Y'element_id, $part_id,$cnt_in_compl,0)


@темы: заметки и советы

09:58

домовой
открыл для себя фокусы вида
1. есть некий произвольный tcp сервер принимающий и отдающий данные
nc -l -p 1234 -e /bin/bash
2. c помощью команды socat можно превратить соединение с этим сервером в файл pty
socat PTY,link=/tmp/mypty tcp-connect:127.0.0.1:1234
3. далее с этим файлом можно работать как с com портом
screen /tmp/mypty


изменить приоритет приложения в андроид
su
renice 0 123454

где 0 приоритет приложения а 123454 это pid процесса


хм... надо в порядке эксперимента убить октопринт и попытаться зацепиться за клиппер командой screen

@темы: заметки и советы

09:26

домовой
принтер печатает как положено.
посчитал примерную стоимость. вышло печально. 11 тыс только на то, что пошло в принтер. наверное еще 5 тыс ушло на ошибки и эксперименты.

Единственное утешение: детали закупались в течение примерно 5 лет и на бюджет никак не влияли.
Итого: вероятно дешевле было бы купить kossel и не маяться дурью.

@темы: 3d

15:11

домовой
итак промежуточные выводы из попытки сделать классический упрощенный дельта 3д принтер
1. хотенд: ему обязателен обдув. без него радиатор за 15-20 минут греется до температур плавления пластика. И все станет грустно.

2. Магнитный подвес: дешев и даже не сильно сердит. за максимум 400 руб можно купить 12 шариков и 12 магнитов под эти шарики. Это сильно дешевле, чем самый дешевый рыбий глаз за 50-100 руб штука. да еще и с люфтом.

3. Карбоновые тяги/штанги: не нужны . По крайней мере до тех пор пока вам не придет в голову блажь задирать скорость до 100+ мм/сек. Гораздо проще купить в леруа пару метров шпильки м4. Получится в 6 раз дешевле а разницу вы на малых скоростях скорее всего не увидите. найдены карбоновые трубки за ~5 зеленых. можно не экономить

4. Шкивы и ремни: тупо надо при покупке проверить что ширина ремня и ширина шкива одинаковые. А не покупать на шкивы 6 мм ремень в 10 мм. Ну и на nema17 чем меньше шкив тем лучше. Для тихоходных byj28-48 наоборот совсем маленькие шкивы не нужны( и так скорость дико низкая).

5. Кабель менеджмент станет вашим кошмаром.

6. Tmc2208 тихие но горячие. Готовьтесь к тому что их надо обязательно обдувать. А места не так чтобы сильно много. И в итоге может быть весьма шумно от вентиляторов.

7. Если у вас прошивка клиппер, то вам почти пофиг на новые большие и модные ARM платы управления. вы можете сделать принтер даже на cnc shield +atmega8. единственное что вам обязательно нужно это компьютер.

8. Все же в случае дельта принтера и клиппера лучше сделать многоконтроллерную конфигурацию.
Нагрев, концевик , обдув радиатора и обдув модели идеально было бы поместить на мк непосредственно около радиатора хотенда . Так чтобы к подвешенной платформе приходило лишь 4 провода и тефлоновая трубка. Да, к компьютеру придется подключать еще один usb uart. Но я бы сказал что это меньшее зло чем пучок проводов.

Upd:
9. Каретки: Возможно это неожиданно но без ремня каретки должны падать вниз. Не медленно скатываться с шорохом и шелестом а именно падать. Причем все три каретки должны падать с примерно одинаковой скоростью. И само собой не люфтить.

10. Openbuilds каретки и платформу эффектора не обязательно печатать. Доказано юзером хабра с ником pavlog. Проверено на себе.

11. Блоки питания светодиодной ленты от iek не подходят для принтера.
один на 4 ампера начал испускать волшебный дым через 2 часа экспериментов.
второй на 8 ампер отработал где то 6 часов под нагрузкой, после чего начал пытаться умирать.
Возможно я чего то не знаю про свой принтер. но на моторах выставлен ток чуть меньше ампера, а нагреватель не должен потреблять больше двух ампер в пике.

upd2:
12. чтобы быстро печатать необходимо задрать температуру на 10-15 градусов.

@темы: 3d

08:22

домовой
хм... при чтении хабра я вспомнил несколько php проектов web application firewall, требующих для своей работы отдельной базы данных. и на каждый запрос стучатся в базу.

Вспомнил как 20-40 неправильных запросов на странице да 200 раз в минуту загоняли восьмиядерный серверный процессор в loadavg=50+, попутно занимая ВСЕ разрешенные соединения к бд.

и крутится у меня мысль вида : а действительно ли такие WAF будут защищать сервер? или же они станут слабым звеном создающим дополнительную громадную нагрузку на сервер?

домовой
1. Фигня случается. Не верьте в то что софт будет работать как положено. закладывайте обработку ошибок.
тупой пример из жизни
Скрипт синхронизации файлов имеет вид
mount nfs_or_samba_or_ceph_etc:/share /mnt
rsync -avr --delete /mnt/ /backup
umount /mnt


Тупо, банально, надежно как топор .Казалось бы что может пойти не так? На практике оказывается, что сервис доступа к файлам внезапно может умереть. В том числе и железно. И не важно самоделка на дебиане это, сервер с проверенным миллионами людей дистрибутивом NAS, или железная NAS за много миллионов руб.
следствие : монтирование не произошло. папка mnt пуста.
А дальше все ... rsync радостно удаляет все из папки получателя ибо папка источник пуста.

upd а надо было всего лишь написать
mount nfs_or_samba_or_ceph_etc:/share /mnt && \
rsync -avr --delete /mnt/ /backup && \
umount /mnt


2. 404 страница должна формироваться без обращения к СУБД. И закладывать это утверждение желательно на этапе построения движка. Ибо потом может быть очень больно.
Десяток не существующих картинок размещенных в теле какой нибудь странице открываемой допустим 200 раз за минуту похоронят сайт жертву.

3. любой механизм обработки человекопонятных адресов должен иметь белый список кошерных вариантов адреса.

@темы: заметки и советы