DrvSmsBu 6.3.0 — Доп.каналы

Просмотр 15 сообщений - с 1 по 15 (из 19 всего)
  • Автор
    Сообщения
  • #35431
    manjey73
    Участник

    DrvSmsBu_6_3_0.zip

    Добавлены каналы входящего сообщения и номера

    Длина данный = 20 (до 160 символов)
    Номер в виде double значения. Учитывайте при работе со скриптами

    Самое интересное, почему Михаил это не добавил изначально в 6-й версии и не сделал это красивее ?

    screen_0
    screen_1

    1

    2

    • Эта тема была изменена 1 месяц назад от manjey73.
    #35433
    manjey73
    Участник

    Сразу вопрос Михаилу.

    Почему это ошибка DataTypeID = TagDataType.ASCII
    а это работает DataTypeID = 2

    в group.CnlPrototypes.Add

    И второй вопрос. Как сделать, чтобы Sms можно было отправлять и на русском. Создать еще один канал с параметрами Unicode?

    Как в данном случае проверять message.Text на Ascci или Unicode правильно?

    з.ы. Вообще может вы сами окультурите и внедрите это просто в базовый драйвер?
    Так будет правильнее, я так думаю. А то как-то добавил там всего строчек 20 кода, и то, больше для добавления каналов.

    • Этот ответ был изменен 1 месяц назад от manjey73.
    #35445
    manjey73
    Участник

    Да, Модем Huawei E1550 Отправка и прием СМС — ОК!

    #35446
    sergyltd
    Участник

    Спасибо!
    Буду пробовать. Полезная штука.

    #35451
    Mikhail
    Модератор

    Напишите DataTypeID = (int)TagDataType.ASCII

    Как сделать, чтобы Sms можно было отправлять и на русском. Создать еще один канал с параметрами Unicode? Как в данном случае проверять message.Text на Ascci или Unicode правильно?

    При отправке СМС на русском по-другому кодируется PDU. Детали нужно смотреть в документации. Как проверить текст сообщения — желательно автоматически распознать на основе тех символов, которые в него входят. В C# переменная типа string хранит данные в Unicode в любом случае.

    Вообще может вы сами окультурите и внедрите это просто в базовый драйвер?

    В ближайшее время другие задачи. Вы можете наследовать классы Logic и View от базового драйвера, чтобы не копипастить код. Так сделано в DrvEnronModbus.

    #35452
    JurasskPark
    Участник

    А почему Bu?)

    #35453
    manjey73
    Участник

    @JurasskPark писать Buran слишком длинно 🙂
    Писать Ba, Ab как то неправильно, либо надо ВА или АВ.
    з.ы. не решил ещё окончательно в общем.
    От имени и фамилии в общем.


    @Mikhail
    дело в том, что я код прописал прямо внутри метода, если делать наследованием, то наверное код получится более громоздким. По этому и говорю, лучше это добавить в штатный драйвер DrvSms, а включение доп функционала можно либо через Options сделать, но по кнопке Свойства запускается Адресная книга. Либо просто через командную строку, с указанием количества блока данных.
    И Номер телефона наверное лучше не в double, а в Integer.
    Я вообще код по сути не писал, просто скопировал то, что когда-то делал для 5-й версии с правкой на версию 6. И все.

    #35454
    manjey73
    Участник

    То есть, если изменю на Unicode и буду себе отправлять смс хоть на английском, хоть на русском, то сообщение примется нормально?
    Проверю вечером. Тогда для вх. сообщения одного канала будет достаточно.

    #35455
    sergyltd
    Участник

    Что-то я затупил. А как получить сообщение в цифре? Ну, то есть я посылаю 1000 , на выходе хочу Double=1000? EncodeAscii(Substring(Cnl.ToString(),0,4)) компилится нормально, ноне работает.
    Мне надо в МАУ установить триггер на сообщение в зависимости от содержания.

    #35456
    manjey73
    Участник

    DrvSmsBu 6.3.0.1

    Заменил канал на тип строки Unicode. Теперь принимает на русском и английском нормально.

    #35457
    manjey73
    Участник

    Вся строка это массив каналов. Там вроде была формула как получать строки.
    Уже потом эти строки парсите как вам нравится.

    Честно, не заморачивался 🙂 Возможно ваша формула не совсем верна

    #35458
    manjey73
    Участник

    Cnl.ToString() — ну это точно не то. Потому что первым байтом в ASCII будет 31

    #35459
    sergyltd
    Участник

    У меня модем в режиме PDU. А драйвер преобразует входящие СМС из PDU в обычный текст? Если я читаю сообщение АТ командой, то получаю вот что:

    2024-11-04 14:16:23 Command AtCmd to the device [4] SMS_mess
    Send: AT+CMGR=53
    Receive: 
    +CMGR: 0,,76
    07919759984617F20409d0d456f32d060008421140814303213a041204300448002004470435043a003a00a00071002e00740062002e00720075002f0078003100540071006d00430045004d0059006300590076
    

    Это я послал 1111

    #35460
    manjey73
    Участник

    ну судя по всему первые цифры это номер телефона. А что там дальше именно в pdu я не очень в курсе.

    Отдельные каналы преобразуют уже message.Text и message.Phone в отдельные каналы.

    #35461
    manjey73
    Участник

    так понимаю PDU еще требует расшифровки. Я добавил чуть-чуть кода уже после расшифровки драйвером.

Просмотр 15 сообщений - с 1 по 15 (из 19 всего)
  • Вы должны авторизироваться для ответа в этой теме.