Reset ПК при зависании из Arduino Leonardo

Astrotur
Offline
Зарегистрирован: 06.02.2014

Всем доброго времени суток.

Тема не нова,но здесь не нашел.

Пол года назад установил удалённую обсерваторию. Всем астрожелезом (монтировка, телескоп и камеры) управляет ноутбук из Win 7 через TeamViewer. Arduino управляет сдвижной крышей, датчиками температуры и влажности, внутренним освещением и питанием для астрожелеза с помощью программы Terminal. Связь ноута с интернетом через 3G модем.

В процессе работы, если ноут зависает намертво, один выход - физически нажать на кнопку Reset. Т.к. Arduino всегда подключена к ноуту, можно ли на неё положить задачу перезагрузки компьютера в случае подвисания последнего?

Спасибо.

MaksMS
Offline
Зарегистрирован: 11.03.2013

А чего сложного ? Если по уарт нет активности например в течении 5 минут ,то ресетим комп..

Astrotur
Offline
Зарегистрирован: 06.02.2014

Для активности по УАРТ нужно написать таймер со стороны компа?

Ресетнуть ноут по Com порту, где почитать? 

Спасибо

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Astrotur пишет:

Для активности по УАРТ нужно написать таймер со стороны компа?

Ресетнуть ноут по Com порту, где почитать? 

Спасибо

Эммм. Если комп висит то как Вы его по сом-у резетнете? Реле с "обрывом питания.

Astrotur
Offline
Зарегистрирован: 06.02.2014

Вариант с обрывом питания хотелось бы оставить на крайний случай (ноут придётся курочить), если по сом никак.

А пинговать Arduino можно из Terminal? Или я ошибаюсь?

Или второй вариант: в основной Винде установить виртуальную машину, а в ней все необходимые для работы программы, кроме TeamViewer. Если виртуальная машина зависнет, я смогу её перегрузить из основной винды?

Спасибо

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Astrotur пишет:

Вариант с обрывом питания хотелось бы оставить на крайний случай (ноут придётся курочить), если по сом никак.

Зачем курочить ноут? Вытащить акку и курочить переноску/розетку.

Astrotur пишет:

А пинговать Arduino можно из Terminal? Или я ошибаюсь?

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

Astrotur пишет:

Или второй вариант: в основной Винде установить виртуальную машину, а в ней все необходимые для работы программы, кроме TeamViewer. Если виртуальная машина зависнет, я смогу её перегрузить из основной винды?

сможете. Но только если подвисла именно виртуалка, а не ноут из-за, например, перегрева.

leshak
Offline
Зарегистрирован: 29.09.2011

Разделите свою задачу на две:

1. Определение что "ноут завис"
2. Выполнение перезагрузки.

Со стороны ардуины понять работает или нет именно в случае леонардо - довольно просто. if(Serial) - значит на компе открыт Serail Monitor (прийдется его открытм держать). На других платах (не на 32u4), прийдется со стороны компа какую-то "отвечалку" писать.

Но нужно не забыть сделать что-бы пинговалка-ребутилка была, по дефолту выключена. Что-бы она давала шанс ноуту успеть загрузиться и открыть Serial Monitor.

А вот "как комп перегрузить": воспользуйтесь поиском в верхнем правом углу. Помоему уже не раз обсуждали как кнопку ресет нажимать ардуиной.

 

 

Astrotur
Offline
Зарегистрирован: 06.02.2014

Зачем курочить ноут? Вытащить акку и курочить переноску/розетку

Если отключить аккумулятор, а затем подключить, то всё равно для запуска ноута придётся нажать кнопку питания?

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

Terminal шлёт сигнал на Arduino через определённые промежутки времени, если сигнал не приходит - Arduino перегружает пк.

leshak
Offline
Зарегистрирован: 29.09.2011

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

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

Но это скорее по всяким админским форумам нужно лазить.Как все это грамотно и "не велосипедно" реализовать.

leshak
Offline
Зарегистрирован: 29.09.2011

Кстати еще сам TeamViewer может быть причиной зависания. Попробуйте для удаленного управление родной виндовый Remote Desctop.
Тимвьювер как бы для одновременно работы двоих больше заточен. 

А если вам нужно только к компорту доступится, то возможно вам стоит посмотреть на что-то типа http://www.usb-over-network.com/ и просто пробросить удаленный ком-порт к себе на машину. И терминалы пускат у себя, а не на удаленном ноуте.

 А если погуглите, то возможно найдете и железное решение проброса USB/компорта... на удаленную машину. Или готовое, или какой-нибудь роутер под это дело заточить.... вообщем раз виснет зараза, то "отправить его на пенсию".

Astrotur
Offline
Зарегистрирован: 06.02.2014

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

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

Astrotur
Offline
Зарегистрирован: 06.02.2014

По поводу TeamViewer с Вами соглашусь. Но при выборе программы удалённого доступа все опрошенные специалисты указали именно на него, и никто даже не упомянул про Remote Desctop. Спасибо, посмотрю в эту сторону.

leshak
Offline
Зарегистрирован: 29.09.2011

Astrotur пишет:

По поводу TeamViewer с Вами соглашусь. Но при выборе программы удалённого доступа все опрошенные специалисты указали именно на него, и никто даже не упомянул про Remote Desctop. Спасибо, посмотрю в эту сторону.

Ну чуток очепятался. Remote Desktop. И это не отдельная программа. Это "в винде есть из коробки". В русской кажись называется "Удаленный рабочий стол".

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

А если нужно просто подключить "удаленный моник и клаву к себе" (тот кто сейчас сидит за тем компом - его выбросит), то Remote Desktop мне больше по душе.

Единственное но.... TeamViewer еще решает задачу NAT/роутер. Нет необходимости знать IP удаленного компа, настраивать роутер для проброса портов... Так как оба компа обращаются к серверу TeamViewer и через него общаются. 

А в Remote Desktop - все напрямую между собой. Соответсвенно тот кто подключается, должен знать IP к кому подключаться. Если у вас статический IP на роутере - то вопросов нет. Если же динамический, то с чем-то типа DynDns прийдется морочится (хотя, многие роутеры имеют внутри себя его поддержку).

Ну и, если вы за ротутером сидите, то в нем нужно настроить проброс 3389 для TCP и желательно UDP (это дефолтный порт Remote Desktop-па).

Вот поэтому, возможно, специалисты вам и рекомендовали TeamViewer. Как "нажал кнопку и получил результат" ;)

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

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

 

К решению задачи надо правильно подходить.

Astrotur
Offline
Зарегистрирован: 06.02.2014

leshak пишет:

Кстати еще сам TeamViewer может быть причиной зависания. Попробуйте для удаленного управление родной виндовый Remote Desctop.
Тимвьювер как бы для одновременно работы двоих больше заточен. 

А если вам нужно только к компорту доступится, то возможно вам стоит посмотреть на что-то типа http://www.usb-over-network.com/ и просто пробросить удаленный ком-порт к себе на машину. И терминалы пускат у себя, а не на удаленном ноуте.

 А если погуглите, то возможно найдете и железное решение проброса USB/компорта... на удаленную машину. Или готовое, или какой-нибудь роутер под это дело заточить.... вообщем раз виснет зараза, то "отправить его на пенсию".

штука неплохая,но дорогая

Astrotur
Offline
Зарегистрирован: 06.02.2014

NeiroN пишет:

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

 

К решению задачи надо правильно подходить.

Согласен на 100%. В ближайшем будущем так и сделаю. А пока проходит тестирование, приходится довольствоваться тем, что под рукой.

Astrotur
Offline
Зарегистрирован: 06.02.2014

Как-бы Вы порекомендовали "достучаться" к Arduino с расстояния в 8-10 км, в прямой видимости? Есть-ли предпочтительный вариант?

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Лазером.

Astrotur
Offline
Зарегистрирован: 06.02.2014

JollyBiber пишет:

Лазером.

А можно подробнее?

 

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Два лазера, два приемника. Пришел пучок - полсал обратно. Что тут хитрого? Видимость же прямая? Или Вам коммуникация нужна?

Astrotur
Offline
Зарегистрирован: 06.02.2014

1. Какой лазер использовать? Указки не хватит?

2. Что подойдёт в качестве приёмника?

3. Как точно их направить друг на друга? Видимость прямая, но из-за дымки и пыли при большом приближении будет сложно навестись на маленькую "мишень"?

4. Почему нельзя обойтись одним лазером и одним приёмником? Мне кажется хватит одной-двух програм, типа включить комп и что-то ещё.

 

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

1 - гугль :)

2 - гугль :)

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

4 - если Вы пинговать будете ардуинУ, то как узнаете что она приняла ответ? Праально, надо чтобы она ответила. Хотя может она будет нажимать "большую красную кнопку", тогда про ее отклик даже в газетах напишут, ну если успеют разумеется

У меня нету опыта с лазерами, я просто привел пример как бы я начал с этим "заморачиваться"

Leshiy
Offline
Зарегистрирован: 19.07.2014

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

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

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

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

Ну вот как-то так...

 

leshak
Offline
Зарегистрирован: 29.09.2011

Leshiy пишет:

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

Шибздануться. Нипростейший!!!! Чукча не читатель, чукча писатель? see #6

Nikolaevsk
Nikolaevsk аватар
Offline
Зарегистрирован: 09.06.2014

Достучатся можно WiFi мостом.

http://beecomp.ru/catalog/products/Equipment_Deliberant/access_point_del...

На работу в указанном пределе дальности в 50 километров не проверял, но на 15 километров работает устойчиво, потоковое видео с камер видеонаблюдения гонит уже второй год. Прямая видимость обязательна. Дождик и туман ей побоку, а вот преграда типа листвы деревьев в разы сокращает дистанцию связи и скорость.

Leshiy
Offline
Зарегистрирован: 19.07.2014

leshak пишет:

Leshiy пишет:

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

Шибздануться. Нипростейший!!!! Чукча не читатель, чукча писатель? see #6

Я не против, шибзданитесь.

========

Ладно, чтобы не устраивать пустой скандал, я готов признать превосходство вашего метода над моим, а равно и ваше надо мной, как только вы приведёте способ запуска монитора при запуске системы. Только давайте без аутоитов и подобных ему систем, хорошо? Вот и ладушки.

leshak
Offline
Зарегистрирован: 29.09.2011

Leshiy пишет:

Я не против, шибзданитесь.

========

Ладно, чтобы не устраивать пустой скандал,

Да почему скандал?  Мне понравился ваш ответ :) Я только готовую библиотеку для этого никак найти не могу ;)

Leshiy пишет:

я готов признать превосходство вашего метода над моим, а равно и ваше надо мной, как только вы приведёте способ запуска монитора при запуске системы. Только давайте без аутоитов и подобных ему систем, хорошо? Вот и ладушки.

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

Во вторых Serial monitor это же только один из вариантов. Какая разница чем порт открывать? Любой терминал подойдет. Ну скажем тот же putty

И запихиваем в шеддулер в автостарт что-то типа:

"putty.exe -serial com3" 

или, запускаем putty, делаем настройки нашего порта сохраняем этот профиль под именем, скажем, MyArduino

и в автостарт пихаем

"putty.exe -load MyArduino"

Ну как бы и все.

Если у нас не леонардно, то можно на любом доступном вам языке написать скриптик-консольную утилитку. На том же процессинге (родственник ардуины), на powershell, на VB, C# и т.п.

Если не знаете "как", то вообщем-то просто гуглим "ваш язык open serial port". Скажем для power shella (это такой скриптовый язык который в винде идет "из коробки"), моментально находим пример как присать в порт:

$port= new-Object System.IO.Ports.SerialPort COM3,9600,None,8,one
$port.open()
$port.WriteLine("Hello world")
$port.Close()

Так как писать нам не нужно, достаточно просто открыть - берем себе первые две строки, закидываем их .ps1 файлик и запихиваем это в автостарт.

Если не знаеми как, то гуглится за секунду:http://smallbusiness.chron.com/run-powershell-script-startup-windows-7-27767.html или так:http://superuser.com/questions/688007/how-can-a-powershell-script-be-automatically-run-on-startup

Если у нас не леонадро, а обычная 328, то вообщем-то прийдется взять пример целиком. оборачиваем $port.WriteLine("ping") в while($TRUE){}  и добавляем "Start-Sleep -s 10" и имеем отсылаемые каждые 10-ть секунд на ардуну слово "ping".

На любом другом языке - вообщем-то все будет аналогично.

 

Leshiy
Offline
Зарегистрирован: 19.07.2014

Паять не надо. Можно купить уши за 100 рублей, Порнослоник какойнить, обрезать и уперёд. Но да, колхозинг будет присутствовать. А так да, грешен, про путти вообще не подумал.

Победа присуждается leshak'у! А я пошёл полы драить в наказание. Хоть дома приберусь. :)

Astrotur
Offline
Зарегистрирован: 06.02.2014

[/quote]

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

Во вторых Serial monitor это же только один из вариантов. Какая разница чем порт открывать? Любой терминал подойдет. Ну скажем тот же putty

И запихиваем в шеддулер в автостарт что-то типа:

"putty.exe -serial com3" 

или, запускаем putty, делаем настройки нашего порта сохраняем этот профиль под именем, скажем, MyArduino

и в автостарт пихаем

"putty.exe -load MyArduino"

Ну как бы и все.

[/quote]

этот момент не совсем понял...

 

leshak
Offline
Зарегистрирован: 29.09.2011

Astrotur пишет:

этот момент не совсем понял...

Serial Monitor встроенный в ArduinoIDE относится к классу программ "терминальный клиент". Эта программа которая умеет открывать com порт, читать оттуда, показывать пользователю и наоборот - отправлять даныне в com порт.
Терминальных клиентов, разных, есть десятки (если не сотни). Как текстовых редакторов :)  Чем хотите тем и открываете .txt файлы. Точно так же и ардуина - ей по барабану какой-там терминальный клиент слушает ее со стороны компа.
SerialMonitor - наверное самый примитивный терминальный клиент из всех существующих. Его плюс только в одном - "он идет в комплете с arduinoIDE".

Его примитивность не позволяет его использовать в сценариях типа "запуститься и открыть com порт". Он требует обязательного участия, для этого, оператора. Нужно, как минимум, мышкой клацнуть на кнопку... а для этого нужен либо живой человек, либо программы типа auto-it, которые имитируют нажатия на клавиатуру/кнопки (имитирует человека).
Но что-бы не городить этот огород, проще просто взять другой терминальный клиент. Которому можно из командной строки, аргументами указать "открой ком-порт после того как стартанешь". Вообщем написать "правильную строчку его запуска" и он будет все делать сам. Как должна выглядить "правильная строчка запуска" - это уже смотреть в доккументации именного этого клиента.
После чего эту "правильную строчку", мы имеем возможность поместить в автостарт виндовса. И тогда у нас, при включении компьютера будет запускать терминальный клиент, который будет открывать порт... и на ардуине сработает условие if(Serial) (в случае камня 32u4)
putty - один из наиболее популярных терминальных клиентов (скорее всего потому что он еще и ssl-клиент и telnet-клиент... вообщем по куче протоколов он умеет работать). Он был взять просто в качестве примера/альтернативы Serial монитору. Первой пришедшей в голову. Можно выбрать любой другой клиент.... (который можно заставить при старте открывать порт).

А можем, вообще не исползовать "терминальные клиенты". Для ардуины важно что-бы "хоть кто-нибудь открыл порт". Это может быть какой-то наш самописный скриптик. Который ничего не умеет кроме как "открывать порт". Вызов этого скрипта помещаем в автостарт и... с точки зрения ардуины это опять-таки "то же самое". В том посте был пример скрипта на power-shell. Но, с таким же успехом его можно написать на любом языке которым вы владеете (или сможете разобраться :)  )
 

Astrotur
Offline
Зарегистрирован: 06.02.2014

Пока остановился на следующей схеме:

1. В проге Terminal, которая управляет Arduino, есть функция автопосыла любого символа через определённое время. Arduino отслеживает этот символ и по необходимости перегружает комп.

2. Ноут перегружать механическим нажатием на кнопку. Не понял необходимости отключения аккумулятора. В случае использования стационарного ПК, задача упрощается, кроме этого, там можно использовать WatchDog.

3. Установить на Arduino GSM шилд http://arduino-ua.com/prod165-SIM900_GSMGPRS_shield_dlya_Arduino в качестве резервного канала связи. Но если будет этот канал, по нему хотелось-бы передать видео с камер наблюдения, чтобы не грузить основной. Тогда потребуется, что-то посерьёзнее, чем Arduino.

4. 3G и 2G интернет, не совсем то, что нужно для этого проекта (маленький трафик, пропадает соединение, отсутствует стат. IP...), поэтому смотрю в сторону Wi-Fi моста.http://www.technotrade.com.ua/catalog-771

В результате должна получиться более-менее работоспособная система для личного пользования?

Astrotur
Offline
Зарегистрирован: 06.02.2014

leshak пишет:

Astrotur пишет:

этот момент не совсем понял...

Serial Monitor встроенный в ArduinoIDE относится к классу программ "терминальный клиент". Эта программа которая умеет открывать com порт, читать оттуда, показывать пользователю и наоборот - отправлять даныне в com порт.
Терминальных клиентов, разных, есть десятки (если не сотни). Как текстовых редакторов :)  Чем хотите тем и открываете .txt файлы. Точно так же и ардуина - ей по барабану какой-там терминальный клиент слушает ее со стороны компа.
SerialMonitor - наверное самый примитивный терминальный клиент из всех существующих. Его плюс только в одном - "он идет в комплете с arduinoIDE".

Его примитивность не позволяет его использовать в сценариях типа "запуститься и открыть com порт". Он требует обязательного участия, для этого, оператора. Нужно, как минимум, мышкой клацнуть на кнопку... а для этого нужен либо живой человек, либо программы типа auto-it, которые имитируют нажатия на клавиатуру/кнопки (имитирует человека).
Но что-бы не городить этот огород, проще просто взять другой терминальный клиент. Которому можно из командной строки, аргументами указать "открой ком-порт после того как стартанешь". Вообщем написать "правильную строчку его запуска" и он будет все делать сам. Как должна выглядить "правильная строчка запуска" - это уже смотреть в доккументации именного этого клиента.
После чего эту "правильную строчку", мы имеем возможность поместить в автостарт виндовса. И тогда у нас, при включении компьютера будет запускать терминальный клиент, который будет открывать порт... и на ардуине сработает условие if(Serial) (в случае камня 32u4)
putty - один из наиболее популярных терминальных клиентов (скорее всего потому что он еще и ssl-клиент и telnet-клиент... вообщем по куче протоколов он умеет работать). Он был взять просто в качестве примера/альтернативы Serial монитору. Первой пришедшей в голову. Можно выбрать любой другой клиент.... (который можно заставить при старте открывать порт).

А можем, вообще не исползовать "терминальные клиенты". Для ардуины важно что-бы "хоть кто-нибудь открыл порт". Это может быть какой-то наш самописный скриптик. Который ничего не умеет кроме как "открывать порт". Вызов этого скрипта помещаем в автостарт и... с точки зрения ардуины это опять-таки "то же самое". В том посте был пример скрипта на power-shell. Но, с таким же успехом его можно написать на любом языке которым вы владеете (или сможете разобраться :)  )
 

Супер ответ!!! Спасибо!

"Терминальный клиент" я в любом случае использую (открыть\закрыть крышу, сбросить питание на астрожелезе, включить свет для видеокамер, мониторить температуру и влажность ...) и могу открыть порт руками. И не всегда при старте Windows нужно открывать порт.

Интересно, сколько стоит написание "терминалки" для этой задачи? Сам написать не смогу, а в будущем без неё никак.

leshak
Offline
Зарегистрирован: 29.09.2011

Astrotur пишет:

Интересно, сколько стоит написание "терминалки" для этой задачи? Сам написать не смогу, а в будущем без неё никак.

Да нисколько.... putty и иже с ними уже написан :) Если вам не проблема руками открыть, то... Serial Monitor уже есть, зачем что-то писать?
Скрипт, скажем на powershell - тоже вон выше по тексту я вам уже дал.
Да вообщем-то, еще раз, на любом языке открываете пример работы с ком-портом и имеете "готовую терминалку для этого задачи".
Если вы о "сделать UI морду", с княпочками и проч.... то думаю от сотен и "верхней планки не существует" ("хотелки приходят во время еды"). 
Но... в "этой задаче" (ресет при зависании), зачем нужна UI морда - не понятно.

Astrotur
Offline
Зарегистрирован: 06.02.2014

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

 

leshak
Offline
Зарегистрирован: 29.09.2011

Astrotur пишет:

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

Если пользователь обсерватории только вы (ну или +1,2 человека которых не составляет труда "научить").
И комманд которые должна исполнять ардуина не есть сотня.
Если для управления хватает до десятка комманд, то.... да еще нужно это делать "раз в сутки", то на UI-шку и проч. можно тупо забить.
Просто вбивать руками эти комманды. В том же Serial Monitor.
Причем в любом случае начинать нужно именно с этого варианта.
А потом, если этого "не удобно" и есть великое желание "иметь кнопочки", то заниматься написанием UI-шки, которая будет слать те же самые команды, но уже "по нажатию кнопки".

Хотя я, навреное, делал бы это с другого конца. Раз у вас "все удаленно". Поставил-бы мобильный роутер. К нему подключены ноут и ардуина через WiFi или W500-тый шилд.
И рулил ардуиной через GET запросы. Тогда зависший ноут становится "не столь важен". И можно даже не мониторить его... если не получается достучаться до него, то команда на арудину - все равно прохожит. В том числе и комманда "перегрузи ноут".
Да и "мониторить ноут", можно будет тоже "сетевыми средствами". Посылать на него Ping банальный (если при зависании он и на пинги перестает отвечать).

 

leshak
Offline
Зарегистрирован: 29.09.2011

Astrotur пишет:

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

Если пользователь обсерватории только вы (ну или +1,2 человека которых не составляет труда "научить").
И комманд которые должна исполнять ардуина не есть сотня.
Если для управления хватает до десятка комманд, то.... да еще нужно это делать "раз в сутки", то на UI-шку и проч. можно тупо забить.
Просто вбивать руками эти комманды. В том же Serial Monitor.
Причем в любом случае начинать нужно именно с этого варианта.
А потом, если этого "не удобно" и есть великое желание "иметь кнопочки", то заниматься написанием UI-шки, которая будет слать те же самые команды, но уже "по нажатию кнопки".

Хотя я, навреное, делал бы это с другого конца. Раз у вас "все удаленно". Поставил-бы мобильный роутер. К нему подключены ноут и ардуина через WiFi или W500-тый шилд.
И рулил ардуиной через GET запросы. Тогда зависший ноут становится "не столь важен". И можно даже не мониторить его... если не получается достучаться до него, то команда на арудину - все равно прохожит. В том числе и комманда "перегрузи ноут".
Да и "мониторить ноут", можно будет тоже "сетевыми средствами". Посылать на него Ping банальный (если при зависании он и на пинги перестает отвечать).