Здравствуйте.
У меня вопрос. Необходимо выполнить авторизацию на модеме d-link 2640u и узнать некую информацию о линии, выполнив одну команду.
Модем подключен к arduino uno следующим образом:
Модем Arduino
rx tx
tx rx
gnd gnd
Подключение к модему
Код делаю в среде Arduino IDE
Последний вариант кода продемонстрирован ниже. Для запуска команд, необходимо нажать на кнопку, которая подключена к ардуино. Обозначения пина для кнопки отображено в исходнике.
Порядок выполнения
1. Нажали на кнопку, отправились команды admin -логин, admin-пароль, adsl info --show.
2. Получение содержимого (результата выполнения команды adsl info --show)в
3. Вывод в Монитор порта (хотя бы строку или слово)
У меня выводятся кракозябры, я не могу понять, что я делаю не так, пожалуйста подскажите.
Спасибо!
Раздел: AVR
У меня вопрос. Необходимо выполнить авторизацию на модеме d-link 2640u и узнать некую информацию о линии, выполнив одну команду.
Модем подключен к arduino uno следующим образом:
Модем Arduino
rx tx
tx rx
gnd gnd
Подключение к модему
Код делаю в среде Arduino IDE
Последний вариант кода продемонстрирован ниже. Для запуска команд, необходимо нажать на кнопку, которая подключена к ардуино. Обозначения пина для кнопки отображено в исходнике.
Порядок выполнения
1. Нажали на кнопку, отправились команды admin -логин, admin-пароль, adsl info --show.
2. Получение содержимого (результата выполнения команды adsl info --show)в
3. Вывод в Монитор порта (хотя бы строку или слово)
У меня выводятся кракозябры, я не могу понять, что я делаю не так, пожалуйста подскажите.
const int buttonPin = 2; // номер входа, подключенный к кнопке
const int ledPin = 13; // номер выхода светодиода
byte incomingByte; // для хранения полученных данных
char* AT_command_string = "admin[/size][size=4]13"[/size][size=4]; //логин и пароль[/size]
[size=4]char* AT_command_string2 = "adsl info[/size][size=4]13[/size][size=4]"; // команда[/size]
[size=4]// переменные
int buttonState = 0; // переменная для хранения состояния кнопки
void setup() {
Serial.begin (115200); // скорость
// инициализируем пин, подключенный к светодиоду, как выход
pinMode(ledPin, OUTPUT);
// инициализируем пин, подключенный к кнопке, как вход
pinMode(buttonPin, INPUT);
}
void loop(){
// считываем значения с входа кнопки
buttonState = digitalRead(buttonPin);
// проверяем нажата ли кнопка
// если нажата, то buttonState будет HIGH:
if (buttonState == HIGH) {
// включаем светодиод
digitalWrite(ledPin, HIGH);
Serial.write(AT_command_string); // передача на модем admin - логин
Serial.flush(); // ждем окончания передачи
Serial.write(AT_command_string); // передача пароля admin
Serial.flush(); // ждем окончания передачи
Serial.write(AT_command_string2); // передача команды
Serial.flush(); //ждем окончания передачи
}
else {
// выключаем светодиод
digitalWrite(ledPin, LOW);
}
if (Serial.available()>0) { // если что-то есть в буфере
incomingByte =Serial.read(); // то читаем и приравниваем переменной
Serial.print("I received: "); //выводим в Монитор порта сообщение
Serial.println(incomingByte); // выводим, что получили
}
}
Спасибо!
Раздел: AVR