BAT ARDUINO WINDOWS7

varvik85
Offline
Зарегистрирован: 28.01.2013

Здравствуйте! Появилась надобность управлять ардуино через bat-ник, какие команды в WIN7 для открытия порта? Mode COMx,бод,паритет,кадр,стоп,P где: x-номер СОМ порта в WIN7 не работает, пишет "недопустимое имя устройства COM" синтаксис в win7 другой? или нет прямого доступа к портам?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

А что-нибудь вроде

copy myfile.txt COM5

работает?

varvik85
Offline
Зарегистрирован: 28.01.2013

пробую два примера https://www.youtube.com/watch?v=YFoSe2SOTT8 http://www.youtube.com/watch?v=ogHvY5GwgZI оба не работают, не пойму почему

в первом случае ошибка -

 

Во втором случае -

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

Клапауций 070
Offline
Зарегистрирован: 26.09.2015
varvik85
Offline
Зарегистрирован: 28.01.2013

Кажется ino  не совсем то,что нужно.Мне в конечном счете нужен bat или exe файл который будет отправлять команду ардуино  на простое включение  отключение реле.Файлик будет вызываться другой программой 

Клапауций 070
Offline
Зарегистрирован: 26.09.2015

varvik85 пишет:

Кажется ino  не совсем то,что нужно.Мне в конечном счете нужен bat или exe файл который будет отправлять команду ардуино  на простое включение  отключение реле.Файлик будет вызываться другой программой 

так бы и сказал http://arduino.ru/forum/programmirovanie/terminal-dlya-digiusb

в последней версии принимает команды из командной строки

или напиши сам, но для ком-порта

varvik85
Offline
Зарегистрирован: 28.01.2013

Спасибо за подсказку, но это чет как то очень замороченно, нельзя попроще, подубовее? К стати оба примера прекрасно работают под winXP, они мне подходят и полностью закрывают поставленную задачу, но блин в WIN7 не работают, почему?Может как то настроить порты нужно на win7?

nevkon
Offline
Зарегистрирован: 20.01.2015

От админа пробовали выполнять второй способ? Или от пользователя system.

KVadik
KVadik аватар
Offline
Зарегистрирован: 15.06.2014

у меня все прекрасно работает во так:

echo HELLO >com3

и в Win7 и в Win10

trembo
trembo аватар
Онлайн
Зарегистрирован: 08.04.2011
varvik85
Offline
Зарегистрирован: 28.01.2013

Господа, попробовал на другом пк с win7, все работает,в чем может быть причина?,переживаю что не на всех пк будет работать устройство,может что в настройках винды а?

Клапауций 070
Offline
Зарегистрирован: 26.09.2015

varvik85 пишет:

Господа, попробовал на другом пк с win7, все работает,в чем может быть причина?,переживаю что не на всех пк будет работать устройство,может что в настройках винды а?

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

varvik85
Offline
Зарегистрирован: 28.01.2013

Чет я погарячился, нифига не работает, сейчас ошибок нет никаких, но не работает,посылаю команду через батник,огоньки на ардуино весело помаргивают как бэ намекая что обмен происходит но ничего не срабатывает по факту.Я прописываю букву "H" как  в  втором примере,и нифига.Открываю ардуиновский манитор порта,вписываю туда эту букву,все работает,а через батник не работает,огоньки rx tx на ардуино  пморгают и все. Что за?

varvik85
Offline
Зарегистрирован: 28.01.2013

к слову у меня плата сидит на 6 порте

nevkon
Offline
Зарегистрирован: 20.01.2015

А у вас стоит парсер в программе? Просто вы отправляете не "Н", а "Н  1".

зы. Проверил, немного не так, вот так - "Н  " (5 байт). Сделайте вывод в файл и все поймете.

varvik85
Offline
Зарегистрирован: 28.01.2013

Здравствуйте!А как сделать правильно? и почему у автора видео все работает? Единицу после H я не ставлю,наверно так получилось просто в этот раз, в любом случае ардуино реагирует на появление в порте H с пробелом или без, пробел это ведь другой символ вроде,почему через монитор порта ардуино все работает,посылаю H и все без проблем, руки наверно у меня из ж

nevkon
Offline
Зарегистрирован: 20.01.2015

Без кода никто не скажет что у вас не так работает. Так что код в студию :)

varvik85
Offline
Зарегистрирован: 28.01.2013

Здравствуйте!Код готовый, есть в примерах

const int ledPin = 13; // the pin that the LED is attached to
int incomingByte;      // a variable to read incoming serial data into

void setup() {
  // initialize serial communication:
  Serial.begin(9600);
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // see if there's incoming serial data:
  if (Serial.available() > 0) {
    // read the oldest byte in the serial buffer:
    incomingByte = Serial.read();
    // if it's a capital H (ASCII 72), turn on the LED:
    if (incomingByte == 'H') {
      digitalWrite(ledPin, HIGH);
    }
    // if it's an L (ASCII 76) turn off the LED:
    if (incomingByte == 'L') {
      digitalWrite(ledPin, LOW);
    }
  }
}

Он работает, через монитор порта, входящий в состав ide ардуино все отправляется получается,загорается и т.д. А вот через bat нет, видно что обмен идет, но не срабатывает

Radjah
Offline
Зарегистрирован: 06.08.2014

В 2 за глаза хватит char/byte.

Настройки порта в системе еще посмотри.

nevkon
Offline
Зарегистрирован: 20.01.2015

Буду дома, попробую.

зы. сделай вывод в обратную - посмотри что получил по сериал.

varvik85
Offline
Зарегистрирован: 28.01.2013

nevkon - Обратно все то-же хорошо, если смотреть через arduino ide монитор порта.А команды через bat не работают. ув Radjah о каких настройках порта речь? вроде все что можно перепробовал.

nevkon
Offline
Зарегистрирован: 20.01.2015

Не работает, в момент передачи любой инфы мигает светодиод (включается и тут же выключается). Видимо коммандная строка работает как то не так.

Используйте PowerShell:

$port= New-Object System.IO.Ports.SerialPort COM6,9600,None,8,one
$port.open()
$port.Write("H")
$port.close()

 

varvik85
Offline
Зарегистрирован: 28.01.2013

Спасибо! Но не совсем понятно как при помощи PowerShell создать исполняемый exe или bat файл

nevkon
Offline
Зарегистрирован: 20.01.2015

http://get-powershell.ru/2013/powershell-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%...

Первая же строка в яндексе.