aleks3122

Я знаю все, но неточно
Пикабушник
Дата рождения: 16 января
3247 рейтинг 10 подписчиков 1 подписка 4 поста 1 в горячем

Текущее состояние проекта по бесплатным отдачам (3 года прошло)

Первая версия

Несколько лет назад я разработал комплекс программ для получения на юле и авито интересных отдач. Вкраце схема такая: я заранее создаю на этих сайтах интересующие меня запросы с нужными фильтрами. Например, "бытовая техника бесплатно", "товары для компьютера с ценой до 100 руб." и т.д.Затем эти запросы я вставляю в специально для этого разработанную мной программу (программа опроса "ПО") и она по запросам выдает в текстовый файл специального формата (с разделителями полей) полученные результаты с юлы и авито. После этого в работу вступает "запускалка". Это конфигурация на 1с, которая содержит список запросов, вызывает ПО и анализирует полученные данные. Т.е. создает базу объявлений, смотрит на них и если они по всем параметрам мне подходят, шлет мне на мессенджер уведомление. Параметров много: это черный список по словам в тексте, черный список по авторам (есть любители подавать гору объявлений с нулевой ценой на всякую хрень). В определенный момент времени моя программа даже вылавливала номера телефонов, это сделать на авито совсем было не просто. В статьях на хабре я на этом детально останавливался, но затем все мои способы отказались работать, т.к. авито блокировало меня как пользователя и мой IP и еще какие-то препоны появлялись. Это уже не говоря о том, что постоянно плавал формат выдачи. То одно поле изменится, то еще там что и приходилось постоянно следить. Типа не идут отдачи, нужно лезть в отладчик и смотреть где ломанулось.

Отсылка к статьям на хабре

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

https://habr.com/ru/articles/582322/

https://habr.com/ru/articles/596307/

Там я описываю всю историю возникновения данной программы, работу ее в режиме клиент-сервер, через интернет, с помощью браузера и т.д. Сейчас же почти все что там было описано уже устарело :-( Т.е. можно запустить, но не чаще чем раз в 5 минут делать запросы, часто авито выдает каптчу, часто пишет что ваш адрес заблокирован и прочую хрень, но для истории развития вопроса почитать можно. Особенно там жгли коменты. Но потом их почистили чтоли? Сейчас интересного не осталось

Работа и наиболее интересные отдачи

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

- 2 токарных станка. Один большой ижевский 1И611П во вполне рабочем состоянии (про это писал на пикабу, но случайно создал новый аккаунт), второй маленький настольный, явно самопальный, но вполне себе рабочий. Вот эта статья:

https://pikabu.ru/story/besplatnyiy_nu_pochti_tokarnyiy_stanok_9699049?ysclid=m2sl1ukzyt982123350

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

Текущее состояние проекта по бесплатным отдачам (3 года прошло) Халява, Авито, 1С, Программирование, Ремонт, Бытовая техника, Малый бизнес, Длиннопост

- куча системных блоков от старых первопней до core i5 на сокетах до 1366, 1150. В том числе брендовые рабочие станции HP, горы памяти от диммов SD-RAM до DDR4 памяти, ноутбуки - много.

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

Текущее состояние проекта по бесплатным отдачам (3 года прошло) Халява, Авито, 1С, Программирование, Ремонт, Бытовая техника, Малый бизнес, Длиннопост

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

- газовые баллоны, пропан, кислород, ацетилен, хладон, фреон

- промышленное оборудование: моторы, устройства, вентиляционное оборудование, отопительные котлы. На газу, на дизельном топливе

- интересная мебель: икеевская, металлические кровати

- тряпки: несколько десятков кг полотенец, простыней, пододеяльников, покрывал, матрасы. Это все отлично продается

- стройматериалы: фанера 1.5 на 1.5 м листы толстые, тяжелые 12 мм, целые панели OSB, бруски 50х50, доски с полов домов 1912 г. постройки, эти пошли на пол в гараже

- железо: много очень. Ворота на гараж, двери, решетки на окна, арматура, различный лом.

- для дачи: газонокосилки бензиновые и электро, садовый инвентарь, бетономешалка

- электротехника: лампы, светильники домашние и уличные, электроустановочные изделия, кабель, щитки, электросчетчики, шкафы

В общем, всего не перечислить, я конечно что-то упустил, но всего не упомнить.

И это я не искал по некоторым не особо интересным для меня категориям, типа авто запчастей, мобильных телефонов. Хотя как-то случайно видел объявления что отдают целую поляну автомобилей, примерно 90ых готов иномарки, джипы, но их надо было на чем-то и куда-то вывозить и еще непонятно что там с документами. Вот объявления интересные, но которые не сумел взять или не успел, или не потянул физически:

- железный гараж

- подъемник для автомобилей из автосервиса

- огромная стенка из профлиста несущего, не смог найти кто мне ее разберет, высота была 6 метров, длина метров 20, в итоге я ее перепродал за 10000 (это копейки по сравнению с ценой самого профлиста). Это практически готовая крыша для дома, сарая, гаража

- несколько бытовок, в т.ч. металлических

Возникающие проблемы

В процессе работы программы возникало огромное количество проблем. Редко когда программа работала 2 недели подряд без моего вмешательства. Постоянно шла борьба с авито, т.к. они вводили все новые и новые подлянки. Особенно запомнился такой случай. Все шло хорошо, но почему-то ответ авито с данными для разбора стал очень маленький. Примерно раз в 10 меньше чем надо по объему. Стал выянять что случилось и понял что в html файле стали встречаться нули. Т.е. символы с кодом "0". И все строковые процедуры считали ноль за конец строки. Еще из с++ я мог с этим бороться, стал предварительно перебирать ответ сайта и менял все нули на пробелы. Но вот при разборе файла из 1с, этот номер не прошел. Нет просто в 1с никаких средств чтобы просчитать текстовый файл с диска и "перепрыгнуть" нули. Что я там только не делал - встречаю ноль - все, конец файла. В итоге я придумал такой способ. Перед разбором файла я пропускаю его через редактор sed - это старая программа времен ms dos, работает из командной строки и он может принудительно менять в файле одни символы на другие, вот я и менял нули на пробелы (0х20). При этом сами запросы я делал с периодом от 20 сек и больше. И скоро этой лавочке пришел конец. Пару раз сделал запрос, и все, "у вас проблемы с IP адресом". Больше авито не работает. Но правда потом минут через 20...30 снова работает. Но это уже был способ не пригодный для быстрого парсинга.

Костыли и решения

Я понял, что надо что-то менять в моей программе. Сначала я попробовал распределить все мои запросы по разным серверам с разными внешними IP адресами. Но это помогло лишь частично, запросов было больше чем доступных внешних IP адресов, а проверять бытовую технику раз в 5...15 минут, это никуда не годится. Утешение было лишь в том, что у моих конкурентов наверное были аналогичные проблемы. Хотя на авито есть платный API где можно делать запросы как угодно, никто тебя не заблокирует. Но в итоге мои отдачи пошли на ноль. Практически ничего не удавалось выловить.

Попытки переделать решение

Отказ от самодельных запросов

Я стал пытаться найти какой-то обходной путь. Причем бесплатный. И заметил что есть сервера, где моя программа не работает уже никак, т.е. и час и сутки можно ждать, но запрос так и не проходит, в ответ авито дает "проблема с IP адресом", но если запустить браузер, например, Chrome, то тот же запрос нормально проходит. Видимо дело в куках, но у меня уже был период когда я фиддлером вычислял какие именно куки требует авито и даже писал макрос для фиддлера, который вылавливал этот кук, затем я его вычитывал из файла в 1с и после подставлял в запрос. Но видимо программисты из авито пошли дальше и усложнили метод. Я понял что это плохой метод - всегда быть в позиции догоняющего и решил принципиально сменить парадигму. Надо пробовать открывать запрос просто браузером и сохранять ответ в html файл.

Разбор html файла в 1с

Так я пришел к первой части новой задачи. Разобрать готовый файл с ответом. Честно говоря, я замучился на с++ вручную искать всякие теги и решил все-таки использовать что-то более высокоуровневое. Главная задача была отказаться от кода на с++ и целиком работать из 1с. Благо в версии 8.3 есть много нужных мне инструментов: и запросы можно там руками делать и с FTP работать и html файлы анализировать. Так я и поступил. Стал разбирать html файл с ответом авито (т.е. там уже где были реальные объявления). Сначала я перегнал файл в здоровенный массив, а во вторую очередь я уже из массива делал выборку по тегам. Получал таблицу значений где каждая строка была реальными данными по объявлению:

- data id (т.е. идентификатор объявления)

- заголовок

- текст объявления

- ссылка на фото товара

- цена

- дата и время подачи объявления

- адрес

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

Новая версия

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

set my_url=%1

taskkill /F /IM chrome.exe

c:

cd \

cd "C:\Program Files\Google\Chrome\Application\"

start chrome.exe %my_url%

C:\GETYULA\sleep 10

taskkill /F /IM chrome.exe

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

Цель - перехват выдачи хрома

Перехват фиддлером

Сначала я призвал на помощь старый добрый фиддлер. Написал в нем дополнительный макрос:

static function OnBeforeResponse(oSession: Session)

{

if (oSession.HostnameIs('www.avito.ru') && oSession.fullUrl.Contains("&s=104"))

{

oSession.utilDecodeResponse();

var Page;

var filename = "C:\\GETYULA\\" + "~" + DateTime.Now.Millisecond + "_" + oSession.id + ".txt";

Page = oSession.GetResponseBodyAsString();

var sw : System.IO.StreamWriter;

sw = System.IO.File.CreateText(filename);

sw.Write(Page);

sw.Close();

sw.Dispose();

}

if (m_Hide304s && oSession.responseCode == 304) {

oSession["ui-hide"] = "true";

}

}

Т.е. перед ответом на запрос проверить что это "наш" запрос. А именно: он к авито и содержит в себе строку "&s=104". А это сортировка выдачи авито по дате подачи объявления. Как только мы отловили наш запрос расшифровать его (строка oSession.utilDecodeResponse()), и сохранить в файл. Имя файла должно быть уникально, поэтому в его имени я использую текущую милисекунду и еще добавляю символ "~". В итоге если:

- сначала запустить хром

- потом запустить фиддлер с указанным макросом

- открыть хромом страницу запроса

- подождать секунд 15...20 пока в хроме все загрузится

- закрыть хром и фиддлер

То в чистом остатке на диске появится текстовый файл (на самом деле там html) со всеми объявлениями из моего запроса. А его уже я могу разобрать на объявления в 1с. Но у этого способа были недостатки:

- привлечение стороннего ПО (фиддлер)

- сложная синхронизация всех операций (я пару дней подбирал задержки для четкой работы) между запросами из 1с, запуском фиддлера и хрома

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

управление хромом через питон

Некоторое время я изучал инет. Читал про аргументы командной строки хрома, читал про управление другими браузерами и нигде не нашел приемлемого способа сначала открыть страницу, потом ее автоматически сохранить. Я глядел даже в строну CURL. Эта консольная программа может очень многое, страницы тоже умеет скачивать в файл, но с авито она не смогла вытащить реальную страницу с объявлениями. В конце концов, я понял что реальный способ это использовать пайтон. Ну или "питон". Это язык который дофига чего может, у меня с ним не было особого опыта работы, но я решил попробовать. Скачал сам пайтон, установил его, и запустил вот такой найденный на первой же странице поисковика файлик:

from selenium import webdriver

driver = webdriver.Chrome()

driver.get('https://ya.ru');

html = driver.page_source

f = open("C:/GETYULA/~page.txt", "wt")

f.write(html)

f.close()

И да, это сработало! Сам запустился chrome, написал в строке уведомлений, что им управляет стороннее ПО, открыл яндекс и сохранил его вывод в файл. Методика была получена. Дальше этот скрипт надо было усовершенствовать.

- сделать анализ аргументов командной строки (мне же запросы разные надо передавать)

- добавить нужную кодировку

- правильно передавать запрос, содержащий русские буквы

- сделать запуск браузера более быстрым. Я знаю что chrome можно запускать без показа окна

Запуск невидимого браузера без участия оператора

После некоторых тестов я понял что если хром запускать без появления главного окна, это не сильно влияет на скорость. Но сильно ухудшает наглядность. Если браузер видим, то я еще как-то успеваю глянуть, что там выдается и понять работает ли моя программа нормально. В итоге после нескольких дней отладки я получил нормальное сохранение вывода браузера со списком объявлений с авито в файл. Отдельно пришлось повозиться с кодировкой чтобы было можно распознать русские буквы, в итоге все подобрал. Теперь интервал между запросами составляет 3 минуты. Это конечно не то что было раньше (по 20 сек делал интервалы), но тоже ничего. Как показала практика много чего удается получить или хотя бы первым откликнуться на объявление.

Интересные случаи

Бывали конечно и неудачи. Один раз какая-то тетка отдавала газовую варочную панель, как обычно бывает форсунки забиты, в ручки/кнопки залит жир и автоподжиг не работает, но это все можно починить. В таких панелях самое сложное это ее разобрать, т.к. винты по 100 раз залиты горячей жратвой, и головки намертво приржавели. Часто их приходится вообще высверливать чтобы добраться до внутренностей. Я с теткой договорился, взял телегу и рванул на метро. Там еще от метро минут 20 надо было на транспорте ехать. Выхожу из метро, пишу ей типа все ок, я еду, через 20...30 мин доберусь, а она в ответ, мне много пишут (еще бы, объявление не сняла, там десятки желающих), переведите мне 500 руб, чтобы подтвердить что вы действительно едете. Мне 500 руб не жалко, но у меня дело принципа - получить бесплатно или за шоколадку/фрукты. В общем дальше не поехал.

Также бывают "соревновальщики". Пишут "кто быстрее приедет, тому и отдам". С такими тоже не связываюсь.

Часто встречаются "качели". Сначала отдают бесплатно что-то, потом, видя что желающих дофига решают это продать. Но конечно же желающих становится ноль. Так было со внешним блоком кондиционера как-то. Я был первый и уже выехал, как тетка сменила пластинку "много желающих, теперь продаю за 5000". Потом через несколько дней снизила до 1000 и все равно никому нафиг не нужен был этот блок. Потом снова он стал бесплатным, но мне уже не хотелось туда ехать. Хотя по правде говоря больше половины людей все таки хозяева своего слова. Если договорились, то отдают железно на тех же условиях. Часто опоздавшие предлагают деньги, чтобы товар оставили именно им. Был случай с дохлым ТВ Филипс. Я договорился, и уже поехал за ним, а мужик пишет, мне за него дают 500 руб, так что обломись. Я принципиально не участвую в аукционах, больше не предлагаю, ну нет, так нет. Через несколько дней автор объявления пишет, "приезжай за тв, тот, что 500 руб предлагал пропал". Так что даже если вы первый кто написал или позвонил по объявлению совершенно не факт что вы получите то что отдают.

Список последних интересных отдач (осень 2024 г)

7.10

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

9.10

- две видяхи PCIe (одна артефачит, вторая ОК)

10.10

- три вентилятора для ПК (откушены разъемы)

- системный блок крутой. Хоть там и LGA775 но стоит core 2 quad и охрененный блок питания

Zalman с подключаемыми кабелями на 500 Вт (очень грязный, жесть). БП разобрал прочистил, заменил 3 вздувшихся конденсатора 2200Х6.3 и все, работает, проверил.

13.10

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

14.10

- 6 старых ноутбуков (времен Windows XP/7) некомплектные (пошли на доноры SMD компонент)

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

15.10

- Газовый конвектор alpine air 50 (говорят исправный и весит более 30 кг). С ним вместе отдали выхлопную трубу, пропановый баллон на 27 л и шкаф для 50 л баллона!!!

- шуруповерт hitachi без аккумуляторов

- дегидратор (сушилка для овощей/грибов) Viatto VA-Dg6ss (не включается, попытаюсь починить). Добавлено: починил, просто сгорел предохранитель на 10А. Заменил, включил, работает. Там нихромовая спираль и металлический вентилятор сквозь сетки с фруктами или грибами гонит теплый воздух просто.

16.10

- газовая варочная панель Ariston (не работает электро поджиг)

- газовая колонка Vilterm s13 (течет в подводке, можно починить)

18.10

- 11 дохлых аккумуляторов от бесперебойников (это только на цветмет)

- фотоаппарат Canon powershot S2 IS (не работает ЖК дисплей, но все остальное работает, вставил батарейки и карту памяти, смотреть можно через видоискатель, фотки делает, объектив выдвигает)

Также были ранее очень жирные отдачи, часть из которых я продал. Например:

- Котел на дизельном топливе с горелкой мощность 40 КВт, исправный, но очень тяжелый

Текущее состояние проекта по бесплатным отдачам (3 года прошло) Халява, Авито, 1С, Программирование, Ремонт, Бытовая техника, Малый бизнес, Длиннопост

- Печь камин на дровах "Бавария 3 стекла", правда вместо трех стекол были вварены стальные листы

- 80 кг медного купороса. Потом его удачно продал

- Два платежных терминала. Сейчас переделываю их под управление бильярдным залом.

Текущее состояние проекта по бесплатным отдачам (3 года прошло) Халява, Авито, 1С, Программирование, Ремонт, Бытовая техника, Малый бизнес, Длиннопост

- Бесперебойник Eaton 9305 мощностью 30 КВт, в виде железного шкафа на колесах, весил наверное 200 кг

Текущее состояние проекта по бесплатным отдачам (3 года прошло) Халява, Авито, 1С, Программирование, Ремонт, Бытовая техника, Малый бизнес, Длиннопост

Бесперебойник и разобранные стеллажи

- целый склад отрезных и шлифовальных дисков для болгарки. Новые импортные в коробках по 10 или 25 шт. Взял столько, сколько влезло в машину, наверное около 150 кг.

- стеллажи из осб, и их много. Закрывался какой-то пункт выдачи заказов. Стеллажи хотело несколько СОТЕН человек, но я был первым.

- 3 огромных внешних блока от кондиционеров, одному не поднять, затаскивал в прицеп лебедкой по доскам

Текущее состояние проекта по бесплатным отдачам (3 года прошло) Халява, Авито, 1С, Программирование, Ремонт, Бытовая техника, Малый бизнес, Длиннопост

- туалетная кабинка

Текущее состояние проекта по бесплатным отдачам (3 года прошло) Халява, Авито, 1С, Программирование, Ремонт, Бытовая техника, Малый бизнес, Длиннопост

это уже после помывки и мелкого ремонта

- 35 бесперебойников APC мощностью от 500 до 650 Вт. Просто без аккумуляторов, исправные

Текущее состояние проекта по бесплатным отдачам (3 года прошло) Халява, Авито, 1С, Программирование, Ремонт, Бытовая техника, Малый бизнес, Длиннопост

- еще один мобильный кондиционер AEG исправный, купил для него переходник чтобы гофру наружу вытянуть

Текущее состояние проекта по бесплатным отдачам (3 года прошло) Халява, Авито, 1С, Программирование, Ремонт, Бытовая техника, Малый бизнес, Длиннопост

- 3 больших электрических шкафа. Высотой от 80 см до метра. С кучей автоматов и прочей фигней внутри, мне очень понравились толстенные медные шины. Жалко их сдавать на цветмет. Шкафы питали какой-то цех

- большая коробка инструментов: болгарка, дрель, куча отверток, ключей и прочего

- 2 40 л баллона из под углекислоты (заправил их и использую для сварки)

Текущее состояние проекта по бесплатным отдачам (3 года прошло) Халява, Авито, 1С, Программирование, Ремонт, Бытовая техника, Малый бизнес, Длиннопост

- сервер HP ML370 G4

Текущее состояние проекта по бесплатным отдачам (3 года прошло) Халява, Авито, 1С, Программирование, Ремонт, Бытовая техника, Малый бизнес, Длиннопост

Бизнес-итоги

В результате деятельности по получению халявы, ремонту и продаже ее был куплен автомобиль!

Текущее состояние проекта по бесплатным отдачам (3 года прошло) Халява, Авито, 1С, Программирование, Ремонт, Бытовая техника, Малый бизнес, Длиннопост

внешний вид сразу после покупки.

Мерседес 308D почтовик. Желтого цвета 1995 года выпуска. Также купил кучу кузовного железа для него (крылья, ремкомплекты дверей, телевизор, решетку радиатора и новый радиатор, помпу, ремень, арки, капот) и еще что-то. Сам а/м 1995 года, пробег 400000 км, дизельный двигатель, коробка автомат. И он едет и нормально заводится. Такой а/м хорош для получения всякой техники, в него _СТОЯ_ влезет куча холодильников, т.к. высота кузова 2 метра. И двери тоже 2 м высотой. Сзади есть подножка. В кузове можно поставить кровать и спать в нем, если тепло в ожидании отдачи. Есть сдвижная дверь из кабины в кузов. Если открыть эту дверь, можно возить длинномеры. Пока занимаюсь его ремонтом и приведением в божеский вид. На весну планирую заказать работы по подъему моего ижорского гаража на 85 см чтобы мерс туда нормально заезжал. Получится гараж - великан.

Текущее состояние проекта по бесплатным отдачам (3 года прошло) Халява, Авито, 1С, Программирование, Ремонт, Бытовая техника, Малый бизнес, Длиннопост

Даже страшно представить как это будет выглядеть. Но с председателем кооператива я уже договорился. Сделаю к заднему входу в мерс аппарели и лебедку внутри кузова чтобы играючи затягивать какие-нибудь стиралки или холодильники.

Также на вырученные от продаж деньги, я покупаю оборудование для ремонта всякого, например:

- манометрическая станция

- фреон

- весы

- горелки

- что-то для заправки кондиционеров

- запчасти для мерседеса

- оплачиваю взносы за гараж

Резюме

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

Основные плюсы:

- отдачи никогда не кончаются

- они случаются практически каждый день

- мне не надо платить за аренду офиса (все работы провожу в гараже, дома или на даче)

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

- у меня не особо много конкурентов

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

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

Минусы:

- это не работа в теплом офисе, надо мотаться по городу в т.ч. и в плохую погоду

- есть риск куда-то поехать и остаться с носом

- непостоянный доход

Показать полностью 13

История с запашком

В общем все было хорошо, пока не пришло от моей программы опроса авито очередное сообщение что бесплатно отдам уличную кабинку - биотуалет. Надо только откачать из нее литров 200 сами понимаете чего и самовывезти. А плотность содержимого около 1 (единицы), т.е. и весит оно килограмм 200 + сама кабинка. В общем нужен был помощник. Сильный и хорошо переносящий вонь. Такой у меня был. т.е. и сейчас есть.

История с запашком Халява, Туалет, Дезинфекция, Биотуалет, Длиннопост

Скриншот объявлений. Как видно, туалеты бесплатно отдают направо и налево.

В общем, я позвонил по объявлению (выбрал нижнее - зеленого цвета и без граффити) и мы помчались вперед в неизвестность. В качестве дополнительного оборудования я взял доски и лебедку. Думал что 300 кг я прямо стоя затяну по доскам в прицеп. Но оказалось что содержимого было намного меньше. Может высохло? В общем там было в баке литров 20. Мы подъехали аккуратно к кабине задом и решили попробовать аккуратно положить туалет в прицеп на спину. Так и сделали, содержимое начало плавно плескаться в баке, временами вытекая наружу. Прицеп стал походить на аквариум. Хорошо что еще дождь пошел, поэтому предательские струйки были не так заметны и все сразу смывалось дождем. Покидав все допоборудование в багажник двинулись в обратную дорогу.

История с запашком Халява, Туалет, Дезинфекция, Биотуалет, Длиннопост

Вот так и ехали.

Пока доехал до гаража, туалет был почти пуст. Небольшая трудность была в заезде в гараж, прицеп наклонился и потекло сильнее. Но я быстро подставил ведро и все сохранил. Потом были праздники. Кабина отстаивалась в гараже. Гараж стал пахнуть не очень хорошо, даже при закрытых воротах. Вопрос надо было решать. После праздников, поехал в компанию "Чистый город". И там (немного поторговавшись) мне вымыли и кабинку снаружи и изнутри и прицеп. Запах почти прошел. За услугу заплатил 2000 руб. Потом поехал на дачу. Сначала хотел сделать в кабинке дровяник. Но потом все таки решил продать. Выставил на авито за 12000 руб. Кстати в чистом городе мне мужики сказали что такие кабинки бу стоит по 16000 руб, а новые по 30000 руб.

История с запашком Халява, Туалет, Дезинфекция, Биотуалет, Длиннопост

Работает профессионал, идет помывка

Объявление у меня провисело только одну ночь. На следующее утро стали звонить и писать. Я выбрал куда было удобнее везти и ответ туалет в Сосновый бор. За доставку получил еще 6000 руб. Отвез на стройку. Видели бы вы лица благодарных работяг, когда они увидели что я им привез. Говорили что затрахались бегать по кустам, теперь будут как белые люди.

История с запашком Халява, Туалет, Дезинфекция, Биотуалет, Длиннопост

Готов к вводу в эксплуатацию

Вывод: кабинки надо брать все, это очень ходовой товар. Я еще одну пропустил бесплатную, т.к. прицеп этой был занят. Но теперь буду знать, чуть что и выезжаю!

Показать полностью 4

Кассовый аппарат с блошиного рынка1

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

Кассовый аппарат с блошиного рынка Касса, Фискальный накопитель, Ремонт, Длиннопост

Это уже после моих манипуляций

Причем он был в родной коробке, с паспортом, блоком питания и родным micro usb кабелем. Также там была коробочка от модуля фискального накопителя (ФН) и на самом аппарате не была повреждена заводская пломба. А я как раз сдал программу (писал на заказ для бильярдного клуба и мне там надо было печатать чеки на примерно такие же аппараты). Этот аппарат назывался "Атол-90ф". В общем я решил попробовать подключить его к компу, настроить драйвер и отлаживать программу дома, печатать x,z отчеты, чеки, возвраты и т.д. ничем не рискуя и не ездя на объект. Ах, как я был наивен в тот момент. Аппарат мне продали аж за 400 рублей, что в общем-то вообще копейки.

Дальше началось все интересное. Придя домой, я включил аппарат и он включился! Ого, значит есть шансы! Подключил к компу, он определился как 2 сом порта (один для связи с компьютером, второй для передачи данных в ОФД (оператору фискальных данных)). Драйвер 10ой версии я установил и касса даже сняла X отчет! Я обрадовался, но рано. Больше ничего с ней я с компа сделать не смог. ФН был просрочен и никаких чеков и отчетов я сделать не мог. Тут надо было что-то решать.

Еще давно я слышал (когда ЭКЛЗ были везде (электронная контрольная лента защищенная)) что есть в природе эмулятор ЭКЛЗ типа для отладки взаимодействия с кассой. И оказалось что и эмулятор ФН тоже существует. Но только стоит он около 12000 руб. Это конечно дороговато. Но путем поисков на авито я нашел в СПб контору, которая его продает всего лишь за 6000 руб. В общем, поехал купил. Эмулятор штука полезная. Он как настоящий, только его можно сбросить в начальное состояние и регистрировать сколько хочешь раз.

В общем немного помучавшись я подключил этот эмулятор и даже смог провести регистрацию кассы (сначала ее обнулив полностью) на новое юр. лицо. Но дальше все пошло хреново: X отчет снимался как и раньше, а чеки не пробивались (с компьютера). Драйвер писал что не хватает какой-то там лицензии. Вот зараза! Я стал вникать. И вычитал, что эта касса она же кнопки имеет, и по умолчанию работает как касса, т.е. пробивает чеки с кнопок. Нашел руководство как пробивать попробовал, не пробивает, чтоб ей пусто было! Нет загруженных в память кассы товаров. Я нашел утилиту, которая загружает товары, но она не работала, не видела кассу. Оказалось, что у касс этих именно атол 90ф бывает тьма прошивок, и разные версии утилит под разные прошивки, скачал штук 5 разных загружалок, но не работала ни одна. Потом меня осенило - я же ставил 64битную версию драйвера! Поставил еще такую же но 32 битную и все загружалки заработали. Я залил тестовую базу товаров и наконец-то касса пробила мне первый чек. Т.е. в принципе она чек может, а через комп не хватает лицензии. Начал читать дальше, форумы, руководства, блоги всякие и выяснил что у этого аппарата есть так называемые "Коды защиты" (КЗ) и они под разными номерами. И среди них есть КЗ1 т.е. с номером 1, это код, который разрешает кассе работать в режиме фискального регистратора (ФР), т.е. от компа через кабель. А в моей кассе был только КЗ4, который тоже там что-то делал. Сами КЗ берутся из паспорта аппарата, а в моем паспорте только это КЗ4 и был. Первого не было :-(. Я загрустил.

Потом погрустив начал расследование дальше, написал в поддержку Атола, и надо же!!! Мне ответили, типа плати 3000 руб и дадим тебе КЗ1. А что от меня надо? Только деньги и заводской номер (ЗН) кассы. Но мне 3000 было жалко. Я решил умереть но получить его бесплатно.

На одном из форумов ЦТОшников (центр технического обслуживания, т.е. кассовые механики) я увидел как люди налево и направо раздают эти самые КЗ1. Типа один говорит дайте мне к кассе с таким-то ЗН, и ему пишут КЗ1 и КЗ4. И таких постов было много. Я зарегистрировался на форуме и тоже также спросил. Но был послан подальше. Я же не ЦТО! Я - так, просто сам по себе. В общем они надо мной там немного поглумились, что такой я лохопед и кассу мою надо на помойку выбросить и из меня только деньги и надо вытягивать. А я, тем временем, создал табличку в екселе и внес в нее все ЗН касс и соответствующие им КЗ. Это все я нашел в этом форуме. И сначала решил немного подумать как мне самому создать КЗ1 из моего ЗН.

Я отсортировал по возрастанию ЗН, потом переписал в 16ичной системе все номера, потом в двоичной, долго ломал голову, но алгоритм мне было не понять. Скорее всего там есть какой-то полином типа a1*x^n + a2*x^(n-1).... + ak и в этот полином подставляют ЗН кассы а на выходе получается КЗ. Но такую задачу так просто не решишь.

Тогда я решил действовать другим путем: Если я знаю коды защиты от какого-то другого ЗН почему бы мне не поменять мой ЗН на этот и тогда к нему прекрасно подойдут коды защиты с форума. Вопрос был лишь в том, как поменять ЗН и вообще, можно ли это сделать хоть как-то. Почитал в инете, оказалось, да можно, но не так-то просто. Чтобы его поменять надо в кассу прошить специальную инженерную прошивку, потом там дать команду низкого уровня для сброса ЗН и касса сама заверещит: "нету у меня ЗН, давайте его быстренько введем"! Я нашел на форуме архив со всякими прошивками. А эти прошивки, это ужас просто. Во-первых, их дофига. Одна может то, другая это. Во-вторых, их нельзя шить как попало. Только ту на эту а вот ту на эту или эту. В-третьих, прошивка шьется путем перевода работы кассы в режим прошивки и управляет прошивкой загрузчик. А их тоже полно версий и непонятно кто там с кем совместим или нет. В общем один неверный шаг и касса превращается в кирпич. Начал я пытаться что-то там прошить, сначала касса окирпичилась. Но мне все-таки удалось ее восстановить. Потом залив очередную прошивку касса напечатала на бумаге там что-то и намертво зависла. А выключается то она с клавиатуры, и внутри аккумулятор, причем живой. Т.е. или ждать пока он сядет или нарушать пломбу и разбирать аппарат. В общем, я его разобрал, добрался до аккумулятора и отключил его. Так что процесс был довольно сложный. Но в конце концов я нашел подходящую инженерную прошивку и сбросил ЗН! И сразу же из этой прошивки попытался поставить другой ЗН с сайта ЦТОшников. И он не подошел!!! Касса написала что номер не подходит! И вообще ни один не подходил. А мой старый подходил. Я подумал что это хитрожопые драйвера при попытки записи нового ЗН лезут куда-то в интернет и ищут свободен ли этот ЗН или занят. И на время отключил интернет, но номер не выгорел. Подумав еще немного я понял что старый номер мог быть у меня записан в эмулятор ФН и при сравнении номеров выскакивала ошибка. На время я отключил ФН и хопа!! Чужой номер нормально прописался в кассу. Теперь надо было пытаться вводить коды защиты. И снова облом! 4ый (т.е. который и так был) вводится а первый (ради которого вся эта эпопея) не вводится! Я начал уже почти волосы на себе рвать от чудовищного геморроя данной процедуры, стал думать и единственная версия была в том что на данной инженерной прошивке КЗ1 вообще не работали. Я тогда залил снова нормальную прошивку и наконец-то!!!! КЗ1 ввелся. Но теперь у меня были разные ЗН в кассе и в ФН. Касса на это конечно ругалась. Но ФН-то у меня не настоящий! Я подключил его к USB порту через переходник, поставил драйвера и спец программой сбросил эмулятор в начальное состояние. Потом снова вставил в кассу, снова ее зарегистрировал и вот теперь! Она стала нормально работать от компа в режиме фискального регистратора. Отладил печать чеков, возвратов, вывод ФИО кассира, сделал операции внесения и изъятия наличных. В общем труд оказался не напрасным, надеюсь кому-то поможет кто окажется в моей ситуации.

Показать полностью 1

История с переделкой термопринтера Epson

История с переделкой термопринтера Epson Термопринтеры, Электроника

Купил на удельной фискальный регистратор за 100 рублей 😊 У лица узбекской национальности. Аппарат называется fprint-88k. А видом похож на термопринтер epson. В нем даже бумага была, полный рулон, он сам рублей 100 стоит 😊 В общем стояла задача сделать из этой какашки что-то полезное. Как оказалось, в нормальном человеческом принтере наши мастера заменили интерфейсную плату на плату фискального регистратора. С микроконтроллером, флэш памятью, часиками с батарейкой, супервайзером питания и прочими деталями. Т.е. купив новую плату интерфейса, а эту хрень выкинув, я бы получил нормальный принтер. Но плата интерфейса стоит от 3500 до 9000 руб и это перебор для принтера за сотню. Потом я думал написать свою прошивку для микроконтроллера чтобы просто транслировать входные данные с компа на принтер. Потом подумал что можно проще - убрав контроллер и просто замкнув вход на выход. Там 4 провода от сом порта. Но этот номер не удался 😒 В итоге, на просторах инета я нашел фото лайт интерфейса usb и даже с фото смог срисовать схему. Оказывается принтер Epson TM-T88IV уже содержит внутри себя usb интерфейс! Надо только правильно подключиться и сказать принтеру что щас по usb будем работать. Последнее решается резистором, проводками соединил usb порт с системным разъемом принтера. И хопа! Фискальный регистартор снова стал принтером. Печатает тестовую страницу и все что хош!

Показать полностью 1
Отличная работа, все прочитано!