МОСКОВСКАЯ ВСТРЕЧА
Форум самогонщиков Сайт Барахолка Магазин МОСКОВСКАЯ ВСТРЕЧА

Использование FTP для дистанционного наблюдения и управления

Форум самогонщиков Автоматика
1 2 1
Игорь Академик - 7.4K 3.6K
30 Авг. 08, 01:43
Весной я извращался с дистанционным контролем за процессом ректификации - используя VBasic, ежеминутно отправлял себе на е-мэйл образы экрана монитора, на котором отображались температурные графики процесса. Когда что-то мне не нравилось и нужно было вмешаться, я звонил жене и давал инструкции.
Прошло время, я подрос, и теперь заканчиваю работу над новым проектом.
Я зарегистрировался не нескольких бесплатных хостах, и теперь у меня есть доступ к четырём серверам, поддерживающим FTProtocol.
Теперь программа не будет слать мне принтскрины на мыло, а будет отправлять картинки и настроечные файлы на FTP. Разница в том, что теперь я смогу не только наблюдать процесс, но и, изменяя LOG-файл, дистанционно вводить коррективы в работу системы. Запустив в фоновом режиме программку на рабочем компьютере, я смогу контролировать процесс программно, не отвлекаться от работы и включать звуковой сигнал только в ситуациях, требующих вмешательства.
Кроме того, я смогу устраивать публичные ректификации в прямом эфире, открывая доступ к картинкам для всех желающих.

Так что присваиваю себе титул "Продвинутый ламер".
ion Научный сотрудник Odessa 391 33
Отв.0  30 Авг. 08, 12:16
Игорь, возьми себе iPhone, и с его помощью будеш управлять
своим компом хоть из троллейбуса. Мой малый так мне нашел фильм, когда я хотел посмотреть, на его ПК. Позвонил ему, а он со своего iPhone залез в свой комп, пошарился по дискам, нашел его, запустил. Кажется это удаленный доступ к рабочему столу.
Игорь Академик - 7.4K 3.6K
Отв.1  30 Авг. 08, 13:39
Не получится. Для такого управления нужно иметь статический айпи. У меня его нет. Зато у меня теперь есть четыре статических айпишника на удалённых мощных серверах, и если тебе будет не в облом, я попрошу тебя попробовать запустить мою програмку на своём компе для просмотра процесса на моём компе.
Через полчаса выложу. исходник, прогу и инструкции.
Kotische Академик Саратов 8K 2.4K
Отв.2  30 Авг. 08, 17:39
Не получится. Для такого управления нужно иметь статический айпи.Игорь, 30 Авг. 08, 13:39
Не совсем так...
Есть сервис называемый DynDNS http://www.dyndns.com/
Как только ты устанавливаешь соединение с интернет, сервис автоматически обновляет ассоциацию твоего IP и доменного имени.
Хуже если ты находишся за NAT-ом... но даже в этом случае можно как то извернуться...
только на вскидку не скажу как...
Если есть сервер со статическим адресом, или другой канал передачи информации, то можно замудрить... ;-)
ion Научный сотрудник Odessa 391 33
Отв.3  30 Авг. 08, 23:17
Игорь, глянь личку пож.
Игорь Академик - 7.4K 3.6K
Отв.4  31 Авг. 08, 09:47
Ну что, народ, докладываю.
Пара бессонных ночей (Котище, ты прав, я маньяк), и задумка исполнена. Готовы три программы.

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

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

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

Итак, есть кто смелый? Кто-то поставит у себя мою прогу для тестирования и дальнейшего подсматривания за моими ректификациями?
Программа написана на VBasic, и ЕХЕ-шник и исходник я прилагаю. Единственное отличие между ними - в передаваемых исходниках я затёр пароли доступа к FTP-серверам.

Про грабли
1.) При запуске программы может возникнуть проблема из-за отсутствия компоненты msinet.ocx . Это не беда. В архив я её приложил, надо будет скопировать её в папку SYSTEM32 в каталоге WINDOWS и зарегистрировать. Кто не знает как - пишите, расскажу. Это просто.
2). Передаваемые картинки имеют около 3 мегов размера. Это много, поэтому я их сжимал RAR-ом. Программа сама их распакует, но ей нужно, чтобы на компе была программка rar.exe. В настройках нужно будет указать путь к ней. Иначе жопа.
3). Чтобы не загружать чужой комп ненужными файлами и для корректной распаковки, я постарался удалять скачанные файлы программно. Для этого использую команду KILL, а её не любит брандмауэр. Если будет ругаться, скажите ему, что блокировать ничего не надо.

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

Итак, народ, кто смелый?

PS. Архив со всей фигнёй прикреплён. 12.ZIP
На всех четырёх серверах статическая картинка - просто образец.
Игорь Академик - 7.4K 3.6K
Отв.5  31 Авг. 08, 10:06, через 19 мин
Котище, я, как ты знаешь, сантехник, и про NAT знаю ровно столько, сколько и про традиции народов крайнего запада Новой Гвинеи.
У меня маскарадный роутер, к которому подключено 2 моих компа и один соседский. На WLANe висит еще сын с ноутбуком. У всех один айпи. Кроме того, мой роутер подключен к другому - домовому - роутеру, к которому кроме меня подключено еще 20 человек. Я подозреваю, что внешний айпи у нас один и тот же. Сколько таких ступеней от меня до провайдера я не знаю, но подозреваю, что могу в сети безобразничать на полную катушку, и хрен кто меня найдёт в этих джунглях. Но это меня не радует. Поэтому вот извратился и слепил систему. Она оказалась не намного сложнее, чем знакомая мне система отопления. Улыбающийся Закачаешь программку ?
Kotische Академик Саратов 8K 2.4K
Отв.6  31 Авг. 08, 16:03
Программа написана на VBasic, и ЕХЕ-шник и исходник я прилагаю. Единственное отличие между ними - в передаваемых исходниках я затёр пароли доступа к FTP-серверам.Игорь, 31 Авг. 08, 09:47
Игорь, извини, я тебя огорчу...
Вопервых, пароль от сервера ftp://ххх:yyy@ftp.ho.ua ты в исходнике не затёр.
Вовторых, даже я, не являясь сколько ни будь квалифицированным хакером, вытащил из EXE-шника пароли от всех 4 серверов, буквально за 1 минуту, т.к. они практически никак не защищены!!!
Рекомендую тебе поменять пароли на серверах, и впредь быть осторожнее с использованием открытых паролей...

Я сейчас провёл небольшой эксперимент...  Подмигивающий
Програму, которая гостевая, можно леггко переделать, сделав её гораздо более безопасной!  Смеющийся

Идёшь на http://users.ugent.be/~bpuype/wget/
качаешь Latest version is 1.10.2, wget.exe (332800 bytes)
это утилита командной строки, вызываешь её следующим образом:
wget.exe shkola118.narod.ru/sc.rar
она тебе выволакивает этот файл, без применения каких бы то нибыло паролей!
И в твоей проге (гостевой) тогда вообще не нужна будет работа с TCP/IP  Смеющийся

Кстати, если будешь записывать файл не в формате .BMP а в один из .JPG .GIF .PNG
то можно обойтись и без rar.exe  Подмигивающий
Просто конечный пользователь откроет в Internet Explorer путь
http://shkola118.narod.ru/sc.gif
и будет просматривать, переодически нажимая F5 для обновления картинки.
Можно сделать HTML-страничку, чтоб картинка сама периодически обновлялась...  Смеющийся

Так что особого смысла в "гостевой програме" нет!
Достаточно дать http-шную ссылку на картинку лежащую на narod.ru и залитую туда по FTP,
а все заинтересованные люди смогут её просматривать Internet Explorer-ом  Смеющийся
Rudy Академик Питер 5.8K 1K
Отв.7  31 Авг. 08, 19:20
Котище, я, как ты знаешь, сантехник, и про NAT знаю ровно столько, сколько и про традиции народов крайнего запада Новой Гвинеи.
Игорь, 31 Авг. 08, 10:06
Посмотри http://ru.wikibooks.org/wiki/Порт/NAT
Зайди на http://2ip.ru/ - она много расскажет о твоем адресе. Там есть и еще приблуды, которые тоже помогут многое узнать.
В частности
1. http://www.lagado.com/proxy-test - расскажет о прокси.
2. Програмка с http://2ip.ru/firewalltest.php проверит можно ли работать с твоим компом напрямую. Если она сможет установить коннект - ты сможешь (по крайней мере теоретически) работать из интернета непосредственно со своим компом.
Если чего не поймешь - скинь ответы в файлы прямо в текстовом виде, попробуем разобраться.

Kotische, как раз наоброт, пусть Игорь даст и адреса и пароли (если они нужны для чтения файлов, если для изменения - не нужно). Можно будет ручками смотреть, что там твориться. Вряд-ли кто-то будет гадить, а если будет - тогда и поменяет.

По поводу данных - зачем вам картинки? Достаточно чисто текстовых данных. Все картинки, которые я приводил, построены из текстового файла, примерно такого вида:
Start: Sunday, August 31, 2008 17:00:08; Stop: Sunday, August 31, 2008 19:12:52
Time   Т_бака   Т_дефл.   Д_бака   Д_атм.
    0   22.969   25.781   -0.11   763.51
    1   23.000   25.750   -0.12   763.51
    2   23.031   25.781   -0.11   763.51
    3   23.063   25.781   -0.11   763.51
    4   23.094   25.750   -0.11   763.51
.......
Можно добавить комментарий вначале. А график из такого файла построит любая программа, хоть Excel, только разделять лучше Tab, а не пробелами.
Kotische Академик Саратов 8K 2.4K
Отв.8  31 Авг. 08, 22:42
Вряд-ли кто-то будет гадить, а если будет - тогда и поменяет.Rudy, 31 Авг. 08, 19:20
Rudy, ты не понял, это не просто левенький парольчик, это пароль учетной записи!
Причем на narod.ru это пароль дающий полный доступ к профилю, в том числе и к смене пароля.
Так можно делать когда у тебя есть админские права на сервере, но не на бесплатных серверах.
Если человеку не жадко полностью расстаться с доменом http://shkola118.narod.ru то не вопрос, пусть публикует пароль...
но мне показалось что он этого не желал, просто по неопытности обращения с безопастностью, оставил в программе уязвимость.
Я не учу его жить, я просто показал пальцем где гнездится засада, и как с минимальными трудностями её избежать...
Если человек делает что то сознательно то это безусловно его дело, но мне показалось что он это сделал по ошибке и я хотел ему помочь избежать проблем, которые эта ошибка в себе таит  Обеспокоенный

По поводу данных - зачем вам картинки? Rudy, 31 Авг. 08, 19:20
Да нет проблем! Если нужно только смотреть то по http можно передавать всё что угодно.
Я думаю Игорь передает картинки, потому что ему так было проще программировать.
И это кстати дает возможность обходиться вообще без клиетской програмы. Использовать тонкий клиент - Internet Explorer.
Rudy Академик Питер 5.8K 1K
Отв.9  31 Авг. 08, 23:37, через 55 мин
Rudy, ты не понял, это не просто левенький парольчик, это пароль учетной записи!Kotische, 31 Авг. 08, 22:42
Да, не понял. Нужно только уметь читать файлы, которые хочет генерировать Игорь, другой доступ не нужен. Ну может быть и размещать какие-то файлы для общего просмотра (по теме), но это отдельный разговор.
Я думаю Игорь передает картинки, потому что ему так было проще программировать.
И это кстати дает возможность обходиться вообще без клиетской програмы. Использовать тонкий клиент - Internet Explorer.
Kotische, 31 Авг. 08, 22:42
Может он не может вытащить цифровые данные из TempKeeper? Но твоя прога это умеет, а реакцию на достижение каких-то параметров сделать легко. Текстовый файл легко просматривается тем же клиентом (и его вполне достаточно для оценки текущего состояния колонны и принятия решений), а сбросив его в Excel сразу получаешь графики. Кроме того, в такой файл можно только дописывать очередную строчку данных в конец файла (append). Но это хорошо на компе, на ftp это вряд-ли можно сделать.
Но лучше проверить возможность работы из интернета прямо с компом. Тогда все можно сделать проще и лучше - примерно как в чате - сразу будешь получать текущие данные и отдавать команды (конечно если права соответствующие, а то я уже сталкивался с эффектами множественного управления).
Rudy Академик Питер 5.8K 1K
Отв.10  01 Сент. 08, 00:02, через 26 мин
Причем работать с компа легко можно даже при динамическом адресе. Просто при включении компа - класть в известное место (на фиксированный ftp сервер) файл с текущим полученным адресом, а перед выключением - класть туда же файл с нулевым значением адреса.
Тут важно проверить есть ли у Игоря firewall или proxy и что он позволяет. Но если он может работать по ICQ то похоже что его нет и тогда можно все.
Игорь Академик - 7.4K 3.6K
Отв.11  01 Сент. 08, 02:33
Не буду никого цитировать. У жены был день рождения, и я опасаюсь, что мои ответы не совсем будут соответствовать цитатам. Подмигивающий
Итак, по поводу "режима секретности".
Сайт "школа 118" на народе - мой первый опыт в 2001 году с АшТиЭмЭйл, и никакой ценности он для меня не представляет.
ЭфТэПэшники на Хо УА и Фарлеп УА - бесплатные хосты, которые я специально зарегистрировал для самогонных целей. Так что взлом или потеря этих трёх ресурсов меня никак не огорчит. Тот хост, который с АйПишником вместо адреса (тот, что "семейный")физически живет под столом у моего брата. Там теперь мой пароль заменен, а гостевой доступ к файлам будет поддерживаться просто без пароля.

Идем дальше.

Руди, ты - разумеется - прав. Правильнее передавать лог в несколько десятков байт, и по нему строить на "втором конце провода" график, чем передавать изображение размером в десяток килобайт. Сначала я так и сделал, на хостах всё еще лежат мои файлы с расширениями ТэЭксТэ и КюКюКю, в которых я передавал логи. Но дело не в этом. Не важно в каком виде передаётся информация. Для меня - сантехника - важно то, что я научился сам и научил свои программы дистанционному наблюдению и управлению процессом. А формат данных и пользовательский интерфейс - дело второе.
Я легко меняю решения, и не факт, что дистанционная система будет работать именно так, но пока задумка такова. Домашний комп-самогонщик ежеминутно отправляет картинку и читает текстовый файл со значениями настроечных констант. Если константы не изменились, ничего не произойдет. Но если я их с удаленного компа поменяю, считав их, домашний комп сразу загрузит из в управляющий модуль, изменив настройки. При этом константы отобразятся в своих текстбоксах, и при следующей (через минуту) отправке графического файла я увижу произошла ли замена настроек. Файл с данными я могу отправлять сразу на несколько хостов и при потере связи указавать в этом файле новый адрес для отправки графики.

Снова дальше.

Котище, не могу с тобой не согласиться, что можно передавать гиф или джипег файлы, они гораздо короче бээмпэшных. Но вижлбейсик сохраняет изображения только в БэЭмПэ-формате, и мне - сантехнику - показалось проще их программно архивировать, чем программно конвертировать.


Теперь о наболевшем. Прямая связь между компами.
Руди и Котище, для меня эта тема близка к шаманизму, не хочу пока в неё вникать. Но информация такова.
Мой брат, посещавший меня сегодня по поводу ДР моей супруги, по моей просьбе что-то там посмотрел, загнал в консоль какие-то трасерты, позвенел бубном, вышел в астрал и сказал, что НАТ работать не будет. Ребята, да фиг с ним. Я снова про разницу. Нет её. Мне пофиг каким путём мне на работу попадёт информация о работе системы и как с работы домой прийдет команда остановить отбор, изменить порог температуры или всё отключить. Главное наладить такой канал, и я это сделал. Сначала, когда я слал картинки на е-мэйл, это было только наблюдение, а теперь это будет полноценное дистанционное управление. Жаль только, что нескоро. Последний перегон дал 18 литров спирта... Так что следующая ректификация будет наверное уже под новый год....

Андрей, спасибо за бдительность. Завтра (сегодня?) я верну файл, обеспечив безопасность Улыбающийся
Игорь Академик - 7.4K 3.6K
Отв.12  09 Сент. 08, 08:40
Учел критику и советы. Руди и Котище, вам отдельное большое спасибо. Итак, я работая с файлами по FTP, а доступ наблюдателям организовал по HTML. Так что никаких логинов - паролей больше нет.
Теперь передаётся не картинка, а лог-файл, а график конструируется на компе наблюдателя. Отслеживание появления новой информации на сервере производится ежеминутно, путём сравнения даты и времени обновления в  заголовке файла. В связи с малым объемом информации, лог передаётся на сервер с накоплением объема информации. Файл в 1000 записей имеет объем меньне 12 килобайт. Количество записей органичено в 32000 штук. При ежеминутной отправке логов это будет
боле 20 суток непрерывной записи.
Сделана возможность сохранять файлы для дальнейшего анализа и удалять ненужные. Сделаны всякие примочки типа масштабирования и скроллирования окна графика, светлый и тёмный стили отображения и анимация графика. На обоих ФТП заброшены одинаковые файлы - примеры. Кроме того, в папке IND сидят примеры - демо. Их можно открыть прямо из программы по меню "файл"->"открыть". Папка IND обязательна должна быть в том же каталоге, что и ЕХЕ - файл. Исходник приложен.

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

Ребята, у меня просьба посмотреть время скачивания файла на этих двух серверах. Прога закачивает файл только один раз - при выборе "меню"-"получить" после загрузки. Так что для повторной закачки надо будет закрыть и снова открыть прогу.
Check_Rect.zip 31.3 Кб
Rudy Академик Питер 5.8K 1K
Отв.13  09 Сент. 08, 15:32
Картинка красивая. Только анимация не нужна - есть скролл. А вот изменять масштаб по времени, чтобы иметь возможность увидеть сразу весь график или выбранную его часть - нужно. Да и по вертикали - тоже полезно. А вообще тебе пора присваивать звание профессора. Для начинающего - очень неплохо.

А время скачивания - пренебрежимо мало.
Rudy Академик Питер 5.8K 1K
Отв.14  09 Сент. 08, 15:33, через 1 мин
Картинка красивая. Только анимация не нужна - есть скролл. А вот изменять масштаб по времени, чтобы иметь возможность увидеть сразу весь график или выбранную его часть - нужно. Да и по вертикали - тоже полезно. А вообще тебе пора присваивать звание профессора. Для начинающего - очень неплохо.
P-Alex Научный сотрудник пгт.Палех 1.2K 172
Отв.15  09 Сент. 08, 16:41
Интересная информация... Еще бы расшифровку цветов графиков (где что меряется)
Игорь Академик - 7.4K 3.6K
Отв.16  09 Сент. 08, 19:43
... анимация ... масштаб ... Rudy, 09 Сент. 08, 15:33
Учту, спасибо.
... тебе пора присваивать звание профессора.
Спасибо за высокую оценку моих скромных дерзаний... краснею...
На звание профессора не потяну. Соглашусь на почётного профессора.
По чётным буду профессором, а по нечетным буду самогонку гнать.
Игорь Академик - 7.4K 3.6K
Отв.17  09 Сент. 08, 19:46, через 3 мин
Интересная информация... Еще бы расшифровку цветов графиков (где что меряется)
P-Alex, 09 Сент. 08, 16:41
P-Alex, это не информация. Это проба передачи данных на ФТП. Лог-файл фальшивый, никакой информации не несёт. Вот при ближайшей ректификации я проанонсирую на каком ФТП, в какое время будет прямая трансляция процесса, тогда и расшифрую цвета.
P-Alex Научный сотрудник пгт.Палех 1.2K 172
Отв.18  09 Сент. 08, 21:10
Бум ждать с нетерпением Улыбающийся