Страница 1 из 1

Arduino через USB как передать команду из MJM

Добавлено: Сб мар 19, 2016 11:15 pm
LSE100
Простите наверно за тупой вопрос, но реально 3 дня разбираюсь и никак не пойму простейший момент, как дописать скетч чтобы он мог принимать команду из MJM на включение выключение реле ну и собственно какую команду посылать.
Очень много написано про web server но мне кажется такую простую команду возможно решить без него?

boolean incoming = 0;

char buf[80];

// Функция отправки HTTP-запроса на сервер
void sendHTTPRequest() {
Serial.println(buf);

}

// задаем константы
const int buttonPin = 2; // номер входа, подключенный к кнопке


int Relay = 4; // реле 4

// переменные
int buttonState = 0; // переменная для хранения состояния кнопки


void setup()
{
Serial.begin(9600);



// инициализируем пин, подключенный к реле 4, как выход
pinMode(Relay, OUTPUT);

// инициализируем пин, подключенный к кнопке, как вход
pinMode(buttonPin, INPUT);

}

void loop()

// считываем значения с входа кнопки
{

buttonState = digitalRead(buttonPin);


// проверяем нажата ли кнопка
// если нажата, то buttonState будет HIGH:

if (buttonState == HIGH) {
// включаем светодиод

digitalWrite(Relay, LOW);
sprintf(buf, "GET /objects/?object=Switch1&op=m&m=switch&", 1) ;
sendHTTPRequest();
delay(1000);
}
else {
// выключаем светодиод
digitalWrite(Relay, HIGH);

}
}

Re: Arduino через USB как передать команду из MJM

Добавлено: Сб мар 19, 2016 11:57 pm
LSE100
сам отвечаю на свой вопрос, за прием данных отвечает команда incomingInt запрос передам (можно для проверки через браузер)
http://127.0.0.3:8080/command?499
http://127.0.0.3:8080/command?500

в итоге скетч примерно такой:


int incomingInt = 0;


char buf[80];

// Функция отправки HTTP-запроса на сервер
void sendHTTPRequest() {
Serial.println(buf);
}

// задаем константы
const int buttonPin = 2; // номер входа, подключенный к кнопке


int Relay = 4; // реле 4

// переменные
int buttonState = 0; // переменная для хранения состояния кнопки


void setup()
{
Serial.begin(9600);



// инициализируем пин, подключенный к реле 4, как выход
pinMode(Relay, OUTPUT);

// инициализируем пин, подключенный к кнопке, как вход
pinMode(buttonPin, INPUT);

}

void loop()

// считываем значения с входа кнопки
{

buttonState = digitalRead(buttonPin);


// проверяем нажата ли кнопка
// если нажата, то buttonState будет HIGH:
if (Serial.available() > 0)

incomingInt = Serial.parseInt();
if (incomingInt == 500) {
digitalWrite(Relay, LOW);


// if (buttonState == HIGH) {
// включаем светодиод

// digitalWrite(Relay, LOW);
// sprintf(buf, "GET /objects/?object=Switch1&op=m&m=switch&", 1) ;
// sendHTTPRequest();
// delay(1000);
}
else {
// выключаем светодиод
digitalWrite(Relay, HIGH);
{
if (incomingInt == 499) {
digitalWrite(Relay, HIGH);

}
}
}
}