00:00

домовой
открыл для себя Василия Васильевича Ершова. Теперь не могу смотреть на всю альтисторию где обыкновенный российский студиозус прыгает в кабину истребителя после чего начинает причинять добро и справедливость в небе над брестом питером сталинградом и т д.

1. искусство управления самолетом не эквивалентно "дергать за штурвал". это самое меньшее из того что делает пилот ЛА. помимо этого есть увлекательные задачи
"найди на карте где именно ты сейчас находишься"
"уговори самолет лететь на заданной высоте и с заданной приборной скоростью вне зависимости от поведения термиков и направления ветра "
"не разбей самолет о впп при внезапно изменившемся ветре"

2. В интернете оказывается не сложно найти и текстовые и видеоинструкции по управлению штурмовиками и истребителями второй мировой войны. И знаете что я вам скажу? Они хоть и рассчитаны на пилота пришедшего иэ ДОСААФ но простыми их назвать нельзя. Вероятно потому что пилотов весьма качественно учили. и они понимают зачем штурмовику ил-2 нужно две пневмосистемы, радиатор охлаждения масла и что за дико странный механизм управления сбросом бомб стоит на самолете и как им пользоваться.. А так же понимают откуда идут корни того шаманского ритуала который выполняется при запуске и прогреве двигателя.

@темы: Первым делом мы испортим самолеты

20:27

домовой
Если вам в голову придет мысль что андроиду место в чпу то подумайте еще раз. Не место ему там.

Не верите? Возьмите sdr приемник, подключите к пк, настройте rtl tcp. Поставьте на андроид sdrtouch включите через rtl_tcp любимую радиостанцию. Погуляйте по квартире.
Слышите хрипы , изменение скорости, заикания в неопределенный момент времени?

это не сеть. Пк говорит что передает не больше 17 мегабит/сек.
Это не вайфай. До точки 2 метра.
Это не процессор пк.ибо под rtl_tcp простаивает даже на пень3. И не память которой свободно добрых 3 гб.

Андроид? Не признается
Топ храбро пишет загрузку цп всего в 140 % из 800 возможных
памяти добрый гб свободен

upd: чисто теоретически можно было бы сделать лютый бутерброд:
1. serial mirror сделает мост между bluetooth spp и tcp/ip
2. socat PTY,link=/tmp/mypty tcp-connect:127.0.0.1:1234 теоретически должен соединиться и сделать pty к которому можно подключить klipper
3. к klipper прицепить к octoprint

@темы: мог(б)ильные технологии, sdr

23:32

домовой
Попал в руки планшет на spreadtrum sc77* с диагнозом "не включается"
Краткая диагностика показала
0. плата защиты акб говорит фейхоа вам а не энергию.
Дальннейшая диагностика выполнялась после оживления акб.
1. Ресет - вероятно работает ибо железный
2. На кнопку power реакции нет
3. На кнопки vol+ одновременно с power реакции нет
4. При включении зарядки реакция есть но странная.
Стандартный bootsplash заканчивается сообщением no command. И никакие комбинации кнопок это состояние не меняют
5. Ток заряда был в районе 0.01 а

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

Программатор огорчил тем, что есть только под форточку. Правда стоит признать что в VirtualBox на xp sp3 программатор завелся без проблем. Надо было только сказать VM слушать весь usb стек.

Прошил. планшет ожил. Но не заряжался.

На второй день поиска сложного решения" Почему не заряжается и не греется и следов на плате нет "увидел совет "смените кабель". Сменил. Помогло.

@темы: мог(б)ильные технологии

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

допущения:
1. если скрипт не пишет лог файл значит он повис.
2. pid процесса известен и записан в pid файле
3. известно имя лог файла

не придумал ничего лучше чем
1. получаем текущий unix timestamp (date +%s)
2. получаем unix timestamp времени последней модификации файла stat -c %Z sсript.log
3. вычитаем из первого второе. если число больше чем n секунд то убиваем скрипт

на практике получается что-то типа

#!/bin/bash
check_spam_bot()
(
read pid <sсriрt.pid
file_date=`stat -c %Z sсript.log`
tmp_date=`date +%s`
[ $((tmp_date-file_date)) -gt 300 ] && echo тут мы убиваем кошку $pid
)

[ -e sсript.pid ] && check_spam_bot

@темы: рабочее, мониторинг

15:22

домовой
У сестры накрылся телефон (умерло гнездо). Практически не заряжается. Временно отдал свой.

Узнал в сервисе что можно сделать. Услышал про замену акб за 2 круб и отсутствие нужных разъемов micro usb. Так что сдуть гнездо и запаять новое не вариант. из батарею ждать много дней.
Понятно что мастеру необходимо как-то оплачивать стоимость аренды и коммунальных платежей, но блин это как то дорого.

Полез на али искать разъемы. В первом же ответе увидел лот "25 разных вариантов по 2 шт каждого гнезда micro usb" различающихся длиной и направлением изгиба выводов, и длиной ушей крепления к плате и все это чудо ... за 200 руб с учетом доставки.

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

— Винни, тебе что намазать, мёду или сгущённого молока?
— И того, и другого!… И можно без хлеба!


теперь надо найти какой нибудь не совсем мертвый смартфон на время пока посылка будет идти до почтового отделения.

@темы: мог(б)ильные технологии

домовой
Задался целью сделать из старого ноутбука на пентиуме 3 что нибудь полезное.
Как уже писал ранее из-за кривого модуля видеоадаптера запустить нормальную gui программу приемник увы невозможно. (Да, я знаю что это звучит предельно дико от линуксовода со стажем)
что можно:

1. сделать управление sdr через локальную сеть.

на слабой машине с sdr донглом запускается что-то типа
rtl_tcp -a 192.168.1.54 -p 1234
где 192.168.1.54 это адрес этой самой машины в лвс.
на другом более мощном пк запускается
gqrx -e
в окне настроек
выбрать device: other
в device string вписать: rtl_tcp=192.168.1.54:1234
сохранить.
после этого можно слушать радио через приемник находящийся где то в лвс/интернете.


2. запустить прием радио из консоли
rtl_fm -f частота -M wbfm -| aplay -r32k f S16_LE -t raw -c 1
пока что команды не проверены. (в разных дистрибутивах руководство к rtl_fm разное и верить лучше тому что написано в ман вашей машины )

не проверено
сканеры частот
github.com/0xabad1dea/pyrtlsdr-peakfinder
github.com/EarToEarOak/RTLSDR-Scanner

грязная обертка к rtl_fm
github.com/halmartin/rtl_fm_gtk

@темы: sdr

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

Как сделать
0. купить флешку
исходные данные: MBR
один раздел на весь диск
отформатировано в fat32

1. поставить разделу тип ef. необходимо для того чтобы мог грузиться efi
2. отформатировать раздел в fat32
3. примонтировать раздел в /mnt
4. поставить grub (
# grub-install --boot-directory=/mnt /dev/sdc
# grub-install --boot-directory=/mnt --efi-directory=/mnt --target=x86_64-efi
)
5. примонтировать образ dvd
6. скопировать все файлы с диска на в корень флешки.

загрузка из командной строки grub

#bios
ntldr /bootmgr
boot

#efi
chainloader /efi/boot/bootX64.efi
boot

соответственно необходимо и достаточно создать пункты меню под эти варианты загрузки и добавить linux по вкусу.

@темы: windows, никсы, памятка

домовой
я бы даже сказал что sdr оно почти как наркомания.
1. Сначала читаю что у других все клево.

2. Потом одолевает любопытство. покупаю у китайцев dvb-t донгл за <500 грошей на паршивом по нынешним временам тюнере fc0012. Но дешево.

3. Вот посылка пришла. с родным огрызком антенны (и как потом выяснилось на слабый компьютер ) ничего не принимается. приемник отправляется на дальнюю полку на пол года.

4. За эти пол года опять попадаются статьи о том что с sdr жить круто. Мельком проскальзывает информация о том что родную антенну можно нужно заменить самодельной. Точнее двумя метровыми кусками провода. (расчет дипольной антенны подсказывает что надо 2 куска по 138 см)

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

5.5 Неожиданно половина предложений ютуба так или иначе оказываются связаны с любительским радио и sdr. Незаметно так.

6. Методом научного тыка и вдумчивого курения самых разных статей удается подобрать режим декодирования модуляции станций.

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

8. руки вбивают в поиск "sdr raspberry" ...

продолжение следует.... возможно

@темы: sdr

22:11

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

смотрел ролик про то что тор не анонимен и вообще это проект от darpa - американской конторы занимающейся всякими научными военными проектами. В том числе пуями наводимыми на цель с помощью лазера и летающими подводными лодками.

Я поржал а люди то верят. Мне честно однофигственно чей там тор на самом деле.
Умная пуля.
Вводная:
1. редкий ствол огнестрела будет длиннее метра.
2. Редкая Пуля из огнестрельного ружжа летит медленнее 300 м/с

Немного примитивной математики на базе формул физики за 7 класс.
A*T*T/2=1
A*T=300
300*T=2
T=1/150
A=300*150
Итого: среднее ускорение пули в стволе=45000 м/с2.
Увы не могу себе представить электронику способную выдержать 4500 g.
Ну и мелочь вида: не всякий стрелок с открытого прицела попадет из ружжа в ростовую мишень на удалении 200 метров. Тупо потому что цель в ширину не превышает 10 угловых минут (1/6 градуса).

А еще на эти 200 метров пуля уже должна лететь по параболе. (максимальная высота примерно на два метра выше прямой соединяющей стрелка и мишень.) И никакой лазерный луч не выгнется по этой параболе.
Время полета всего 1 секунда. эффектным джедайским взмахом лазерной указкой за это время невозможно послать пулю за препятствие. и робототехника никак не поможет.

про летающие подлодки вообще бред. Да существовали. Да летали. Да тонули. Но блин это предельно несовместимые устройства. Одним нужен минимальный вес максимально большое крыло и очень много дури (на 60 тонн массы где то 12 мегаватт. характеристики взяты с ил-18).
Другим нужно минимальные крылья, много брони чтобы выдержать давление в 20 атмосфер и много дури чтобы хоть как то двигаться. (на 500 тонн 1.2 мегаватт. Примерные характеристики дизельных подлодок проекта Щ).

Попытка поднять дуру весом в 500 тонн... может и можно чем нибудь типа проекта экраноплана КМ-1. но вот живучесть тогда будет примерно такая же как у "каспийского монстра". случайный удар об воду на скорости 200 узлов и грозная подлодка превращается в сломаную консервную банку.
заставить плавать под водой самолет типа ан-24... закончится тем же самым. удар об воду и алюминиевая птица превратится в лохмотья.
но даже если предположить невозможное: самолет тщательно анодировали, оснастили поплавками укрепили так что он выдерживает 2 атм, научили тонуть.
Внимание вопрос сколько часов после всплытия уйдет на то чтобы подготовить самолет к взлету? как минимум продуть все форсунки и приемники воздушного давления, просушить турбовинтовые двигатели, осмотреть все рули и механизацию. и надеяться на чудо.

14:03

домовой
разблокировал новый xiaomi redmi 5. радуюсь неофициальной lineage os.

@темы: мог(б)ильные технологии

домовой
спустя год после внедрения сетевых принтеров на склады произошло ЭТО. Внезапно поломался принтер. Об этом узнали всего лишь 30 документов спустя ( что очень быстро. даже суток не прошло. ).

пока принтер меняли и существовала очередь печати полез разбираться можно ли удаленно узнать есть ли в очереди печати конкретного принтера задания.

оказалось что можно и даже просто
всего лишь
lpq -P имя принтера -h имя хоста где cups -U имя пользователя от которого обратиться
первые две строки ответа заголовок.
начиная с третьей строки задания в порядке добавления в очередь.

В итоге после 10 минут обсуждения родился план.

0. получить первое задание
1. поискать текст первого задания в файле XXXX
если найден
то
сообщать "ахтунг враги близко. печать не идет"
иначе
сообщать "в багдаде все спокойно"
2. записать первое задание куда нибудь в файл XXXX


ну и функция проверяющая состояние принтера выглядит примерно так
todo надо переименовать файл куда пишется первая задача принтера
check_printer()
{

if [ ! -e /tmp/check_printer ]
then
mkdir /tmp/check_printer
fi

cnt=`lpq -h $1 -U $2 -P $3|wc -l`
if (( $cnt > 2 )) # "очередь не пуста"
then
printer_first_task=`lpq -h $1 -U $2 -P $3|head -n 3 |tail -n 1`
if [ -f /tmp/check_printer/$3.txt ]
then
if grep "$printer_first_task" /tmp/check_printer/$3.txt >>/dev/null
then
echo "очередь не движется "
exit 1
else
echo "$printer_first_task" > /tmp/check_printer/$3.txt
# echo "Очередь движется"
exit 0
fi
else
echo "$printer_first_task" > /tmp/check_printer/$3.txt
fi
else
rm -f /tmp/check_printer/$3.txt
# echo "очередь пуста"
exit 0
fi
}


@темы: рабочее, мониторинг, никсы, Железо

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

про сами устройства я упоминал ранее. усе грустно и печально. программы автоматизаторы а ля tasker не заработали от слова совсем. немного подумав пришел к выводу, что проще всего будет не рассчитывать на вумность зомбоящика и взять его на удаленное управление через открытый порт adb.

для "киоска" идеально подошел firefox в варианте для tv. его же надо выбирать как браузер по умолчанию

соответственно на внутреннем веб сервере поселился "жутко сложный" скрипт аж на 10 строк

#!/bin/bash
tv_info_table()
{
adb connect $1
sleep 1
android.intent.action.VIEW 'tablo_server/qwertyuioop.php'
adb disconnect $1
}

tv_info_table android_host_tv_tv


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

в итоге родился скрипт вида.
#!/bin/bash
remove_error_flag()
{
if [ -f tv-list/$1 ]
then
rm tv-list/$1
# todo: тут полезная нагрузка которая должна выполняться при включении хоста
fi
}

set_error_flag()
{
if [ ! -f tv-list/$1 ] then
echo date>tv-list/$1
# todo: тут полезная нагрузка которая должна выполняться при выключении хоста
fi
}

check_tv()
{
ping -c1 -w1 -q $1 >/dev/null && remove_error_flag $1 >/dev/null || set_error_flag $1 >/dev/null
# ping -c1 -w1 -q $1 - отослать один пинг. ждать ответа секунду. не выводить мусор
# && remove_error_flag пинг закончился успешно. выполнить remove_error_flag
#|| set_error_flag $1 хост не ответил на пинг и надо выполнять set_error_flag
}

@темы: мониторинг

12:49

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

попробовал на сменном контроллере прошить последнюю marlin. выяснил что на этом самом сменном контроллере не работает usb-uart. впаял контакты, подключил внешний модуль.

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

Пока искал силу, волю и вдохновение, услышал в видео что есть такая прошивка как klipper. Суть: на принтер ставится маленькая прошивка которая умеет только крутить моторами и дергать ногами мк согласно команд компьютера. весь G-code читается, анализируется и пересчитывается в движение моторов на компьютере.

Примерно месяц я отбивался от тараканов предлагающих поставить клиппер. Увы тараканы победили. Поставив прошивку я внезапно узнал, что на том самом контроллере где я экспериментировал оказалось что то не так. Старт мк происходил с попытки n+1 где N>500, а до того он пытался стартовать и тут же уходил на ресет или сбрасывался по питанию. А от преобразователей l7805 можно смело прикуривать. При этом моторы и нагреватель не грелись совсем. Т.е. на плате либо КЗ либо еще какой аппаратный глюк, и что то превращает в тепло всю энергию идущую на плату.
В итоге клиппером я прошил уже основную плату контроллера. Запасную ждет тщательный осмотр и возможно демонтаж.

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

Возможно в будущем я попробую составить ман по настройке клиппера.

@темы: 3d, калибровка, klipper

13:42

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

удалось вкрутить в железку таскер, дальше буду учиться писать профили и задачи. А надо только открыть браузер при старте с определенной страницей. дальше js будет получать данные с сервера и отображать на экане а ля табло.
upd: Таскер не работает.

Написал простую страницу получающую данные с сервера ajax запросом. Все работает. единственное что пока не удалось - заставить firefox tv самостоятельно открывать страницу.

Точнее можно передать команду на открытие страницы через adb, но я бы сказал что этот вариант будет на крайний случай. в одном ряду с обучить обезьянку и с написать суперприложение которое только и будет что выполнять одну единственную команду android.intent.action.VIEW 'http:/ya.ru'

@темы: мог(б)ильные технологии

08:01

домовой
странный вывод:
0. электрическая самобеглая повозка (пылесос с мкпп по оценке Маска) это дорого. 150к на батарею(320в 20а.ч которой хватит на 1 час при скорости <80 км/ч) +20к частотник( считаю промышленный. )+20к мотор( асинхронный 11 квт)+ неопределенная цена за донор.

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

17:00

домовой
Философский вопрос. Когда я перестал быть наивным и ...молодым что ли? Как так случилось что я не могу прожить без кучи ненужных программ в андроид девайсе? Почему мне раньше хватало старого Сименса и пяти шести Ява приложений. Почему я не могу уговорить смартфон открыть мне текстовик с измененным расширение? Это я сошел с ума или все же глючит реальность?

11:11

домовой
Планшет умер не дожив до бесчеловечных экспериментов. Наслушался агрессивной рекламы на пол года вперёд.

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

1. средство от поноса
2. средства от простатита
3. шампунь от облысения
4. антиперспирант
5. средства от боли в суставах
6. тот самый злосчастный смартфон
7. фастфуд
8. обязательно тампоны с прокладками
9. Виагру,

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

@темы: на злобу дня

09:39

домовой
я искренне мечтаю чтобы разработчики 1с битрикс всю жизнь жили на dialup со скоростью 33 кбит/сек. И везде видели стоковый шаблон битрикс магазина. с отрисовкой громадных картинок и слайдром.

18:14

домовой
случайно наткнулся на книгу "от калькулятора до суперкомпьютера" Фельдмана. Из уже прочитанного у меня только одна мысль : а сказка то страшная. Даже если все делить на два.


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

13:38

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

текущее состояние:
1. нарисовал площадку под установку механического концевика распечатал и примерил.
приклеил концевик к площадке. переделал модель на случай если мне захочется странного
2. научился узнавать что установленные на принтере концевики нажаты.
3. научился из скрипта отдавать команды и получать результат.
4. нашел инструкцию о том как пользоваться калькулятором escher3d

если верить руководству то мне достаточно будет
1. указать правильные цифры на вход калькулятора
2. узнать и вписать коррекцию, по каждой из предложенных точек.
3. получить в ответ команды m665, m666 с правильными аргументами и записать их в память командой m500.

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

/*управление движением и опрос принтера о состоянии*/
G0 - движение головки/платформы принтера
M114 - Получить текущие координаты
M119 - Вывод состояния концевиков.

M105 получить температуру экструдера.

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

upd :
1. принтер не поддается на провокацию и отказывается выводить свои настройки. Нет уверенности что будет работать запись параметров в eeprom.
2. я где то что то делаю не так при работе с принтером. в результате скрипт долго тупит ожидая ответ.

upd2: продолжаю использовать дайрик как журнал эксперимента и записную книжку для всяких мелочей.
нашел пример простейшей программы отсылающей команды в порт
onehossshay.wordpress.com/2011/08/26/grbl-a-sim...
узнал что все таки есть метод позволяющий узнать есть ли байты в буфере
qaru.site/questions/351870/python-3-non-blockin...
ну и реализация microtime на питоне.
stackoverflow.com/questions/7238226/python-date...

upd3: скрипт измеряющий ошибку позиционирования я таки написал.
ответ на команды G0 и G1 я варварски отбросил ибо полезных данных он не несет.

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

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

upd4:
1. три раза перепечатывал крепление концевика. в итоге коромысло концевика удалось поместить на расстоянии порядка 5 мм от сопла. и наконец удалось получить что то отличное от цен на дрова
2. настройка отступов на родной прошитой в принтер marlin не работает. пришлось крутить винты.
3. выровнял отступы с помощью винтов. С правдивыми значениями ошибки высоты в окрестности сопла, и опытом кручения винтов дельта принтера выровнять стол оказалось не так сложно.

@темы: 3d, python