1 2 3 4 5 6 7 8 9 10 10/10 10,00оценок: 9

Arduino Mega. Контроллер теплицы. Хроники - 3.0

Тема в разделе "Умный дом", создана пользователем Анкор Плюс, 27.04.17.

Статус темы:
Закрыта.
  1. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898
    Адрес:
    80 км от Краснодара
    Меня интересует - отправляет ли он вам СМС статистики? По идее - не должон ведь, зараза.
     
  2. Viktorovich4232
    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95

    Viktorovich4232

    Живу здесь

    Viktorovich4232

    Живу здесь

    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95
    Отправляет и по запросу смской и по звонку на него
     
  3. Viktorovich4232
    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95

    Viktorovich4232

    Живу здесь

    Viktorovich4232

    Живу здесь

    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95
    [OK] => Modem registered in GSM!
    <= Receive "OK" answer from modem...
    <= Receive "+CMT: ,21" answer from modem...
    <= Receive "07919730071111F1240B919720258481F100007150301032400402A31C" answer from modem...
    SMS RECEIVED: 07919730071111F1240B919720258481F100007150301032400402A31C
    Phone number is OK, continue...
    STAT command found, execute it...
    Try to send stat SMS to +79025248181...
    Command CTGET=STATE|WINDOW|0 parsed, execute it...
    Receive answer from STATE: WINDOW|0|CLOSED
    Command CTGET=WATER parsed, execute it...
    Send SMS: РўРІРЅ: 25,18
    Тнар: 25,06
    Окна: закр
    Полив: выкл
    recipient: 0B919720258481F1
    bytes processed: 48
    message: 04220432043D003A002000320035002C00310038000D000A0422043D04300440003A002000320035002C00300036000D000A041E043A043D0430003A002004370430043A0440000D000A041F043E043B04380432003A00200432044B043A043B
    completeMessage: 0001000B919720258481F100186004220432043D003A002000320035002C00310038000D000A0422043D04300440003A002000320035002C00300036000D000A041E043A043D0430003A002004370430043A0440000D000A041F043E043B04380432003A00200432044B043A043B
    hlen: 109
    commandToSend = AT+CMGS=109
    SMS message length = 109
    SMS to send = 0001000B919720258481F100186004220432043D003A002000320035002C00310038000D000A0422043D04300440003A002000320035002C00300036000D000A041E043A043D0430003A002004370430043A0440000D000A041F043E043B04380432003A00200432044B043A043B
    Start SMS sending...
    => Send the "AT+CMGS=109" command to modem...
    <= Receive ">" answer from modem...
    [OK] => Welcome received, continue sending...
    Start sending SMS data...
    => Send the "0001000B919720258481F100186004220432043D003A002000320035002C00310038000D000A0422043D04300440003A002000320035002C00300036000D000A041E043A043D0430003A002004370430043A0440000D000A041F043E043B04380432003A00200432044B043A043B" command to modem...
    <= Receive " " answer from modem...
    <= Receive "> " answer from modem...
    <= Receive "+CMGS: 9" answer from modem...
    <= Receive "OK" answer from modem...
    [OK] => SMS sent.
    SMS clearance...
    => Send the "AT+CMGD=1,4" command to modem...
    <= Receive "OK" answer from modem...
    [OK] => saved SMS cleared.

    IMG_20170503_012609.png
     
    Последнее редактирование: 02.05.17
  4. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898
    Адрес:
    80 км от Краснодара
    @Viktorovich4232, по предварительному изучению "даташита" на команды M590 (он реально "шит", а не "дата", блин) - из примеров к команде CMGS удалось только выяснить, что разница в длине составляет 18 - т. е. длину сообщения указываем как длину строки минус 18 и всё это делим на два. Например, у нас 80 символов закодированное сообщение, тогда получаем (80-18)/2 = 31.

    По прикидкам - получается, что для M590 не надо учитывать заголовки и номер телефона.
     
  5. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898
    Адрес:
    80 км от Краснодара
    Офигенно девки пляшут :) СМС статистики отправляет, а СМС, пришедшее от оператора - не отправляет :) Сюр какой-то :) СМС от оператора приходит только телом, без заголовков уже - т. е. тупо закодированный в UCS2 текст, где каждый байт - это 4 символа, без вариантов. Соответственно, достаточно добавить заголовки, подсчитать, какую команду выдать модему - и выдать ему эту команду.

    У нас получается что: в одном случае выходит верный подсчёт, в другом - неверный. Для SIM800L - во всех случаях был верный. Я чего-то не вдуплю, как такое может быть :)
     
  6. Viktorovich4232
    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95

    Viktorovich4232

    Живу здесь

    Viktorovich4232

    Живу здесь

    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95
    А вообще только пытаюсь вникнуть :|: Sim800 нету чтобы перекинуть
     
  7. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898
    Адрес:
    80 км от Краснодара
    @Viktorovich4232, не пойму вообще: вот ваше сообщение, которое отправилось успешно:

    Его длина в символах - 220. Команду модему надо выдать с длиной (220/2 - 1 = 109), что видно по логу:
    Теперь дальше: сообщение, которое НЕ ОТПРАВИЛОСЬ:

    Его длина - 324 символа. Команду модему надо выдать (324/2 - 1 = 161). Смотрим:

    И... - всё, баста, ниже - ошибка отправки. Единственное, что я пока могу предположить - что всё верно, просто длина СМС от оператора - большая, и не влазит в одно СМС, поэтому и ошибка.

    З. Ы. И да, похоже - это правда:

    Длиннее 70 символов, следовательно, в одно сообщение не влезает. Хреново, т. к. поддержка сборных сообщений - не буду, ибо секас ещё тот. Единственный вариант - это тупо обрезать до 70 символов в надежде, что тудыть влезет баланс, а не реклама на первом месте будет.
     
  8. Viktorovich4232
    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95

    Viktorovich4232

    Живу здесь

    Viktorovich4232

    Живу здесь

    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95
    Может шут с ним? В личном кабинете баланс можно проверить.
    Дмитрий, а как удалить самостоятельно создание СМС не прибегая к очистке ЕЕ? Или я туплю. Не нашел ни в конфигураторе ни в веб морде. Только создать
     
  9. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898
    Адрес:
    80 км от Краснодара
    Вы имеете в виду кастомные СМС? А не надо их удалять, они тупо в файликах на SD валяются, и всё. Не придёт СМС с таким текстом - не будет срабатывания ;) Можете почистить на SD-карточке все файлы с расширением *.sms, ЕМНИП.
     
  10. Viktorovich4232
    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95

    Viktorovich4232

    Живу здесь

    Viktorovich4232

    Живу здесь

    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95
    Вот и у меня мысль была что это из-за рекламы. Завтра прокомпостирую мозги пчелайновским манагерам, как избавится от рекламы. Раньше ее не было с пол года как появилась
     
  11. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898
    Адрес:
    80 км от Краснодара
    Ну да, Алёша: 324/4 = 81 символ, лишних 11. Алёша я Алёша :) Короче - я поправлю, отрезая нужный кусок, чтобы в одно СМС влезло.@Viktorovich4232 - Вы тут будете ещё полчасика? Я щас вам могу тут набросать строчки, и сказать, куда их вставить - сможете быренько проверить ;)
     
  12. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898
    Адрес:
    80 км от Краснодара
    @Viktorovich4232, короче, делаем так:

    1. Открываем файл PDUClasses. cpp;
    2. Находим там строчку:
    После неё вставляем:

    Думаю, для проверки этого достаточно будет ;)
     
  13. Viktorovich4232
    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95

    Viktorovich4232

    Живу здесь

    Viktorovich4232

    Живу здесь

    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95
    Сейчас проверю, отпишу
     
  14. DIYMan
    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898

    DIYMan

    Любопытный рукосуй :)

    DIYMan

    Любопытный рукосуй :)

    Регистрация:
    19.05.13
    Сообщения:
    8.309
    Благодарности:
    6.898
    Адрес:
    80 км от Краснодара
    @Viktorovich4232 - ещё вариант: замените команду *102# на #102# - должно СМС приходить на латинице ;) Этот вариант даже предпочтительней попробовать будет ;)
     
  15. Viktorovich4232
    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95

    Viktorovich4232

    Живу здесь

    Viktorovich4232

    Живу здесь

    Регистрация:
    28.02.17
    Сообщения:
    145
    Благодарности:
    95
    SMS RECEIVED: 07919730071111F1240B919720258481F100007150302040300402A31A
    Phone number is OK, continue...
    BALANCE command found, execute it...
    Request balance...
    => Send the "AT+CUSD=1,"002A0031003000320023" command to modem...
    <= Receive "+CUSD: 0,"003100380035002E0035003000200440002E000A0421043B04430448043004390442043500200431043E043B04350435002000320030003000200440043004340438043E044104420430043D0446043804390021002004220440043004440438043A0020043104350441043F043B04300442043D044B043900210020041F043E0434043A043B003A0020002A0032003700390023",72" answer from modem...
    BALANCE RECEIVED, PARSE...
    CUSD IS: 003100380035002E0035003000200440002E000A0421043B04430448043004390442043500200431043E043B04350435002000320030003000200440043004340438043E044104420430043D0446043804390021002004220440043004440438043A0020043104350441043F043B04300442043D044B043900210020041F043E0434043A043B003A0020002A0032003700390023
    Send balance to master...
    Send SMS: 003100380035002E0035003000200440002E000A0421043B04430448043004390442043500200431043E043B04350435002000320030003000200440043004340438043E044104420430043D0446043804390021002004220440043004440438043A0020043104350441043F043B04300442043D044B043900210020041F043E0434043A043B003A0020002A0032003700390023
    recipient: 0B919720258481F1
    bytes processed: 74
    message: 003100380035002E0035003000200440002E000A0421043B04430448043004390442043500200431043E043B04350435002000320030003000200440043004340438043E044104420430043D0446043804390021002004220440043004440438043A0020043104350441043F043B04300442043D044B043900210020041F043E0434043A043B003A0020002A
     
Статус темы:
Закрыта.