Не получается ввести код проверки баланса по USSD #100#. Исправляет на *000#. При отправки *100# ответ приходит по SMS. Как быть?
немного подкорректировал функцию проверки USSD кода на корректность при добавлении/изменении в ЛК. Так что можно теперь задать код начинающейся с #, поэтому #100# будет восприниматься как корректный код.
_________________ "Ale novi nostra ales"(Але нови, ностра алис) Что означает - ежели один человек построил, то другой завсегда разобрать может....(*Формула Любви)
Добавлена новая, очень полезная функция. Теперь охрана делится на 2 типа, охрана по датчикам и слежение за границами допустимой температуры. Раскладываю подробно. В ЛК, в профиле станции добавились ещё два поля. "Допустимая минимальная температура" и "Допустимая максимальная температура", возможные границы -100....100. После запуска станции, эти значения забираются из базы, после чего (станция должна находится в режиме охрана) в случае выхода за пределы (температура меньше указанной или температура выше указанной) начинается аварийное оповещение владельца, также как и в случае сработки охранных датчиков- т.е. она начнёт звонить. В разделе "Охрана" в ЛК также будет классификация, чтоб было понятно что произошло и почему тревога, примерно так:
По охранному шлейфу: 37 31-03-2016 17:15:47 Уведомление о тревоге успешно принято! 36 31-03-2016 17:15:33 Попытка уведомления о тревоге! 35 31-03-2016 17:14:48 Попытка уведомления о тревоге! 34 31-03-2016 17:14:42 Тревога! Обнаружена сработка охранного датчика!
По датчику температуры: 47 04-04-2016 11:03:33 Уведомление о тревоге успешно принято! 46 04-04-2016 11:03:17 Попытка уведомления о тревоге! 45 04-04-2016 11:02:32 Попытка уведомления о тревоге! 44 04-04-2016 11:01:48 Попытка уведомления о тревоге! 43 04-04-2016 11:01:41 Тревога! Зафиксирована критическая температура!
Слежение за температурой осуществляется по датчику внут. температуры (DHT11 или DHT22). Проверка температуры на предмет "выхода" за границы осуществляется 1 раз в минуту и только при условии, что режим "охрана" активирован!
Зарегистрирован: Вс дек 07, 2014 19:22:11 Сообщений: 61 Откуда: 89 км на восток от нулевого
Рейтинг сообщения:0
ARTEM000 писал(а):
Вышел из положения. Переключил отображение информации на транслит и заработало как надо. Переключение *100*6*2# Оператор МТС.
Работает. Надо бы код этот в статью добвить.
_________________ "Ale novi nostra ales"(Але нови, ностра алис) Что означает - ежели один человек построил, то другой завсегда разобрать может....(*Формула Любви)
Всем привет! Пока собирался и ждал sim800 в магазине закончился фоторезист. Теперь ещё 2 недели ждать. И по этому родилась идея - привязать контроллер к камере и при срабатывании сигнализации делать фотку и отправлять её на номер. (это просто мысли вслух-но было бы прикольно.)
Всем здравствуйте! Собрал станцию на 8-й меге, в итоге, постоянные перезагрузки (срабатывает реле), я так понимаю контроллер не видит SIM800, хотя на GSM модуле сначала быстро, затем медленнее отрабатывает светодиод. Подскажите, как проверить работоспособность SIM800?
Созрел такой вопрос: модуль зарегистрировался в сети, вроде все нормально, но горят светодиоды только регистрации в сети и передачи данных (син и кр), индикации регистрации GPRS нет (это для простого варианта); для "гибрида" - горит индикация в сети (синий), индикация GPRS не горит (зеленый). Процессор уходит в перезагрузку каждые 30 сек. С таким кто-нибудь сталкивался? Работать приходится в роуминге, симка МТС Россия.
Всем здравствуйте! Собрал станцию на 8-й меге, в итоге, постоянные перезагрузки (срабатывает реле), я так понимаю контроллер не видит SIM800, хотя на GSM модуле сначала быстро, затем медленнее отрабатывает светодиод. Подскажите, как проверить работоспособность SIM800?
Прошивку брали из статьи? Если так, то залейте прошивку от сюда http://gsm.meteolk.ru/uploads/GSM_meteostation_c.zip Если не поможет, возьмите USB-UART модуль, подключите RX модуля к TX меги (в собраном виде, вместе с SIM модулем) и дайте лог, посмотрим на каком месте стопорится. Ещё момент, запрос PIN кода симки выключен?
Созрел такой вопрос: модуль зарегистрировался в сети, вроде все нормально, но горят светодиоды только регистрации в сети и передачи данных (син и кр), индикации регистрации GPRS нет (это для простого варианта); для "гибрида" - горит индикация в сети (синий), индикация GPRS не горит (зеленый). Процессор уходит в перезагрузку каждые 30 сек. С таким кто-нибудь сталкивался? Работать приходится в роуминге, симка МТС Россия.
Виталий, почему температура ниже чем есть на самом деле? Датчики засунуты в инкубатор, поэтому это хорошо видно. Есть другие устройства с DS18B20. Переставлял. Результат один- занижает примерно на 1 градус Цельсия. Как данные с датчиков обрабатываются?
_________________ *************** С уважением, Артём
Почему температура ниже чем есть на самом деле? Датчики засунуты в инкубатор, поэтому это хорошо видно. Есть другие устройства с DS18B20. Переставлял. Результат один- занижает примерно на 1 градус Цельсия. Как данные с датчиков обрабатываются?
Не могу сказать почему есть погрешность, данные полученные с датчиков никак не корректируются и никак не преобразовываются. В протеусе всё идеально, никаких отклонений, также я сверял дхт и дс- ку, клал их рядом на столе- показания одинаковые ( разница в 0.5 градуса ). Читаются данные стандартными функциями, так что я даже не знаю что ответить. Возможно погрешность образуется при температуре свыше какой- то....
//=============MCU send START EXT_DHT_DDR|=(1<<EXT_DHT_BIT); //pin as output EXT_DHT_PORT&=~(1<<EXT_DHT_BIT); //0 delay_ms(18); EXT_DHT_PORT|=(1<<EXT_DHT_BIT); //1 EXT_DHT_DDR&=~(1<<EXT_DHT_BIT); //pin as input //=============check DHT11 response delay_us(50); if (EXT_DHT_PIN&(1<<EXT_DHT_BIT)) return 0; delay_us(80); if (!(EXT_DHT_PIN&(1<<EXT_DHT_BIT))) return 0; //===============receive 40 data bits while (EXT_DHT_PIN&(1<<EXT_DHT_BIT)); for (j=0; j<5; j++) { data[j]=0; for(i=0; i<8; i++) { while (!(EXT_DHT_PIN&(1<<EXT_DHT_BIT))); delay_us (30); if (EXT_DHT_PIN&(1<<EXT_DHT_BIT)) data[j]|=1<<(7-i); while (EXT_DHT_PIN&(1<<EXT_DHT_BIT)); } }
Опять таки, датчики всёж не аналоговые а цифровые, датчик передаёт некий набор бит мцу их читает, поэтому какой набор бит датчик передал мцу такой же набор бит мцу передал серверу, это же не терморезистор, где погрешность может быть линейной... Поэтому честно, я в замешательстве.....
Последний раз редактировалось vitalyadm Ср апр 13, 2016 06:19:01, всего редактировалось 1 раз.
Странно... Я всем чем можно проверял. Ртутьники разные и т.д. Реально градус получится в итоге.
Да можете проверить в протеусе, всё сотка в сотку что называется, протеус достаточно точно симулирует цифровые датчики, поэтому если была бы ошибка в программной части, то в протесе это было бы видно, но нет, всё точно, может всё таки это погрешность зависит от текущей температуры? Просто других объяснений нет. Задача мк получать данные в цифровом виде и в таком же цифровом виде их отдавать на хранение в базу. Вот в чём непоняточка.
Странно... Я всем чем можно проверял. Ртутьники разные и т.д. Реально градус получился в итоге.
На гибриде можно, конечно выкрутиться из положения. В принципе ЛК можно сделать поля корректировок, в которых можно будет задавать величину отклонений, а мк уже будет эти корректировки в последствии плюсовать, но на сколько это корректно.... Думаю сначала нужно разобраться. Сейчас приеду на работу, почитаю внимательно даташит на дску, возможно найду ответ.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения