Коллеги, подскажите. Перерыл весь форум, не нашел. Подвис на задачке: нужно получить от модуля значение зпароса AT+CSQ (уровень сигнала) и сохранить первую цифру (до запятой которая) в переменную.
Пользую модуль SIM900. В монитор порта данные модуль выводит, а вот как их поймать без монитора и в переменную сохранить - никак не пойму. Т.е. из полученного ответа
Коллеги, подскажите. Перерыл весь форум, не нашел. Подвис на задачке: нужно получить от модуля значение зпароса AT+CSQ (уровень сигнала) и сохранить первую цифру (до запятой которая) в переменную.
Пользую модуль SIM900. В монитор порта данные модуль выводит, а вот как их поймать без монитора и в переменную сохранить - никак не пойму. Т.е. из полученного ответа
Коллеги, подскажите. Перерыл весь форум, не нашел. Подвис на задачке: нужно получить от модуля значение зпароса AT+CSQ (уровень сигнала) и сохранить первую цифру (до запятой которая) в переменную.
Пользую модуль SIM900. В монитор порта данные модуль выводит, а вот как их поймать без монитора и в переменную сохранить - никак не пойму. Т.е. из полученного ответа
+CSQ:
21,0
ОК
нужно взять цифру 21 и положить ее в переменную.
Вам нужно обработать ответ от модуля, правильно тут сказали он должен приходить в одной строке, т.е. Вы получили ответ - +CSQ: 22,0
Тогда берете символы от двоеточия, до первой запятой, удаляя пробелы - это и будет значение.
Операторы indexOf и substring Вам помогут в этом при работе со String.
Доброго всем вечера подскажите кто нибудь пользовался фоторезистором как датчик лазерной сигнализации в связке с sim800l у меня есть полностью рабочий скетч для сигнализации но вот ни как не могу добавить туда фоторезистор. вот скетч для sim800l
if(input_string=="0"){Serial.print("Snyato s ohrani!");n1.toCharArray(n,20); sms.SendSMS(n, PowerOFF); sms.DeleteSMS(1);memset(n,0,20); // Команда "0" - снять с охраны
if(input_string=="1"){Serial.print("Postanovka na ohranu!");n1.toCharArray(n,20); sms.SendSMS(n, smsW); sms.DeleteSMS(1); memset(n,0,20); // Команда "1" - Поставить на охрану
Доброго всем вечера подскажите кто нибудь пользовался фоторезистором как датчик лазерной сигнализации в связке с sim800l у меня есть полностью рабочий скетч для сигнализации но вот ни как не могу добавить туда фоторезистор. вот скетч для sim800l
if(input_string=="0"){Serial.print("Snyato s ohrani!");n1.toCharArray(n,20); sms.SendSMS(n, PowerOFF); sms.DeleteSMS(1);memset(n,0,20); // Команда "0" - снять с охраны
if(input_string=="1"){Serial.print("Postanovka na ohranu!");n1.toCharArray(n,20); sms.SendSMS(n, smsW); sms.DeleteSMS(1); memset(n,0,20); // Команда "1" - Поставить на охрану
и в третьих да действительно тот скетч для пир датчика но при проверке при подключение фоторезистора он работает как надо.
и последнее спасибо конечно за то что откликнулись но если у вас есть решение для подключения фоторезистора будь то к цифре или к аналогу и сливания с со скетчем sim800l буду признателен
и в третьих да действительно тот скетч для пир датчика но при проверке при подключение фоторезистора он работает как надо.
и последнее спасибо конечно за то что откликнулись но если у вас есть решение для подключения фоторезистора будь то к цифре или к аналогу и сливания с со скетчем sim800l буду признателен
и в третьих да действительно тот скетч для пир датчика но при проверке при подключение фоторезистора он работает как надо.
и последнее спасибо конечно за то что откликнулись но если у вас есть решение для подключения фоторезистора будь то к цифре или к аналогу и сливания с со скетчем sim800l буду признателен
и в третьих да действительно тот скетч для пир датчика но при проверке при подключение фоторезистора он работает как надо.
и последнее спасибо конечно за то что откликнулись но если у вас есть решение для подключения фоторезистора будь то к цифре или к аналогу и сливания с со скетчем sim800l буду признателен
if(input_string=="0"){Serial.print("Snyato s ohrani!");n1.toCharArray(n,20); sms.SendSMS(n, PowerOFF); sms.DeleteSMS(1);memset(n,0,20); // Команда "0" - снять с охраны
if(input_string=="1"){Serial.print("Postanovka na ohranu!");n1.toCharArray(n,20); sms.SendSMS(n, smsW); sms.DeleteSMS(1); memset(n,0,20); // Команда "1" - Поставить на охрану
и в третьих да действительно тот скетч для пир датчика но при проверке при подключение фоторезистора он работает как надо.
и последнее спасибо конечно за то что откликнулись но если у вас есть решение для подключения фоторезистора будь то к цифре или к аналогу и сливания с со скетчем sim800l буду признателен
if(input_string=="0"){Serial.print("Snyato s ohrani!");n1.toCharArray(n,20); sms.SendSMS(n, PowerOFF); sms.DeleteSMS(1);memset(n,0,20); // Команда "0" - снять с охраны
if(input_string=="1"){Serial.print("Postanovka na ohranu!");n1.toCharArray(n,20); sms.SendSMS(n, smsW); sms.DeleteSMS(1); memset(n,0,20); // Команда "1" - Поставить на охрану
и в третьих да действительно тот скетч для пир датчика но при проверке при подключение фоторезистора он работает как надо.
и последнее спасибо конечно за то что откликнулись но если у вас есть решение для подключения фоторезистора будь то к цифре или к аналогу и сливания с со скетчем sim800l буду признателен
if(input_string=="0"){Serial.print("Snyato s ohrani!");n1.toCharArray(n,20); sms.SendSMS(n, PowerOFF); sms.DeleteSMS(1);memset(n,0,20); // Команда "0" - снять с охраны
if(input_string=="1"){Serial.print("Postanovka na ohranu!");n1.toCharArray(n,20); sms.SendSMS(n, smsW); sms.DeleteSMS(1); memset(n,0,20); // Команда "1" - Поставить на охрану
и в третьих да действительно тот скетч для пир датчика но при проверке при подключение фоторезистора он работает как надо.
и последнее спасибо конечно за то что откликнулись но если у вас есть решение для подключения фоторезистора будь то к цифре или к аналогу и сливания с со скетчем sim800l буду признателен
if(input_string=="0"){Serial.print("Snyato s ohrani!");n1.toCharArray(n,20); sms.SendSMS(n, PowerOFF); sms.DeleteSMS(1);memset(n,0,20); // Команда "0" - снять с охраны
if(input_string=="1"){Serial.print("Postanovka na ohranu!");n1.toCharArray(n,20); sms.SendSMS(n, smsW); sms.DeleteSMS(1); memset(n,0,20); // Команда "1" - Поставить на охрану
и в третьих да действительно тот скетч для пир датчика но при проверке при подключение фоторезистора он работает как надо.
и последнее спасибо конечно за то что откликнулись но если у вас есть решение для подключения фоторезистора будь то к цифре или к аналогу и сливания с со скетчем sim800l буду признателен
if(input_string=="0"){Serial.print("Snyato s ohrani!");n1.toCharArray(n,20); sms.SendSMS(n, PowerOFF); sms.DeleteSMS(1);memset(n,0,20); // Команда "0" - снять с охраны
if(input_string=="1"){Serial.print("Postanovka na ohranu!");n1.toCharArray(n,20); sms.SendSMS(n, smsW); sms.DeleteSMS(1); memset(n,0,20); // Команда "1" - Поставить на охрану
// если значение фоторезистора б.1023, то выполняем следующие дествия
13
n1.toCharArray(n,20);
14
sms.SendSMS(n, smsDv); // Посылаем СМС о том, что есть движение
15
sms.DeleteSMS(1);memset(n,0,20);
16
charsmsbuffer[160]="";
17
flag1++;
18
}
19
20
if(flag1>=2){
21
tone(10, 2780, 200); // Сирена
22
}
А теперь вопрос, а зачем тебе знать освещенность в помещении?
Если при солнечной погоде у тебя будут одни значения, а ночью будет другие.
Кстати значение,которое тебе нужно, надо эксперементально определять, для определения выводи значения с датчика в сериал порт.
Для охраны, я бы взял обычный геркон, для обнаружения открытия двери, или еще один д. Объема
будет и геркон и датчик движения и крометого лазер будет светить в фоторезистор и при прерыванеие луча должен срабатывать датчик и сообщать мне посредствам смс и кроме того я собрал вот такой (http://arduino.ru/forum/apparatnye-voprosy/nuzhno-otslezhivat-nalichie-2...) пост 23 датчик который должен оповещать о пропадание 220 вольт и наоборот так что может быть мне понадобится помощь и при вписывание этого датчика в скетч, может есть мысли как это сделать
пробовал сегодня скетч с фоторезистором в принципе работает только вот найти и выставить нужное значение пришлось помучаться теперь осталось подключить датчик 220 вольт. Спасибо stambylov
кстати, Serial.println(F(str + "qwerty")); - именно 328 не умеет, может быть другая платформа умеет, можем стм ?? как то так должно быть: Serial.println ((str)+(F("qwerty")));
переменную писать во флеш через сериал точно не получится - ругается. Может быть существуют другие макросы для организации в зоне флеш - писать переменные, хранить номера телефонов..
Еще вопрос: а скоько телефонов можно хранить на 10кб флеша например?
если внешнюю память то какую? Ктонибудь решал подобное? Хочу изучить как это сделать, к примеру как хранить 3000 номеров на флеш и сравнивать с тем кто звонит - он в черном списке или в белом?
1. Прежде, чем рассуждать, умеет или нет, постарайтесь четко сформулировать, какого именно умения Вы хотите добиться. Может оказаться, что это принципиально невозможно.
2. Считайте, что flash - это ROM. Если нужно куда-то сохранять информацию так, чтобы она не терялась при перезагрузке - специально для этого есть EEPROM. Если ее объема недостаточно, то CD-card. Есть и "промежуточный" вариант - внешняя EEPROM, подключаемая до I2C.
3. Чтобы узнать, сколько элементов XXX можно хранить в памяти объемом YYY, нужно YYY поделить на длину XXX.
Я бы сказал, что +480871234567 - это не более 6 байт.
Теоретически SPI, по которому подключена SD карта существенно быстрее I2C. Но карта памяти - устройство блочное, а EEPROM - устройство прямого доступа. Лично я бы выбрал EEPROM на 256 кбит (32 кбайт).
По скорости - сильно зависит от организации, в частности от того, отсортирован предварительно массив или нет.
Я бы сказал, что +480871234567 - это не более 6 байт.
Теоретически SPI, по которому подключена SD карта существенно быстрее I2C. Но карта памяти - устройство блочное, а EEPROM - устройство прямого доступа. Лично я бы выбрал EEPROM на 256 кбит (32 кбайт).
По скорости - сильно зависит от организации, в частности от того, отсортирован предварительно массив или нет.
сортировка там не получится, номера добавляться будут по мере появления, не все сразу.
А как данный модуль по GPRS работает? Как часто происходят разрывы соединения с сервером по инету?
Узаю в приложении BLYNKa , не могу добиться устойчивой связи с серваком Blynka
на мегафоне и ростелекоме юзаю gprs - на мегафоне деактивация соединения присходит не чаще чем через пару часов, на ростелекоме ровно через 30 мин бездействия. В остальном полный норм.
Понижаю до 9в, которые подаю на Vin уны и на еще одну такую же понижайку с которой беру 4В и подаю на sim800l. Согласовал уровни через делитель напрядения на резисторах. Звонки проходят, смс ки принимаются, но ... Скажем, подаю питание, на модеме сначала происходят частые мигания, потом редкие - зарегистрировался. Если я звоню на модем секунд через 30, приблизительно, звонок проходит, отправляю смс, смска приходит. Проходит скажем пару минут, звоню - обонент не обонент, второй звонок проходит. Опять небольшой интервал времени, отправляю смс ... тишина ... звоню, абонент не абонент, еще раз звоню, абонент в сети, приходит смс ...
Я было подумал - засыпает. Даю ему: AT+CFUN=1,1 в ответ ок, но ничего не меняется, поведение такое же ...
+CSQ: 14,0
+CBC: 0,69,3955
Сигнал, я так понимаю, уверенный, питания хватает ...
В общем, что может быть причиной, и какую емкость на входе по питанию ставить на модем ...
Понижаю до 9в, которые подаю на Vin уны и на еще одну такую же понижайку с которой беру 4В и подаю на sim800l. Согласовал уровни через делитель напрядения на резисторах. Звонки проходят, смс ки принимаются, но ... Скажем, подаю питание, на модеме сначала происходят частые мигания, потом редкие - зарегистрировался. Если я звоню на модем секунд через 30, приблизительно, звонок проходит, отправляю смс, смска приходит. Проходит скажем пару минут, звоню - обонент не обонент, второй звонок проходит. Опять небольшой интервал времени, отправляю смс ... тишина ... звоню, абонент не абонент, еще раз звоню, абонент в сети, приходит смс ...
Я было подумал - засыпает. Даю ему: AT+CFUN=1,1 в ответ ок, но ничего не меняется, поведение такое же ...
+CSQ: 14,0
+CBC: 0,69,3955
Сигнал, я так понимаю, уверенный, питания хватает ...
В общем, что может быть причиной, и какую емкость на входе по питанию ставить на модем ...
попробуйте произвести теже действия только через UART TTL и понаблюдайте за состоянием модуля в терминальной программе.
у меня со всех модулей в терминалке честно все команды работают, в том числе и эта.
V-max VL пишет:
Удивителен еще вот какой факт: получаешь значит цифиру (например +GMGS: 30) и думаешь, что в памяти симки сохраняются 30 смс-ок. Делаешь DEL ALL или DEL SENT, получаешь положительный ответ, пытаешься (для контроля) прочитать группы смс-ок, в ответ пусто. Думаешь: Всё, работает. Модуль шлет смс-ку и в ответ: +GMGS: 31. Может все таки просто счетчик?
Так, что в итоге? Счетчик? У меня аналогично, не удаляет ...
И еще вопрос: на AT+CREG? отдает +CREG: 0,1 Первая цифра это: "нет кода регистрации", а вторая: "зарегистрирован, домашняя сеть". Что за код регистрации? Это печально, что его нету или так и должно быть.
По подключению к консоли: все рэади
Цитата:
+CPIN: READY
Call Ready
SMS Ready
+CMGS: 54
OK
На питание не матерится, лампочка моргает редко (зарегестрирован), но периодически абонент не абонент...
прочитайте всю ветку. 100 раз уже писали что симку надо правильно ставить, если симка 4G то не получится запустить на 800 нужен 808, ну и питание проверяйте - очень требователен...
а не проще время из GSM сети брать? или нужно ну оочень точное время?
ао попробуйте дать команду и так оставить на несколько часов.?
есть инфа, что опсос может не сразу давать новое время, а и через час или более синхронизация происходит.
Хотя я лично - сомневаюсь. Но проверьте при случае.
Коллеги, подскажите. Перерыл весь форум, не нашел. Подвис на задачке: нужно получить от модуля значение зпароса AT+CSQ (уровень сигнала) и сохранить первую цифру (до запятой которая) в переменную.
Пользую модуль SIM900. В монитор порта данные модуль выводит, а вот как их поймать без монитора и в переменную сохранить - никак не пойму. Т.е. из полученного ответа
+CSQ:
21,0
ОК
нужно взять цифру 21 и положить ее в переменную.
а стринг используете?
верно говорят - библиотеки для gsm модулей - зло...
и разве ответ не +CSQ: 21,0 - в одной строке? помоему он в одной приходит.
Коллеги, подскажите. Перерыл весь форум, не нашел. Подвис на задачке: нужно получить от модуля значение зпароса AT+CSQ (уровень сигнала) и сохранить первую цифру (до запятой которая) в переменную.
Пользую модуль SIM900. В монитор порта данные модуль выводит, а вот как их поймать без монитора и в переменную сохранить - никак не пойму. Т.е. из полученного ответа
+CSQ:
21,0
ОК
нужно взять цифру 21 и положить ее в переменную.
Кусочки кода из моей проги:
1
01
// Переменные, хранящие уровень сигнала сотовой сети
02
int
IntSignalLevel = 0;
03
int
IntSignalLevelTemp = 0;
04
int
intNumberLevelFirst = 0;
05
int
intNumberLevelSecond = 0;
06
int
FlagSignal = 0;
07
08
int
ch = 0;
//
09
String val =
""
;
//
10
String currStr =
""
;
//
11
String currStrN =
""
;
//
12
char
data;
//
13
String dataSms =
""
;
//
14
15
16
// Далее пишем в loop
17
18
//.......Кусок кода
19
20
if
(
Serial
.available()){
21
mySerial.write(
Serial
.read());
22
}
23
24
if
(mySerial.available()) {
//есть данные от GSM модуля
25
currStr =
""
;
//выждем, чтобы строка успела попасть в порт целиком раньше чем будет считана
26
currStrN =
""
;
27
dataSms =
""
;
28
val =
""
;
29
while
(mySerial.available()) {
//сохраняем входную строку в переменную val
30
ch = mySerial.read();
//int
31
val +=
char
(ch);
// String
32
data = ch;
// char = int
33
34
//.......Кусок кода
35
36
}
37
38
// Смотрим данные полученные от модуля +CSQ: 22,0
39
if
(val.indexOf(
"+CSQ"
) > -1) {
40
Serial
.print(
"Poluchili sms: "
);
41
Serial
.println(val);
42
for
(i=0; i<=20; i++){
43
if
(val[i] == 58) {
44
intNumberLevelFirst = val[i+2]-48;
45
if
(val[i+3] == 44){ intNumberLevelSecond = 0;}
46
if
(val[i+3] != 44){ intNumberLevelSecond = val[i+3]-48;}
47
if
(val[i+3] == 44){IntSignalLevel = intNumberLevelFirst;}
48
if
(val[i+3] != 44){IntSignalLevel = (intNumberLevelFirst*10) + intNumberLevelSecond;}
49
}
50
}
51
Serial
.print(
"Signal level: "
);
52
Serial
.println(IntSignalLevel);
53
if
(IntSignalLevel == 99 || IntSignalLevel == 0){
54
//.......Кусок кода
55
}
56
if
(IntSignalLevel <=10 && IntSignalLevel !=0){
57
//.......Кусок кода
58
}
59
if
(IntSignalLevel >= 11 && IntSignalLevel <= 22){
60
//.......Кусок кода
61
}
62
if
(IntSignalLevel >= 23 && IntSignalLevel <= 32){
63
//.......Кусок кода
64
}
65
}
66
//.......Кусок кода
67
}
stambylov, не поясните, что происходит в строках 43-48?
Short Circuit, стринг как gsm библиотеку, или как оператор?
Коллеги, подскажите. Перерыл весь форум, не нашел. Подвис на задачке: нужно получить от модуля значение зпароса AT+CSQ (уровень сигнала) и сохранить первую цифру (до запятой которая) в переменную.
Пользую модуль SIM900. В монитор порта данные модуль выводит, а вот как их поймать без монитора и в переменную сохранить - никак не пойму. Т.е. из полученного ответа
+CSQ:
21,0
ОК
нужно взять цифру 21 и положить ее в переменную.
Вам нужно обработать ответ от модуля, правильно тут сказали он должен приходить в одной строке, т.е. Вы получили ответ - +CSQ: 22,0
Тогда берете символы от двоеточия, до первой запятой, удаляя пробелы - это и будет значение.
Операторы indexOf и substring Вам помогут в этом при работе со String.
01
void
read_buffer_SIM800L(){
02
03
/*static*/
boolean isStringMessage =
false
;
04
/*static*/
String currStr =
""
;
05
/*static*/
String currStr_head_at =
""
;
06
char
currSymb;
07
08
if
(!Serial3.available())
09
return
;
10
11
12
while
(Serial3.available()) {
13
currSymb = Serial3.read();
14
if
(
'\r'
== currSymb) {
15
if
(isStringMessage) {
16
//если текущая строка - SMS-сообщение или график с сайта,
17
//отреагируем на него соответствующим образом
18
isStringMessage =
false
;
19
ProcessIncomingBuffer(currStr_head_at, currStr);
20
21
}
else
{
22
23
if
(currStr.startsWith(
"+CMT"
)) {
24
//если текущая строка начинается с "+CMT",
25
//то следующая строка является сообщением
26
isStringMessage =
true
;
27
currStr_head_at = currStr;
28
29
}
else
{
30
if
(currStr.startsWith(
"+SAPBR"
)) {
31
ProcessIncomingBuffer(currStr);
32
33
}
else
{
34
if
(currStr.startsWith(
"+HTTPACTION"
)) {
35
ProcessIncomingBuffer(currStr);
36
37
}
else
{
38
if
(currStr.startsWith(
"+CCLK"
)) {
39
ProcessIncomingBuffer(currStr);
40
41
}
else
{
42
if
(currStr.startsWith(
"+HTTPREAD"
)) {
43
//если текущая строка начинается с "+HTTPREAD",
44
//то следующая строка является скаченным графиком с сайта
45
isStringMessage =
true
;
46
currStr_head_at = currStr;
47
}
48
}
49
}
50
}
51
}
52
}
53
54
currStr =
""
;
55
56
}
else
if
(
'\n'
!= currSymb) {
57
currStr += String(currSymb);
58
}
59
60
delay(10);
61
}
62
63
}
64
65
void
loop
() {
66
67
// вычитываем буфер
68
read_buffer_SIM800L();
69
70
}
В данном случае -currStr_head_at это есть ответ от модуля общение по АТ командам, в нем и будет ваш ответ
[покусано]
извиняюсь, не туда бросил....
а как хотите, раз библиотека gsm вам не дает требуемое.
Тут в ветке полно примеров как считать значение из АТ команды, честно говоря, не совсем понимаю зачем и спрашивать.
Таблица ASCII
01
//Начинаем цикл поиска нужного символа по полученным данным (+CSQ: 24,0)
02
for
(i=0; i<=20; i++){
03
//Если i-тый символ = ":", то выполняем далее действия в функции if
04
if
(val[i] == 58) {
// 58 - это символ :
05
// т.к. сообщение (+CSQ: 24,0), i=:, то нас интересует значение которое находится справа через символ (пробел),
06
// т.е. говорим что первый символ уровня сигнала будет равен i+2 (В НАШЕМ СЛУЧАЕ это буде "2")
07
intNumberLevelFirst = val[i+2]-48;
// т.к. число приходит к нам в десятичном формате, надо отнять 48
08
// ПРимер: пришло число 2(это мы только видем в порту) (в таблице ASCII это номер 50)
09
// надо вычесть 50-48 = 2, вот и все
10
//идем далее, если следующий символ равен "," (в таблице ASCII это номер 44), то присваеваем 0, если не равен "," идем далее
11
if
(val[i+3] == 44){ intNumberLevelSecond = 0;}
12
//идем далее, если символ НЕ равен "," (в таблице ASCII это номер 44), то присваеваем значение (52-48=4)
13
if
(val[i+3] != 44){ intNumberLevelSecond = val[i+3]-48;}
14
//идем далее, если символ равен ",", присваеваем выходному значению IntSignalLevel, значение которое получили ранее, это 2
15
if
(val[i+3] == 44){IntSignalLevel = intNumberLevelFirst;}
16
//идем далее, если символ НЕ равен ",", присваеваем выходному значению IntSignalLevel следующее выражение
17
// (2*10)+4 = 24, вот мы и получили уровень сигнала
18
if
(val[i+3] != 44){IntSignalLevel = (intNumberLevelFirst*10) + intNumberLevelSecond;}
19
}
20
}
Доброго всем вечера подскажите кто нибудь пользовался фоторезистором как датчик лазерной сигнализации в связке с sim800l у меня есть полностью рабочий скетч для сигнализации но вот ни как не могу добавить туда фоторезистор. вот скетч для sim800l
01
#include "SIM900.h"
02
#include <SoftwareSerial.h>
03
04
#include "sms.h"
05
#include "call.h"
06
SMSGSM sms;
07
CallGSM call;
08
09
//=================Пины 2 и 3 для Подключения GSM модуля
10
11
int
sensor1=0;
12
int
flag1=0;
13
boolean started=
false
;
14
char
smsbuffer[160];
15
char
n[20];
16
String n1 =
"+79170417032"
;
17
String input_string =
""
;
18
String smsContent =
""
;
19
char
sirena[] =
"Sirena vkluchena!"
;
20
char
PowerOFF[] =
"Snyato s ohrani"
;
21
char
smsDv[] =
"Wnimaniye! Dvijeniye na objekte!"
;
22
char
smsW[] =
"Postanovka na ohranu!"
;
23
char
pos;
24
char
sendsms[160];
25
26
void
setup
() {
27
28
pinMode(10, OUTPUT);
// Пассивный зумер (сигнал)
29
pinMode(7, OUTPUT);
30
31
Serial
.begin(9600);
32
pinMode(4, INPUT);
// датчик движения
33
// digitalWrite(4, HIGH);
34
pinMode(5, INPUT);
// еще какой-нибудь датчик
35
// digitalWrite(5, HIGH);
36
37
if
(gsm.begin(4800)) {
38
Serial
.println(
"\nstatus=READY"
);
39
started=
true
;
40
}
else
Serial
.println(
"\nstatus=IDLE"
);
41
42
}
43
void
loop
() {
44
45
//===========================Первое срабатывание датчика движения
46
if
((digitalRead(5)==HIGH) && sensor1==1 && flag1==0){
47
n1.toCharArray(n,20);
48
sms.SendSMS(n, smsDv);
// Посылаем СМС о том, что есть движение
49
sms.DeleteSMS(1);memset(n,0,20);
50
char
smsbuffer[160]=
""
;
51
flag1++;
52
delay(5000);
// Ждем 5 секунд
53
}
54
//===========================Повторное срабатывание датчика движения
55
if
((digitalRead(5)==HIGH) && sensor1==1 && flag1==1){
56
n1.toCharArray(n,20);
57
sms.SendSMS(n, sirena);
// Посылаем СМС о том, что включена сирена
58
sms.DeleteSMS(1);memset(n,0,20);
59
char
smsbuffer[160]=
""
;
60
flag1++;
61
}
62
63
if
(flag1>=2){
64
tone(10, 2780, 200);
// Сирена
65
}
66
67
68
pos = sms.IsSMSPresent(SMS_UNREAD);
// смотрим непрочитанные СМС
69
if
(pos) {
// Если непрочитанные СМС есть, то...
70
71
getsms();
// получаем непрочитанную СМС
72
73
if
(input_string==
"0"
){
Serial
.print(
"Snyato s ohrani!"
);n1.toCharArray(n,20); sms.SendSMS(n, PowerOFF); sms.DeleteSMS(1);memset(n,0,20);
// Команда "0" - снять с охраны
74
sensor1=0;digitalWrite(7,LOW);input_string=
""
;
char
smsbuffer[160]=
""
; flag1=0;}
75
76
if
(input_string==
"1"
){
Serial
.print(
"Postanovka na ohranu!"
);n1.toCharArray(n,20); sms.SendSMS(n, smsW); sms.DeleteSMS(1); memset(n,0,20);
// Команда "1" - Поставить на охрану
77
sensor1=1; input_string=
""
;
char
smsbuffer[160]=
""
; flag1=0;}
78
79
sms.DeleteSMS(pos);
// удаляем СМС из симки
80
}
81
}
82
void
getsms()
83
{
84
sms.GetSMS(1,n,20,smsbuffer,160);
85
input_string =String(smsbuffer);
86
}
а вот скетч для фоторезистора который тоже отлично работает
01
#define photoPin 8
02
#define LedPin 11
03
04
05
void
setup
() {
06
07
Serial
.begin(9600);
08
pinMode(photoPin, INPUT);
09
pinMode(LedPin, OUTPUT);
10
11
}
12
13
void
loop
(){
14
int
photoVal = digitalRead(photoPin);
15
16
//Если обнаружили движение
17
if
(photoPin == LOW)
18
digitalWrite(LedPin, LOW);
19
Serial
.print(
"0"
);
20
21
delay(5000);
22
}
23
else
24
{
25
Serial
.print(
"1"
);
26
digitalWrite(LedPin, HIGH);
27
28
delay(2000);
29
}
но при сливание скетчев почему то у меня фоторезистор срабатывает сразу.
Вообщем нужен совет по добавлению фоторезистора в готовый скетч. Заранее спасибо всем
Во-первых, скетч я думаю не вами написан.
Во-вторых, фоторезистор подключается к аналоговому входу и он измеряет в 1024 градации, видеоурок
В-третьих, второй ваш скетч, не для фоторезистора, а для датчика движения(объемника)
Доброго всем вечера подскажите кто нибудь пользовался фоторезистором как датчик лазерной сигнализации в связке с sim800l у меня есть полностью рабочий скетч для сигнализации но вот ни как не могу добавить туда фоторезистор. вот скетч для sim800l
01
#include "SIM900.h"
02
#include <SoftwareSerial.h>
03
04
#include "sms.h"
05
#include "call.h"
06
SMSGSM sms;
07
CallGSM call;
08
09
//=================Пины 2 и 3 для Подключения GSM модуля
10
11
int
sensor1=0;
12
int
flag1=0;
13
boolean started=
false
;
14
char
smsbuffer[160];
15
char
n[20];
16
String n1 =
"+79170417032"
;
17
String input_string =
""
;
18
String smsContent =
""
;
19
char
sirena[] =
"Sirena vkluchena!"
;
20
char
PowerOFF[] =
"Snyato s ohrani"
;
21
char
smsDv[] =
"Wnimaniye! Dvijeniye na objekte!"
;
22
char
smsW[] =
"Postanovka na ohranu!"
;
23
char
pos;
24
char
sendsms[160];
25
26
void
setup
() {
27
28
pinMode(10, OUTPUT);
// Пассивный зумер (сигнал)
29
pinMode(7, OUTPUT);
30
31
Serial
.begin(9600);
32
pinMode(4, INPUT);
// датчик движения
33
// digitalWrite(4, HIGH);
34
pinMode(5, INPUT);
// еще какой-нибудь датчик
35
// digitalWrite(5, HIGH);
36
37
if
(gsm.begin(4800)) {
38
Serial
.println(
"\nstatus=READY"
);
39
started=
true
;
40
}
else
Serial
.println(
"\nstatus=IDLE"
);
41
42
}
43
void
loop
() {
44
45
//===========================Первое срабатывание датчика движения
46
if
((digitalRead(5)==HIGH) && sensor1==1 && flag1==0){
47
n1.toCharArray(n,20);
48
sms.SendSMS(n, smsDv);
// Посылаем СМС о том, что есть движение
49
sms.DeleteSMS(1);memset(n,0,20);
50
char
smsbuffer[160]=
""
;
51
flag1++;
52
delay(5000);
// Ждем 5 секунд
53
}
54
//===========================Повторное срабатывание датчика движения
55
if
((digitalRead(5)==HIGH) && sensor1==1 && flag1==1){
56
n1.toCharArray(n,20);
57
sms.SendSMS(n, sirena);
// Посылаем СМС о том, что включена сирена
58
sms.DeleteSMS(1);memset(n,0,20);
59
char
smsbuffer[160]=
""
;
60
flag1++;
61
}
62
63
if
(flag1>=2){
64
tone(10, 2780, 200);
// Сирена
65
}
66
67
68
pos = sms.IsSMSPresent(SMS_UNREAD);
// смотрим непрочитанные СМС
69
if
(pos) {
// Если непрочитанные СМС есть, то...
70
71
getsms();
// получаем непрочитанную СМС
72
73
if
(input_string==
"0"
){
Serial
.print(
"Snyato s ohrani!"
);n1.toCharArray(n,20); sms.SendSMS(n, PowerOFF); sms.DeleteSMS(1);memset(n,0,20);
// Команда "0" - снять с охраны
74
sensor1=0;digitalWrite(7,LOW);input_string=
""
;
char
smsbuffer[160]=
""
; flag1=0;}
75
76
if
(input_string==
"1"
){
Serial
.print(
"Postanovka na ohranu!"
);n1.toCharArray(n,20); sms.SendSMS(n, smsW); sms.DeleteSMS(1); memset(n,0,20);
// Команда "1" - Поставить на охрану
77
sensor1=1; input_string=
""
;
char
smsbuffer[160]=
""
; flag1=0;}
78
79
sms.DeleteSMS(pos);
// удаляем СМС из симки
80
}
81
}
82
void
getsms()
83
{
84
sms.GetSMS(1,n,20,smsbuffer,160);
85
input_string =String(smsbuffer);
86
}
а вот скетч для фоторезистора который тоже отлично работает
01
#define photoPin 8
02
#define LedPin 11
03
04
05
void
setup
() {
06
07
Serial
.begin(9600);
08
pinMode(photoPin, INPUT);
09
pinMode(LedPin, OUTPUT);
10
11
}
12
13
void
loop
(){
14
int
photoVal = digitalRead(photoPin);
15
16
//Если обнаружили движение
17
if
(photoPin == LOW)
18
digitalWrite(LedPin, LOW);
19
Serial
.print(
"0"
);
20
21
delay(5000);
22
}
23
else
24
{
25
Serial
.print(
"1"
);
26
digitalWrite(LedPin, HIGH);
27
28
delay(2000);
29
}
но при сливание скетчев почему то у меня фоторезистор срабатывает сразу.
Вообщем нужен совет по добавлению фоторезистора в готовый скетч. Заранее спасибо всем
Во-первых, скетч я думаю не вами написан.
Во-вторых, фоторезистор подключается к аналоговому входу и он измеряет в 1024 градации, видеоурок
В-третьих, второй ваш скетч, не для фоторезистора, а для датчика движения(объемника)
всё правильно во первых я и не говорил что это мой скетч я говорил что он рабочий
во вторых мне сказали что вот такой датчик (https://ru.aliexpress.com/item/KY-018-photosensitive-sensor-module-light...) можно подключить и к цифрому пину и я при подключение получаю в монитре порта 1 или 0
и в третьих да действительно тот скетч для пир датчика но при проверке при подключение фоторезистора он работает как надо.
и последнее спасибо конечно за то что откликнулись но если у вас есть решение для подключения фоторезистора будь то к цифре или к аналогу и сливания с со скетчем sim800l буду признателен
всё правильно во первых я и не говорил что это мой скетч я говорил что он рабочий
во вторых мне сказали что вот такой датчик (https://ru.aliexpress.com/item/KY-018-photosensitive-sensor-module-light...) можно подключить и к цифрому пину и я при подключение получаю в монитре порта 1 или 0
и в третьих да действительно тот скетч для пир датчика но при проверке при подключение фоторезистора он работает как надо.
и последнее спасибо конечно за то что откликнулись но если у вас есть решение для подключения фоторезистора будь то к цифре или к аналогу и сливания с со скетчем sim800l буду признателен
Вот урок по подключению фоторезистора УРОК
всё правильно во первых я и не говорил что это мой скетч я говорил что он рабочий
во вторых мне сказали что вот такой датчик (https://ru.aliexpress.com/item/KY-018-photosensitive-sensor-module-light...) можно подключить и к цифрому пину и я при подключение получаю в монитре порта 1 или 0
и в третьих да действительно тот скетч для пир датчика но при проверке при подключение фоторезистора он работает как надо.
и последнее спасибо конечно за то что откликнулись но если у вас есть решение для подключения фоторезистора будь то к цифре или к аналогу и сливания с со скетчем sim800l буду признателен
Вот урок по подключению фоторезистора УРОК
я этот урок видел и подключал и всё у меня получается но вот слить эти скетчи вот в чём проблема моя
всё правильно во первых я и не говорил что это мой скетч я говорил что он рабочий
во вторых мне сказали что вот такой датчик (https://ru.aliexpress.com/item/KY-018-photosensitive-sensor-module-light-module-detects-photosensitive-photosensitive-resistor-module-for-arduino/32320804812.html?spm=2114.13010608.0.0.cj7poI) можно подключить и к цифрому пину и я при подключение получаю в монитре порта 1 или 0
и в третьих да действительно тот скетч для пир датчика но при проверке при подключение фоторезистора он работает как надо.
и последнее спасибо конечно за то что откликнулись но если у вас есть решение для подключения фоторезистора будь то к цифре или к аналогу и сливания с со скетчем sim800l буду признателен
Вот урок по подключению фоторезистора УРОК
я этот урок видел и подключал и всё у меня получается но вот слить эти скетчи вот в чём проблема моя
вот смотри:
01
#include "SIM900.h"
02
#include <SoftwareSerial.h>
03
04
#include "sms.h"
05
#include "call.h"
06
SMSGSM sms;
07
CallGSM call;
08
09
//=================Пины 2 и 3 для Подключения GSM модуля
10
int
fotorezistor = A2;
11
int
sensor1=0;
12
int
flag1=0;
13
boolean started=
false
;
14
char
smsbuffer[160];
15
char
n[20];
16
String n1 =
"+79170417032"
;
17
String input_string =
""
;
18
String smsContent =
""
;
19
char
sirena[] =
"Sirena vkluchena!"
;
20
char
PowerOFF[] =
"Snyato s ohrani"
;
21
char
smsDv[] =
"Wnimaniye! Dvijeniye na objekte!"
;
22
char
smsW[] =
"Postanovka na ohranu!"
;
23
char
pos;
24
char
sendsms[160];
25
26
void
setup
() {
27
28
pinMode(10, OUTPUT);
// Пассивный зумер (сигнал)
29
pinMode(7, OUTPUT);
30
31
Serial
.begin(9600);
32
pinMode(4, INPUT);
// датчик движения
33
// digitalWrite(4, HIGH);
34
pinMode(5, INPUT);
// еще какой-нибудь датчик
35
// digitalWrite(5, HIGH);
36
37
if
(gsm.begin(4800)) {
38
Serial
.println(
"\nstatus=READY"
);
39
started=
true
;
40
}
else
Serial
.println(
"\nstatus=IDLE"
);
41
42
}
43
void
loop
() {
44
//**************Фоторезистор
45
if
(analogRead(fotorezistor) >= 1023){
// если значение фоторезистора б.1023, то выполняем следующие дествия
46
//действия
47
}
48
//===========================Первое срабатывание датчика движения
49
if
((digitalRead(5)==HIGH) && sensor1==1 && flag1==0){
50
n1.toCharArray(n,20);
51
sms.SendSMS(n, smsDv);
// Посылаем СМС о том, что есть движение
52
sms.DeleteSMS(1);memset(n,0,20);
53
char
smsbuffer[160]=
""
;
54
flag1++;
55
delay(5000);
// Ждем 5 секунд
56
}
57
//===========================Повторное срабатывание датчика движения
58
if
((digitalRead(5)==HIGH) && sensor1==1 && flag1==1){
59
n1.toCharArray(n,20);
60
sms.SendSMS(n, sirena);
// Посылаем СМС о том, что включена сирена
61
sms.DeleteSMS(1);memset(n,0,20);
62
char
smsbuffer[160]=
""
;
63
flag1++;
64
}
65
66
if
(flag1>=2){
67
tone(10, 2780, 200);
// Сирена
68
}
69
70
71
pos = sms.IsSMSPresent(SMS_UNREAD);
// смотрим непрочитанные СМС
72
if
(pos) {
// Если непрочитанные СМС есть, то...
73
74
getsms();
// получаем непрочитанную СМС
75
76
if
(input_string==
"0"
){
Serial
.print(
"Snyato s ohrani!"
);n1.toCharArray(n,20); sms.SendSMS(n, PowerOFF); sms.DeleteSMS(1);memset(n,0,20);
// Команда "0" - снять с охраны
77
sensor1=0;digitalWrite(7,LOW);input_string=
""
;
char
smsbuffer[160]=
""
; flag1=0;}
78
79
if
(input_string==
"1"
){
Serial
.print(
"Postanovka na ohranu!"
);n1.toCharArray(n,20); sms.SendSMS(n, smsW); sms.DeleteSMS(1); memset(n,0,20);
// Команда "1" - Поставить на охрану
80
sensor1=1; input_string=
""
;
char
smsbuffer[160]=
""
; flag1=0;}
81
82
sms.DeleteSMS(pos);
// удаляем СМС из симки
83
}
84
}
85
void
getsms()
86
{
87
sms.GetSMS(1,n,20,smsbuffer,160);
88
input_string =String(smsbuffer);
89
}
всё правильно во первых я и не говорил что это мой скетч я говорил что он рабочий
во вторых мне сказали что вот такой датчик (https://ru.aliexpress.com/item/KY-018-photosensitive-sensor-module-light-module-detects-photosensitive-photosensitive-resistor-module-for-arduino/32320804812.html?spm=2114.13010608.0.0.cj7poI) можно подключить и к цифрому пину и я при подключение получаю в монитре порта 1 или 0
и в третьих да действительно тот скетч для пир датчика но при проверке при подключение фоторезистора он работает как надо.
и последнее спасибо конечно за то что откликнулись но если у вас есть решение для подключения фоторезистора будь то к цифре или к аналогу и сливания с со скетчем sim800l буду признателен
Вот урок по подключению фоторезистора УРОК
я этот урок видел и подключал и всё у меня получается но вот слить эти скетчи вот в чём проблема моя
вот смотри:
01
#include "SIM900.h"
02
#include <SoftwareSerial.h>
03
04
#include "sms.h"
05
#include "call.h"
06
SMSGSM sms;
07
CallGSM call;
08
09
//=================Пины 2 и 3 для Подключения GSM модуля
10
int
fotorezistor = A2;
11
int
sensor1=0;
12
int
flag1=0;
13
boolean started=
false
;
14
char
smsbuffer[160];
15
char
n[20];
16
String n1 =
"+79170417032"
;
17
String input_string =
""
;
18
String smsContent =
""
;
19
char
sirena[] =
"Sirena vkluchena!"
;
20
char
PowerOFF[] =
"Snyato s ohrani"
;
21
char
smsDv[] =
"Wnimaniye! Dvijeniye na objekte!"
;
22
char
smsW[] =
"Postanovka na ohranu!"
;
23
char
pos;
24
char
sendsms[160];
25
26
void
setup
() {
27
28
pinMode(10, OUTPUT);
// Пассивный зумер (сигнал)
29
pinMode(7, OUTPUT);
30
31
Serial
.begin(9600);
32
pinMode(4, INPUT);
// датчик движения
33
// digitalWrite(4, HIGH);
34
pinMode(5, INPUT);
// еще какой-нибудь датчик
35
// digitalWrite(5, HIGH);
36
37
if
(gsm.begin(4800)) {
38
Serial
.println(
"\nstatus=READY"
);
39
started=
true
;
40
}
else
Serial
.println(
"\nstatus=IDLE"
);
41
42
}
43
void
loop
() {
44
//**************Фоторезистор
45
if
(analogRead(fotorezistor) >= 1023){
// если значение фоторезистора б.1023, то выполняем следующие дествия
46
//действия
47
}
48
//===========================Первое срабатывание датчика движения
49
if
((digitalRead(5)==HIGH) && sensor1==1 && flag1==0){
50
n1.toCharArray(n,20);
51
sms.SendSMS(n, smsDv);
// Посылаем СМС о том, что есть движение
52
sms.DeleteSMS(1);memset(n,0,20);
53
char
smsbuffer[160]=
""
;
54
flag1++;
55
delay(5000);
// Ждем 5 секунд
56
}
57
//===========================Повторное срабатывание датчика движения
58
if
((digitalRead(5)==HIGH) && sensor1==1 && flag1==1){
59
n1.toCharArray(n,20);
60
sms.SendSMS(n, sirena);
// Посылаем СМС о том, что включена сирена
61
sms.DeleteSMS(1);memset(n,0,20);
62
char
smsbuffer[160]=
""
;
63
flag1++;
64
}
65
66
if
(flag1>=2){
67
tone(10, 2780, 200);
// Сирена
68
}
69
70
71
pos = sms.IsSMSPresent(SMS_UNREAD);
// смотрим непрочитанные СМС
72
if
(pos) {
// Если непрочитанные СМС есть, то...
73
74
getsms();
// получаем непрочитанную СМС
75
76
if
(input_string==
"0"
){
Serial
.print(
"Snyato s ohrani!"
);n1.toCharArray(n,20); sms.SendSMS(n, PowerOFF); sms.DeleteSMS(1);memset(n,0,20);
// Команда "0" - снять с охраны
77
sensor1=0;digitalWrite(7,LOW);input_string=
""
;
char
smsbuffer[160]=
""
; flag1=0;}
78
79
if
(input_string==
"1"
){
Serial
.print(
"Postanovka na ohranu!"
);n1.toCharArray(n,20); sms.SendSMS(n, smsW); sms.DeleteSMS(1); memset(n,0,20);
// Команда "1" - Поставить на охрану
80
sensor1=1; input_string=
""
;
char
smsbuffer[160]=
""
; flag1=0;}
81
82
sms.DeleteSMS(pos);
// удаляем СМС из симки
83
}
84
}
85
void
getsms()
86
{
87
sms.GetSMS(1,n,20,smsbuffer,160);
88
input_string =String(smsbuffer);
89
}
спасибо за подсказку к сожалению сейчас не могу проверить я так понимаю что после 46 строки надо добавить что иммено надо сделать
всё правильно во первых я и не говорил что это мой скетч я говорил что он рабочий
во вторых мне сказали что вот такой датчик (https://ru.aliexpress.com/item/KY-018-photosensitive-sensor-module-light-module-detects-photosensitive-photosensitive-resistor-module-for-arduino/32320804812.html?spm=2114.13010608.0.0.cj7poI) можно подключить и к цифрому пину и я при подключение получаю в монитре порта 1 или 0
и в третьих да действительно тот скетч для пир датчика но при проверке при подключение фоторезистора он работает как надо.
и последнее спасибо конечно за то что откликнулись но если у вас есть решение для подключения фоторезистора будь то к цифре или к аналогу и сливания с со скетчем sim800l буду признателен
Вот урок по подключению фоторезистора УРОК
я этот урок видел и подключал и всё у меня получается но вот слить эти скетчи вот в чём проблема моя
вот смотри:
01
#include "SIM900.h"
02
#include <SoftwareSerial.h>
03
04
#include "sms.h"
05
#include "call.h"
06
SMSGSM sms;
07
CallGSM call;
08
09
//=================Пины 2 и 3 для Подключения GSM модуля
10
int
fotorezistor = A2;
11
int
sensor1=0;
12
int
flag1=0;
13
boolean started=
false
;
14
char
smsbuffer[160];
15
char
n[20];
16
String n1 =
"+79170417032"
;
17
String input_string =
""
;
18
String smsContent =
""
;
19
char
sirena[] =
"Sirena vkluchena!"
;
20
char
PowerOFF[] =
"Snyato s ohrani"
;
21
char
smsDv[] =
"Wnimaniye! Dvijeniye na objekte!"
;
22
char
smsW[] =
"Postanovka na ohranu!"
;
23
char
pos;
24
char
sendsms[160];
25
26
void
setup
() {
27
28
pinMode(10, OUTPUT);
// Пассивный зумер (сигнал)
29
pinMode(7, OUTPUT);
30
31
Serial
.begin(9600);
32
pinMode(4, INPUT);
// датчик движения
33
// digitalWrite(4, HIGH);
34
pinMode(5, INPUT);
// еще какой-нибудь датчик
35
// digitalWrite(5, HIGH);
36
37
if
(gsm.begin(4800)) {
38
Serial
.println(
"\nstatus=READY"
);
39
started=
true
;
40
}
else
Serial
.println(
"\nstatus=IDLE"
);
41
42
}
43
void
loop
() {
44
//**************Фоторезистор
45
if
(analogRead(fotorezistor) >= 1023){
// если значение фоторезистора б.1023, то выполняем следующие дествия
46
//действия
47
}
48
//===========================Первое срабатывание датчика движения
49
if
((digitalRead(5)==HIGH) && sensor1==1 && flag1==0){
50
n1.toCharArray(n,20);
51
sms.SendSMS(n, smsDv);
// Посылаем СМС о том, что есть движение
52
sms.DeleteSMS(1);memset(n,0,20);
53
char
smsbuffer[160]=
""
;
54
flag1++;
55
delay(5000);
// Ждем 5 секунд
56
}
57
//===========================Повторное срабатывание датчика движения
58
if
((digitalRead(5)==HIGH) && sensor1==1 && flag1==1){
59
n1.toCharArray(n,20);
60
sms.SendSMS(n, sirena);
// Посылаем СМС о том, что включена сирена
61
sms.DeleteSMS(1);memset(n,0,20);
62
char
smsbuffer[160]=
""
;
63
flag1++;
64
}
65
66
if
(flag1>=2){
67
tone(10, 2780, 200);
// Сирена
68
}
69
70
71
pos = sms.IsSMSPresent(SMS_UNREAD);
// смотрим непрочитанные СМС
72
if
(pos) {
// Если непрочитанные СМС есть, то...
73
74
getsms();
// получаем непрочитанную СМС
75
76
if
(input_string==
"0"
){
Serial
.print(
"Snyato s ohrani!"
);n1.toCharArray(n,20); sms.SendSMS(n, PowerOFF); sms.DeleteSMS(1);memset(n,0,20);
// Команда "0" - снять с охраны
77
sensor1=0;digitalWrite(7,LOW);input_string=
""
;
char
smsbuffer[160]=
""
; flag1=0;}
78
79
if
(input_string==
"1"
){
Serial
.print(
"Postanovka na ohranu!"
);n1.toCharArray(n,20); sms.SendSMS(n, smsW); sms.DeleteSMS(1); memset(n,0,20);
// Команда "1" - Поставить на охрану
80
sensor1=1; input_string=
""
;
char
smsbuffer[160]=
""
; flag1=0;}
81
82
sms.DeleteSMS(pos);
// удаляем СМС из симки
83
}
84
}
85
void
getsms()
86
{
87
sms.GetSMS(1,n,20,smsbuffer,160);
88
input_string =String(smsbuffer);
89
}
спасибо за подсказку к сожалению сейчас не могу проверить я так понимаю что после 46 строки надо добавить что иммено надо сделать
Фоторезистор подключается к аналоговому пину 2 через подтягивающий резистор к 5в
Все верно
всё правильно во первых я и не говорил что это мой скетч я говорил что он рабочий
во вторых мне сказали что вот такой датчик (https://ru.aliexpress.com/item/KY-018-photosensitive-sensor-module-light-module-detects-photosensitive-photosensitive-resistor-module-for-arduino/32320804812.html?spm=2114.13010608.0.0.cj7poI) можно подключить и к цифрому пину и я при подключение получаю в монитре порта 1 или 0
и в третьих да действительно тот скетч для пир датчика но при проверке при подключение фоторезистора он работает как надо.
и последнее спасибо конечно за то что откликнулись но если у вас есть решение для подключения фоторезистора будь то к цифре или к аналогу и сливания с со скетчем sim800l буду признателен
Вот урок по подключению фоторезистора УРОК
я этот урок видел и подключал и всё у меня получается но вот слить эти скетчи вот в чём проблема моя
вот смотри:
01
#include "SIM900.h"
02
#include <SoftwareSerial.h>
03
04
#include "sms.h"
05
#include "call.h"
06
SMSGSM sms;
07
CallGSM call;
08
09
//=================Пины 2 и 3 для Подключения GSM модуля
10
int
fotorezistor = A2;
11
int
sensor1=0;
12
int
flag1=0;
13
boolean started=
false
;
14
char
smsbuffer[160];
15
char
n[20];
16
String n1 =
"+79170417032"
;
17
String input_string =
""
;
18
String smsContent =
""
;
19
char
sirena[] =
"Sirena vkluchena!"
;
20
char
PowerOFF[] =
"Snyato s ohrani"
;
21
char
smsDv[] =
"Wnimaniye! Dvijeniye na objekte!"
;
22
char
smsW[] =
"Postanovka na ohranu!"
;
23
char
pos;
24
char
sendsms[160];
25
26
void
setup
() {
27
28
pinMode(10, OUTPUT);
// Пассивный зумер (сигнал)
29
pinMode(7, OUTPUT);
30
31
Serial
.begin(9600);
32
pinMode(4, INPUT);
// датчик движения
33
// digitalWrite(4, HIGH);
34
pinMode(5, INPUT);
// еще какой-нибудь датчик
35
// digitalWrite(5, HIGH);
36
37
if
(gsm.begin(4800)) {
38
Serial
.println(
"\nstatus=READY"
);
39
started=
true
;
40
}
else
Serial
.println(
"\nstatus=IDLE"
);
41
42
}
43
void
loop
() {
44
//**************Фоторезистор
45
if
(analogRead(fotorezistor) >= 1023){
// если значение фоторезистора б.1023, то выполняем следующие дествия
46
//действия
47
}
48
//===========================Первое срабатывание датчика движения
49
if
((digitalRead(5)==HIGH) && sensor1==1 && flag1==0){
50
n1.toCharArray(n,20);
51
sms.SendSMS(n, smsDv);
// Посылаем СМС о том, что есть движение
52
sms.DeleteSMS(1);memset(n,0,20);
53
char
smsbuffer[160]=
""
;
54
flag1++;
55
delay(5000);
// Ждем 5 секунд
56
}
57
//===========================Повторное срабатывание датчика движения
58
if
((digitalRead(5)==HIGH) && sensor1==1 && flag1==1){
59
n1.toCharArray(n,20);
60
sms.SendSMS(n, sirena);
// Посылаем СМС о том, что включена сирена
61
sms.DeleteSMS(1);memset(n,0,20);
62
char
smsbuffer[160]=
""
;
63
flag1++;
64
}
65
66
if
(flag1>=2){
67
tone(10, 2780, 200);
// Сирена
68
}
69
70
71
pos = sms.IsSMSPresent(SMS_UNREAD);
// смотрим непрочитанные СМС
72
if
(pos) {
// Если непрочитанные СМС есть, то...
73
74
getsms();
// получаем непрочитанную СМС
75
76
if
(input_string==
"0"
){
Serial
.print(
"Snyato s ohrani!"
);n1.toCharArray(n,20); sms.SendSMS(n, PowerOFF); sms.DeleteSMS(1);memset(n,0,20);
// Команда "0" - снять с охраны
77
sensor1=0;digitalWrite(7,LOW);input_string=
""
;
char
smsbuffer[160]=
""
; flag1=0;}
78
79
if
(input_string==
"1"
){
Serial
.print(
"Postanovka na ohranu!"
);n1.toCharArray(n,20); sms.SendSMS(n, smsW); sms.DeleteSMS(1); memset(n,0,20);
// Команда "1" - Поставить на охрану
80
sensor1=1; input_string=
""
;
char
smsbuffer[160]=
""
; flag1=0;}
81
82
sms.DeleteSMS(pos);
// удаляем СМС из симки
83
}
84
}
85
void
getsms()
86
{
87
sms.GetSMS(1,n,20,smsbuffer,160);
88
input_string =String(smsbuffer);
89
}
спасибо за подсказку к сожалению сейчас не могу проверить я так понимаю что после 46 строки надо добавить что иммено надо сделать
Фоторезистор подключается к аналоговому пину 2 через подтягивающий резистор к 5в
Все верно
у меня фоторезистор на плате как датчик я так понимаю что там не нужны резисторы
всё правильно во первых я и не говорил что это мой скетч я говорил что он рабочий
во вторых мне сказали что вот такой датчик (https://ru.aliexpress.com/item/KY-018-photosensitive-sensor-module-light-module-detects-photosensitive-photosensitive-resistor-module-for-arduino/32320804812.html?spm=2114.13010608.0.0.cj7poI) можно подключить и к цифрому пину и я при подключение получаю в монитре порта 1 или 0
и в третьих да действительно тот скетч для пир датчика но при проверке при подключение фоторезистора он работает как надо.
и последнее спасибо конечно за то что откликнулись но если у вас есть решение для подключения фоторезистора будь то к цифре или к аналогу и сливания с со скетчем sim800l буду признателен
Вот урок по подключению фоторезистора УРОК
я этот урок видел и подключал и всё у меня получается но вот слить эти скетчи вот в чём проблема моя
вот смотри:
01
#include "SIM900.h"
02
#include <SoftwareSerial.h>
03
04
#include "sms.h"
05
#include "call.h"
06
SMSGSM sms;
07
CallGSM call;
08
09
//=================Пины 2 и 3 для Подключения GSM модуля
10
int
fotorezistor = A2;
11
int
sensor1=0;
12
int
flag1=0;
13
boolean started=
false
;
14
char
smsbuffer[160];
15
char
n[20];
16
String n1 =
"+79170417032"
;
17
String input_string =
""
;
18
String smsContent =
""
;
19
char
sirena[] =
"Sirena vkluchena!"
;
20
char
PowerOFF[] =
"Snyato s ohrani"
;
21
char
smsDv[] =
"Wnimaniye! Dvijeniye na objekte!"
;
22
char
smsW[] =
"Postanovka na ohranu!"
;
23
char
pos;
24
char
sendsms[160];
25
26
void
setup
() {
27
28
pinMode(10, OUTPUT);
// Пассивный зумер (сигнал)
29
pinMode(7, OUTPUT);
30
31
Serial
.begin(9600);
32
pinMode(4, INPUT);
// датчик движения
33
// digitalWrite(4, HIGH);
34
pinMode(5, INPUT);
// еще какой-нибудь датчик
35
// digitalWrite(5, HIGH);
36
37
if
(gsm.begin(4800)) {
38
Serial
.println(
"\nstatus=READY"
);
39
started=
true
;
40
}
else
Serial
.println(
"\nstatus=IDLE"
);
41
42
}
43
void
loop
() {
44
//**************Фоторезистор
45
if
(analogRead(fotorezistor) >= 1023){
// если значение фоторезистора б.1023, то выполняем следующие дествия
46
//действия
47
}
48
//===========================Первое срабатывание датчика движения
49
if
((digitalRead(5)==HIGH) && sensor1==1 && flag1==0){
50
n1.toCharArray(n,20);
51
sms.SendSMS(n, smsDv);
// Посылаем СМС о том, что есть движение
52
sms.DeleteSMS(1);memset(n,0,20);
53
char
smsbuffer[160]=
""
;
54
flag1++;
55
delay(5000);
// Ждем 5 секунд
56
}
57
//===========================Повторное срабатывание датчика движения
58
if
((digitalRead(5)==HIGH) && sensor1==1 && flag1==1){
59
n1.toCharArray(n,20);
60
sms.SendSMS(n, sirena);
// Посылаем СМС о том, что включена сирена
61
sms.DeleteSMS(1);memset(n,0,20);
62
char
smsbuffer[160]=
""
;
63
flag1++;
64
}
65
66
if
(flag1>=2){
67
tone(10, 2780, 200);
// Сирена
68
}
69
70
71
pos = sms.IsSMSPresent(SMS_UNREAD);
// смотрим непрочитанные СМС
72
if
(pos) {
// Если непрочитанные СМС есть, то...
73
74
getsms();
// получаем непрочитанную СМС
75
76
if
(input_string==
"0"
){
Serial
.print(
"Snyato s ohrani!"
);n1.toCharArray(n,20); sms.SendSMS(n, PowerOFF); sms.DeleteSMS(1);memset(n,0,20);
// Команда "0" - снять с охраны
77
sensor1=0;digitalWrite(7,LOW);input_string=
""
;
char
smsbuffer[160]=
""
; flag1=0;}
78
79
if
(input_string==
"1"
){
Serial
.print(
"Postanovka na ohranu!"
);n1.toCharArray(n,20); sms.SendSMS(n, smsW); sms.DeleteSMS(1); memset(n,0,20);
// Команда "1" - Поставить на охрану
80
sensor1=1; input_string=
""
;
char
smsbuffer[160]=
""
; flag1=0;}
81
82
sms.DeleteSMS(pos);
// удаляем СМС из симки
83
}
84
}
85
void
getsms()
86
{
87
sms.GetSMS(1,n,20,smsbuffer,160);
88
input_string =String(smsbuffer);
89
}
спасибо за подсказку к сожалению сейчас не могу проверить я так понимаю что после 46 строки надо добавить что иммено надо сделать
Фоторезистор подключается к аналоговому пину 2 через подтягивающий резистор к 5в
Все верно
у меня фоторезистор на плате как датчик я так понимаю что там не нужны резисторы
Да, увидел, проподкподключаешь к gnd, +5v, и к А2
спасибо накидал сработку получается во так по идее должен работать как надо завтра проверю и отпишусь
01
//**************Фоторезистор
02
if
((analogRead(fotorezistor) >= 1023)&& sensor1==1 && flag1==0){
03
// если значение фоторезистора б.1023, то выполняем следующие дествия
04
n1.toCharArray(n,20);
05
sms.SendSMS(n, smsDv);
// Посылаем СМС о том, что есть движение
06
sms.DeleteSMS(1);memset(n,0,20);
07
char
smsbuffer[160]=
""
;
08
flag1++;
09
delay(5000);
// Ждем 5 секунд
10
}
11
if
((analogRead(fotorezistor) >= 1023)&& sensor1==1 && flag1==1){
12
// если значение фоторезистора б.1023, то выполняем следующие дествия
13
n1.toCharArray(n,20);
14
sms.SendSMS(n, smsDv);
// Посылаем СМС о том, что есть движение
15
sms.DeleteSMS(1);memset(n,0,20);
16
char
smsbuffer[160]=
""
;
17
flag1++;
18
}
19
20
if
(flag1>=2){
21
tone(10, 2780, 200);
// Сирена
22
}
спасибо накидал сработку получается во так по идее должен работать как надо завтра проверю и отпишусь
01
//**************Фоторезистор
02
if
((analogRead(fotorezistor) >= 1023)&& sensor1==1 && flag1==0){
03
// если значение фоторезистора б.1023, то выполняем следующие дествия
04
n1.toCharArray(n,20);
05
sms.SendSMS(n, smsDv);
// Посылаем СМС о том, что есть движение
06
sms.DeleteSMS(1);memset(n,0,20);
07
char
smsbuffer[160]=
""
;
08
flag1++;
09
delay(5000);
// Ждем 5 секунд
10
}
11
if
((analogRead(fotorezistor) >= 1023)&& sensor1==1 && flag1==1){
12
// если значение фоторезистора б.1023, то выполняем следующие дествия
13
n1.toCharArray(n,20);
14
sms.SendSMS(n, smsDv);
// Посылаем СМС о том, что есть движение
15
sms.DeleteSMS(1);memset(n,0,20);
16
char
smsbuffer[160]=
""
;
17
flag1++;
18
}
19
20
if
(flag1>=2){
21
tone(10, 2780, 200);
// Сирена
22
}
А теперь вопрос, а зачем тебе знать освещенность в помещении?
Если при солнечной погоде у тебя будут одни значения, а ночью будет другие.
Кстати значение,которое тебе нужно, надо эксперементально определять, для определения выводи значения с датчика в сериал порт.
Для охраны, я бы взял обычный геркон, для обнаружения открытия двери, или еще один д. Объема
спасибо накидал сработку получается во так по идее должен работать как надо завтра проверю и отпишусь
01
//**************Фоторезистор
02
if
((analogRead(fotorezistor) >= 1023)&& sensor1==1 && flag1==0){
03
// если значение фоторезистора б.1023, то выполняем следующие дествия
04
n1.toCharArray(n,20);
05
sms.SendSMS(n, smsDv);
// Посылаем СМС о том, что есть движение
06
sms.DeleteSMS(1);memset(n,0,20);
07
char
smsbuffer[160]=
""
;
08
flag1++;
09
delay(5000);
// Ждем 5 секунд
10
}
11
if
((analogRead(fotorezistor) >= 1023)&& sensor1==1 && flag1==1){
12
// если значение фоторезистора б.1023, то выполняем следующие дествия
13
n1.toCharArray(n,20);
14
sms.SendSMS(n, smsDv);
// Посылаем СМС о том, что есть движение
15
sms.DeleteSMS(1);memset(n,0,20);
16
char
smsbuffer[160]=
""
;
17
flag1++;
18
}
19
20
if
(flag1>=2){
21
tone(10, 2780, 200);
// Сирена
22
}
А теперь вопрос, а зачем тебе знать освещенность в помещении?
Если при солнечной погоде у тебя будут одни значения, а ночью будет другие.
Кстати значение,которое тебе нужно, надо эксперементально определять, для определения выводи значения с датчика в сериал порт.
Для охраны, я бы взял обычный геркон, для обнаружения открытия двери, или еще один д. Объема
будет и геркон и датчик движения и крометого лазер будет светить в фоторезистор и при прерыванеие луча должен срабатывать датчик и сообщать мне посредствам смс и кроме того я собрал вот такой (http://arduino.ru/forum/apparatnye-voprosy/nuzhno-otslezhivat-nalichie-2...) пост 23 датчик который должен оповещать о пропадание 220 вольт и наоборот так что может быть мне понадобится помощь и при вписывание этого датчика в скетч, может есть мысли как это сделать
пробовал сегодня скетч с фоторезистором в принципе работает только вот найти и выставить нужное значение пришлось помучаться теперь осталось подключить датчик 220 вольт. Спасибо stambylov
Можно ли использовать данный макрос следующим образом:
1
String str=
"123"
;
2
Serial
.println(F(str));
3
//или
4
Serial
.println(F(str +
"qwerty"
));
У меня получилось только так -
1
Serial
.println(F(
"123"
));
кстати, Serial.println(F(str + "qwerty")); - именно 328 не умеет, может быть другая платформа умеет, можем стм ?? как то так должно быть: Serial.println ((str)+(F("qwerty")));
переменную писать во флеш через сериал точно не получится - ругается. Может быть существуют другие макросы для организации в зоне флеш - писать переменные, хранить номера телефонов..
Еще вопрос: а скоько телефонов можно хранить на 10кб флеша например?
если внешнюю память то какую? Ктонибудь решал подобное? Хочу изучить как это сделать, к примеру как хранить 3000 номеров на флеш и сравнивать с тем кто звонит - он в черном списке или в белом?
1. Прежде, чем рассуждать, умеет или нет, постарайтесь четко сформулировать, какого именно умения Вы хотите добиться. Может оказаться, что это принципиально невозможно.
2. Считайте, что flash - это ROM. Если нужно куда-то сохранять информацию так, чтобы она не терялась при перезагрузке - специально для этого есть EEPROM. Если ее объема недостаточно, то CD-card. Есть и "промежуточный" вариант - внешняя EEPROM, подключаемая до I2C.
3. Чтобы узнать, сколько элементов XXX можно хранить в памяти объемом YYY, нужно YYY поделить на длину XXX.
хорошо, к примеру +480871234567 - это 13 байт? значит 1000 номеров - это примерно 13кб ?
что быстрее будет работать CD-card или внешняя EEPROM, подключаемая к I2C ?
Реально за доли секунды отыскать номер +480871234567 среди одной-двух тысяч подобных записаных в епром или сдкард ?
заранее спасибо.
Я бы сказал, что +480871234567 - это не более 6 байт.
Теоретически SPI, по которому подключена SD карта существенно быстрее I2C. Но карта памяти - устройство блочное, а EEPROM - устройство прямого доступа. Лично я бы выбрал EEPROM на 256 кбит (32 кбайт).
По скорости - сильно зависит от организации, в частности от того, отсортирован предварительно массив или нет.
У кого-нибудь с Теле2 и Мотивом этот модуль завелся?
У кого-нибудь с Теле2 и Мотивом этот модуль завелся?
С Мотивом не пробовал, а вот с Теле2 и МТС у меня без проблем работает.
У кого-нибудь с Теле2 и Мотивом этот модуль завелся?
С Мотивом не пробовал, а вот с Теле2 и МТС у меня без проблем работает.
Вчера пробовал с Теле2-нивкакую.Даже на запрос оператора не пишет.Мотив тоже тишина.Пробовал с мегафоном-нормально.
Еще одна проблема-при подсоединении к компу через адаптер на pl2303-модуль шлет мусор в порт,не дает вводить ат команды
Еще одна проблема-при подсоединении к компу через адаптер на pl2303-модуль шлет мусор в порт,не дает вводить ат команды
то не модуль, не наговаривайте, то ваше соединение так себя ведет. это раз.
ну и прежде чем вставлять разные симкарты - не узнавали какой стандарт связи оператор поддерживает?
он может не поддерживать gsm например... может там CDMA ?.
Я бы сказал, что +480871234567 - это не более 6 байт.
Теоретически SPI, по которому подключена SD карта существенно быстрее I2C. Но карта памяти - устройство блочное, а EEPROM - устройство прямого доступа. Лично я бы выбрал EEPROM на 256 кбит (32 кбайт).
По скорости - сильно зависит от организации, в частности от того, отсортирован предварительно массив или нет.
сортировка там не получится, номера добавляться будут по мере появления, не все сразу.
Что мотив,что теле2-стандарт GSM.При воткнул в модуль м590-нормально заработала симка теле2.На ат команды отвечает
По скорости - сильно зависит от организации, в частности от того, отсортирован предварительно массив или нет.
сортировка там не получится, номера добавляться будут по мере появления, не все сразу.
И почему же не получится сортировка?
А как данный модуль по GPRS работает? Как часто происходят разрывы соединения с сервером по инету?
Узаю в приложении BLYNKa , не могу добиться устойчивой связи с серваком Blynka
А как данный модуль по GPRS работает? Как часто происходят разрывы соединения с сервером по инету?
Узаю в приложении BLYNKa , не могу добиться устойчивой связи с серваком Blynka
на мегафоне и ростелекоме юзаю gprs - на мегафоне деактивация соединения присходит не чаще чем через пару часов, на ростелекоме ровно через 30 мин бездействия. В остальном полный норм.
Народ, посоветуйте ...
Уна + sim800l, как тут пишут красненькая. Все питаю от ноутбучного бп у которого на выходе 19в и больше 4,5А. Затем dc-dc понижайка: https://ru.aliexpress.com/item/5-pcs-Ultra-Small-Size-DC-DC-Step-Down-Power-Supply-Module-3A-Adjustable-Buck-Converter/32261885063.html?spm=2114.13010608.0.0.6nNoEL
Понижайку проверял, на 4в тянет 2,5А ...
Понижаю до 9в, которые подаю на Vin уны и на еще одну такую же понижайку с которой беру 4В и подаю на sim800l. Согласовал уровни через делитель напрядения на резисторах. Звонки проходят, смс ки принимаются, но ... Скажем, подаю питание, на модеме сначала происходят частые мигания, потом редкие - зарегистрировался. Если я звоню на модем секунд через 30, приблизительно, звонок проходит, отправляю смс, смска приходит. Проходит скажем пару минут, звоню - обонент не обонент, второй звонок проходит. Опять небольшой интервал времени, отправляю смс ... тишина ... звоню, абонент не абонент, еще раз звоню, абонент в сети, приходит смс ...
Я было подумал - засыпает. Даю ему: AT+CFUN=1,1 в ответ ок, но ничего не меняется, поведение такое же ...
+CSQ: 14,0
+CBC: 0,69,3955
Сигнал, я так понимаю, уверенный, питания хватает ...
В общем, что может быть причиной, и какую емкость на входе по питанию ставить на модем ...
Народ, посоветуйте ...
Уна + sim800l, как тут пишут красненькая. Все питаю от ноутбучного бп у которого на выходе 19в и больше 4,5А. Затем dc-dc понижайка: https://ru.aliexpress.com/item/5-pcs-Ultra-Small-Size-DC-DC-Step-Down-Power-Supply-Module-3A-Adjustable-Buck-Converter/32261885063.html?spm=2114.13010608.0.0.6nNoEL
Понижайку проверял, на 4в тянет 2,5А ...
Понижаю до 9в, которые подаю на Vin уны и на еще одну такую же понижайку с которой беру 4В и подаю на sim800l. Согласовал уровни через делитель напрядения на резисторах. Звонки проходят, смс ки принимаются, но ... Скажем, подаю питание, на модеме сначала происходят частые мигания, потом редкие - зарегистрировался. Если я звоню на модем секунд через 30, приблизительно, звонок проходит, отправляю смс, смска приходит. Проходит скажем пару минут, звоню - обонент не обонент, второй звонок проходит. Опять небольшой интервал времени, отправляю смс ... тишина ... звоню, абонент не абонент, еще раз звоню, абонент в сети, приходит смс ...
Я было подумал - засыпает. Даю ему: AT+CFUN=1,1 в ответ ок, но ничего не меняется, поведение такое же ...
+CSQ: 14,0
+CBC: 0,69,3955
Сигнал, я так понимаю, уверенный, питания хватает ...
В общем, что может быть причиной, и какую емкость на входе по питанию ставить на модем ...
попробуйте произвести теже действия только через UART TTL и понаблюдайте за состоянием модуля в терминальной программе.
Вы имеете в виду монитор порта ардуино иде или через usb-ttl к пк?
Вы имеете в виду монитор порта ардуино иде или через usb-ttl к пк?
через usb-ttl к пк!
Еще не приобрел ... попробую ...
Еще не приобрел ... попробую ...
Арудина сама может выступить как UART TTL
http://www.2150692.ru/faq/34-arduino-v-kachestve-usb-to-serial-ttl-konvertora
Арудина сама может выступить как UART TTL
http://www.2150692.ru/faq/34-arduino-v-kachestve-usb-to-serial-ttl-konvertora
А в этом случае как уровни согласовывать, что то не соображу ...
если с терминалки не удалет - то очень странно.
у меня со всех модулей в терминалке честно все команды работают, в том числе и эта.
Удивителен еще вот какой факт: получаешь значит цифиру (например +GMGS: 30) и думаешь, что в памяти симки сохраняются 30 смс-ок. Делаешь DEL ALL или DEL SENT, получаешь положительный ответ, пытаешься (для контроля) прочитать группы смс-ок, в ответ пусто. Думаешь: Всё, работает. Модуль шлет смс-ку и в ответ: +GMGS: 31. Может все таки просто счетчик?
Так, что в итоге? Счетчик? У меня аналогично, не удаляет ...
И еще вопрос: на AT+CREG? отдает +CREG: 0,1 Первая цифра это: "нет кода регистрации", а вторая: "зарегистрирован, домашняя сеть". Что за код регистрации? Это печально, что его нету или так и должно быть.
По подключению к консоли: все рэади
+CPIN: READY
Call Ready
SMS Ready
+CMGS: 54
OK
На питание не матерится, лампочка моргает редко (зарегестрирован), но периодически абонент не абонент...
даташит посмотрите.. там все ответы на ваши вопросы.....
Тоже вот решил попробовать на sim800L, цена привлекательна. Модуль не видит сим-карту, при включении выдает +CPIN: NOT INSERTED
прочитайте всю ветку. 100 раз уже писали что симку надо правильно ставить, если симка 4G то не получится запустить на 800 нужен 808, ну и питание проверяйте - очень требователен...