Re: Управление внешними устройствами с Arduino при помощи СМС
Chip, в терминале, читаю отправленную на Arduino СМС.
Выводит вот что :
================================================== ===
+CMGL: 5,"REC UNREAD","+380675678366","","12/02/12,18:18:36+08"
OFF
OK
================================================== ===
Как его увидеть в формате, который ты писал?
Re: Управление внешними устройствами с Arduino при помощи СМС
При чем тут терминал? ты же хочешь ардуиной читать
Re: Управление внешними устройствами с Arduino при помощи СМС
Я думал, что в терминале увижу то, что ардуина видит..
Re: Управление внешними устройствами с Arduino при помощи СМС
Если отправить СМС в латиннице? И попробуй отправить латиницей + кирилицей
Re: Управление внешними устройствами с Arduino при помощи СМС
Кирилицу вообще иероглифами выдает. Но она мне и не нужна.
Нащел таблицу GSM кодировки (вроде-бы 7 битная)
http://bp1.blogger.com/_vrrdow9KgWQ/...gsm_coding.gif
Но все равно НИЧЕГО не понятно...
Re: Управление внешними устройствами с Arduino при помощи СМС
ребята вопрос по теме. Тоже присматриваюсь к модулю для отправли СМС. Но вот попутно возникла проблемка. К ардуине надо подключить купюроприемник, термопринтер и GSM-шилд. Все девайсы предполагаю подключить по RS-232. Как добавить еще два RS232 порта к ардуине?
Re: Управление внешними устройствами с Arduino при помощи СМС
Еще два ни как не добавить.
Можно добавить 1 софтовый, но скорость не выше чем 9600
Лучше Arduino Maga используй, у него аппаратных UART 4шт.
Re: Управление внешними устройствами с Arduino при помощи СМС
Chip, что-то нашел, но не хочет реагировать. Посмотри пожалуйста
http://tronixstuff.wordpress.com/201...ar-–-part-two/
Re: Управление внешними устройствами с Arduino при помощи СМС
Вот собственно скетч :
PHP код:
char inchar; //Will hold the incoming character from the Serial Port.
int led1 = 5;
void setup()
{
// prepare the digital output pins
pinMode(led1, OUTPUT);
digitalWrite(led1, LOW);
//Initialize GSM module serial port for communication.
Serial.begin(9600); // for GSM module communication
delay(30000); // give time for GSM module to register on network etc.
Serial.println("AT+CMGF=1"); // set SMS mode to text
delay(200);
Serial.println("AT+CNMI=3,0,0,0"); // set module to send SMS data to serial out upon receipt
delay(200);
}
void loop()
{
//If a character comes in from the cellular module...
if(Serial.available() >0)
{
inchar=Serial.read();
if (inchar=='#')
{
delay(10);
inchar=Serial.read();
if (inchar=='a')
{
delay(10);
inchar=Serial.read();
if (inchar=='0')
{
digitalWrite(led1, LOW);
}
else if (inchar=='1')
{
digitalWrite(led1, HIGH);
}
delay(10);
}
}
Serial.println("AT+CMGD=1,4"); // delete all SMS
}
}
Строку Serial.println("AT+CNMI=3,0,0,0"); // set module to send SMS data to serial out upon receipt я поменял. Было значение 3,3,0,0 , но тогда текст сообщения не открывался.
С использованием Serial1 (вместо Serial) в терминале все работает, но на Ардуину не передается, т.к. даже СМС не удаляется, т.е. работает не ардуина, а терминал (как ємулятор).
При использовании Serial, не работает вообще.
Пробовал подключить NewSoftSerial, результата тоже нет...
Re: Управление внешними устройствами с Arduino при помощи СМС
Упростил код, до "не могу":
PHP код:
char text; //Will hold the incoming character from the Serial Port.
int led = 13;
void setup()
{
pinMode(led, OUTPUT);
digitalWrite(led, LOW);
Serial.begin(9600);
delay(200);
Serial.println("AT+CMGF=1"); // set SMS mode to text
delay(200);
Serial.println("AT+CNMI=3,0,0,0"); // set module to send SMS data to serial out upon receipt
delay(200);
}
void loop()
{
if(Serial.available() >0)
{
text=Serial.read();
if (text=='1');
{
delay(10);
{
digitalWrite(led, HIGH);
}
delay(10);
Serial.println("AT+CMGD=1,4");
}
}
}
Не пойму в чем дело. Может команда ("AT+CNMI=3,0,0,0") какая-то не правильная, или перемычки на шилде не там стоят для Serial?