На СИМ900 такая же примерно.... у меня БП 5в 3А MeanWell - работает(работал вернее) супер.... в ардуине скетч Chip а, ардуина как бе мостом работает...
На СИМ900 такая же примерно.... у меня БП 5в 3А MeanWell - работает(работал вернее) супер.... в ардуине скетч Chip а, ардуина как бе мостом работает...
Открыл Ардуину, открыл монитор порта - поймал скорость, на которой более менее признаки жизни подавал. Уже от безнадежности вбил эту команду И О ЧУДО!!!!! Он мне ответил OK!!!!! Ребята!!! Он мне ответил OK)))))) Та команда, после которой шилд рыбой стал может кодировку(хотя какая там нафиг кодировка) или еще чего меняет....
Победил ТС35. Оказывается GSM антенна была плохо припаяна, пришлось перепаять
Лови скетч, с помощью которого я тестил ТС35 через ардуину.PHP код:
#include <SoftwareSerial.h>
char gsm_char=0; //Stores character from the gsmSerial
SoftwareSerial gsmSerial(2,3); //Creates a software serial port. (rx,tx)
void setup()
{
//Initialize serial ports for communication.
Serial.begin(9600);
gsmSerial.begin(9600);
Serial.println("Starting TC35 and debug Communication...");
}
void loop() {
//If a character comes in from the cellular module...
if(gsmSerial.available() > 0){
gsm_char=gsmSerial.read(); //Store the char in gsm_char.
Serial.print(gsm_char); //Print it to debug serial
}
//Read serial input
if(Serial.available() > 0){
gsm_char=Serial.read(); //Store char in gsm_char (Not really from the gsm, just saving some memory)
//Evaluate input.
if(gsm_char=='t'){
gsmSerial.print("AT\r"); //Тест
} else if(gsm_char=='p'){
gsmSerial.print("AT+CMGF=1\r"); //Текстовый режим (перед отправкой СМС
else if(gsm_char=='j'){
gsmSerial.print("ATD+380503229388;\r"); //Набор номера
delay(1000);
}
else if(gsm_char=='u'){
gsmSerial.print("AT+CMGR=1;\r"); //Прочитать сообщение №1
delay(1000);
}
else if(gsm_char=='e'){
gsmSerial.print("AT+CMGD=1\r"); //Удаление сообщения №1
}
else if(gsm_char=='b')
{
gsmSerial.print("AT+CSQ=1\r"); //Проверка уровня связи
} else if(gsm_char=='s'){
//Send sms!
gsmSerial.print("AT+CMGS=+380503229388\r"); //Отправка SMS
delay(100);
gsmSerial.print("Hello "); //Print the message
delay(10);
gsmSerial.print("\x1A"); //Send it ascii SUB
}
}
}
AT+CNMI=1,1 У меня не работает!!!! Молчит сволоч как рыба!!
Вообще, предполагаю следующий принцип:
Надо загнать в массив "маску" ожидаемого смс, т.е.
start
s[0]=s, s[1]=t и т.д.
Когда приходит СМС, ардуина так же загоняет в массив посимвольно.
Далее, рекурсивной функцией при условии совпадения первой переменной масива хоть с одной маской(их же может быть несколько) сравниваем следующие элементы.. т.е. если у нас пришла смс xxxxxstartxxxxx то она выполнит команду....
Пока такие задумки., но как быстро это будет работать......
И вообще, есть 3 датчика D18B20 вроде такая маркировка (температурные) - вывод 3х температур занимает примерно 2-3 секунды.... нуу ооочччеееннннььь доллллгггоооо
На этих модемах очень много теплодатчиков работает... у меня тоже закарючки были когда я скетчем загонял данные в шилд, и слушал "putty". Нарывал где то инфу, что надо чета там дописывать чтобы все ок было...
Проверяется просто - принятое смс ардуиной загоняем в массив посимвольно, потом обратно в строку и отслыаем обратно на мобилу.... ну или только 5-10 символ например.... Вот как только научу модем чтобы он информировал о новой смс - сразу результаты расскажу.
Да елы палы!!!!!! Модем не сообщает о новом СМС..... а после сброса настроек он их ВООДЩЕ НЕ ПРИНИМАЕТ((((( Что делать?
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)