Jump to content
  • 0

Runner. Внутренний 4G модем. Использование SMS во встраиваемых системах. Пожелания.


Alexey K
 Share

Question

Роутер с модемом используется во встраиваемых системах, на объектах, в качестве головного устройства связи. Оптимизация под данную задачу расширит область применения вашей продукции.

Роутер стандартной функциональностью обеспечивает подключение и резервирование интернет соединения для медиа-потока. Оповещение об изменениях и управление состоянием оборудования осуществляется по СМС, через Telnet (CLI).

1.Для Telnet подключения в роутере создается своя отдельная учетная запись. В «разрешениях для пользователей» выбирается только «командная строка». Проблема в том, что данный доступ уже избыточен, можно менять системные настройки. Если поставить галочку «запретить сохранять настройки», то доступ не достаточен, нельзя отправлять СМС. В идеале нужна опция «доступ только к СМС и инфо.»  Об инфо ниже.

2.Инфо, это: А) Неизменяемый, серийный номер роутера и (или) imei модема. Нужно обязательно удостовериться, что на связи правильный объект. Сейчас для этого используется команда «show defaults». К ее недостаткам можно отнести долгое время исполнения относительно других команд.

Б) Системное Дата-Время роутера, используется команда «show clock date». К придиркам отнесем, то, что дни, месяцы, часы, минуты и т.д. можно сделать всегда двухзначными, с 0. Обработка ответа станет проще. Люди, глазами сюда же очень редко заглядывают.

C учетом п.1 «о доступах» было бы здорово добавить единую быструю команду GetModemInfo, которая возвращает: sn и (или) imei; системные дата и время; длительность аптайма модема; тип сети(2G,3G,4G);  уровень RSSI; Статус наличия интернет соединения (Да/Нет).

3.Отправка СМС командой send. Из документации не понятно, какой будет ответ, если отправка не удастся.

4.Просьба добавить в CLI команду проверки наличия (Да/Нет) не прочитанных сообщений.

5. Прием СМС. Очень не хватает команды GetFirstUnreadMsg. Эта команда возвращает id и текст самого старого непрочитанного сообщения, и так-же помечает сообщение прочитанным. Команду можно вызывать несколько раз, до возврата id=NULL, т.е. исчерпания непрочитанных сообщений.

6.В Веб интерфейсе, по аналогии СМС уведомлений вкладки «учет трафика» добавьте пожалуйста возможность настроить пересылку ВСЕХ входящих СМС на номер nnnnn.

Пользуясь случаем, вопрос по мобильному приложению. Где и как индицируется факт наличия входящих и непрочитанных СМС?

7.По аппаратному обеспечению, просьба подтвердить или опровергнуть не официально. Модель Кинетик Runner обладает запасом по входному напряжению в сторону увеличения, что позволяет его подключать НА ПРЯМУЮ к специализированным 12 вольтовым ИБП применяемых в системах безопасности. Это, например ИБП серий СКАТ-1200, РАПАН, РИП-12 и аналогичные, выходное напряжение которых, при заряженном АКБ, максимально доходит до 14 вольт. Можно в будущем, на корпусе, указывать, напряжение питания роутера  DC:9-14V  0,9A.

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Вам лучше к rci присмотреться, там будет:
1) все команды можно послать в одном json-запросе что-то типа

{
"show": {
	"clock": {"date" : {}},
	"interface":{"name":"UsbQmi0"},
	.....
}
}


2) получить машиночитаемый json в ответ

{
    "show": {
        "interface": {
            "id": "UsbQmi0",
            "index": 0,
            "type": "UsbQmi",
            "description": "Yota",
            "interface-name": "UsbQmi0",
 			....
            "apn": "yota.ru",
            "mobile": "4G",
            "connection-state": "Connected",
            "imsi": "IMSI",
            "iccid": "ICCID",
            "imei": "IMEI",
            "plmn": "25011",
            "operator": "Yota",
            "spn": "YOTA",
            "roaming": false,
            "max-dl-throughput": 150000000,
            "max-ul-throughput": 50000000,
            "distance": 300,
            "sim": "READY",
            "pin-attempts": 3,
            "temperature": 40,
            "ati": {
                "manufacturer": "Keenetic",
                "model": "0",
                "revision": "10000"
            },
            "plugged": "yes",
            "vendor": "31b7",
            "model": "0011",
            "manufacturer": "Keenetic Ltd.",
            "product": "LTE",
            "serial": "ed7c532b"
        },
        "clock": {
            "date": {
                "weekday": 5,
                "day": 9,
                "month": 7,
                "year": 2021,
                "hour": 13,
                "min": 48,
                "sec": 48,
                "msec": 470,
                "dst": "inactive",
                "tz": [
                    {
                        "locality": "Europe/Moscow",
                        "stdoffset": 10800,
                        "dstoffset": 0,
                        "usesdst": false,
                        "rule": "MSK-3",
                        "custom": false
                    }
                ]
            }
        }
    }

 

Link to comment
Share on other sites

  • 0
3 hours ago, Alexey K said:

7.По аппаратному обеспечению, просьба подтвердить или опровергнуть не официально. Модель Кинетик Runner обладает запасом по входному напряжению в сторону увеличения, что позволяет его подключать НА ПРЯМУЮ к специализированным 12 вольтовым ИБП применяемых в системах безопасности. Это, например ИБП серий СКАТ-1200, РАПАН, РИП-12 и аналогичные, выходное напряжение которых, при заряженном АКБ, максимально доходит до 14 вольт. Можно в будущем, на корпусе, указывать, напряжение питания роутера  DC:9-14V  0,9A.

Чтобы официально это подтвердить необходимо проводить испытания.

Фактически мы имеем входной конденсатор с пределом 16 вольт, далее ШИМ контроллеры с пределами 16, 17 вольт. Неофициально можно сказать, это Кинетик может работать с напряжением 14.

Link to comment
Share on other sites

  • 0
3 hours ago, Alexey K said:

4.Просьба добавить в CLI команду проверки наличия (Да/Нет) не прочитанных сообщений.

sms UsbQmiX list unread. Подумаем над добавлением ключевого слова count, которое будет возвращать количество непрочитанных сообщений.

3 hours ago, Alexey K said:

2.Инфо, это: А) Неизменяемый, серийный номер роутера и (или) imei модема. Нужно обязательно удостовериться, что на связи правильный объект. Сейчас для этого используется команда «show defaults». К ее недостаткам можно отнести долгое время исполнения относительно других команд.

show identification

Link to comment
Share on other sites

  • 0
Posted (edited)
20 часов назад, Le ecureuil сказал:

Вам лучше к rci присмотреться, там будет

Присмотрелись к rci, штука интересная, продвинутая, но формализованной информации только по ней мало. Из того, что удалось понять по форуму, верно ли, что там:   1)Сложная авторизация через GET и POST-запросы с коктейлем sha256 и md5 при генерации ответа. 2)Совсем без авторизации через проброс 127.0.0.1:79.    3)Как с этим работать без бубна есть в мануале, который в стадии разработки с 2018 года.

 

17 часов назад, vst сказал:

sms UsbQmiX list unread. Подумаем над добавлением ключевого слова count, которое будет возвращать количество непрочитанных сообщений.

show identification

сount – параметр гораздо информативнее. Предложу еще параметр first и/или last и/или id[number]. Суть в том, чтоб сообщение можно было по штучно, а не всем списком получать.

Спасибо за команду show identification, кстати в руководстве CLI на Runner она не описана.

Можете пояснить, почему команде смс "send" при установленной галочке «запретить сохранять настройки», доступ не достаточен? Она же ничего не сохраняет, может её стоит разрешить? (про "list" еще уточню)

 

Спасибо за развернутый ответ по входным цепям. По железу, естественно все не официально. Официально - это если вы представите новую ревизию или поколение устройств с новыми параметрами.
Мы заметили, что многих людей на форумах, ютюбах волнует (как и нас) отсутствие 12(14) вольт. Добавлять еще один DC/DC это затраты в смысле затрат, и в смысле КПД при питании от батареи ИБП. Поэтому обсуждаем, что можно сделать в данной ситуации, провести нам свои внутренние испытания для себя, может вас с подвигнуть к изменениям…
Наши устройства на гарантии, поэтому воспользуемся фото плат с forpda. Напряжение конденсатора 16в при 14в входа -  запаса практически нет, к тому же оксидный, т.е. как правило деградирует со временем. А вот с ШИМ гораздо интереснее, по фото можно предположить, что это 562208. Если это так, то у него абсолютный максимум разрушения 19, а 17 это верхнее рабочее. Ему при 14в вполне будет комфортно, это можно испытывать. По второму ШИМ не понятно, вроде их два одинаковых, но это же по фото…
Если рассуждения выше верны, вы вполне можете (за несколько центов стоимости) увеличить предел конденсатора до 25в и осчастливить всех пользователей до 14в, чего вам и желаю!.

 

Edited by Alexey K
Link to comment
Share on other sites

  • 0
9 минут назад, Alexey K сказал:

Присмотрелись к rci, штука интересная, продвинутая, но формализованной информации только по ней мало.

Документация по REST api (rci) есть в en версиях CLI-мануалов устройств. Я не знаю в достаточном ли она там объеме, но вот http://docs.help.keenetic.com/cli/3.1/en/cli_manual_kn-2210.pdf

image.png.747cc14c59d9c060df43921ecc5522f3.png

 

  • Thanks 1
Link to comment
Share on other sites

  • 0
2 часа назад, Alexey K сказал:

2)Совсем без авторизации через проброс 127.0.0.1:79

Есть вариант с авторизацией через `ip http proxy`. Сделайте прокси, например, rci.<имя>.keenetic.link с апстримом HTTP, 127.0.0.1, порт 79, и включите на прокси basic-авторизацию. Будет работать удаленно через HTTPS.

https://help.keenetic.com/hc/ru/articles/360002171280-Включение-авторизации-для-устройства-с-открытым-веб-интерфейсом-при-использовании-удаленного-доступа-через-службу-KeenDNS

PDF-мануал действительно старый, т.к. решили тему с rci в массы пока не двигать, но поковыряться можете без проблем. Можете в отладчике браузера смотреть, какие идут запросы.

Для простоты, можете обращаться к любой cli-команде через POST-запрос "parse", например:

image.png

  • Upvote 2
Link to comment
Share on other sites

  • 0

Доделали telnet, работает, на первое время. В перспективе перейдем на rci,  по первому варианту. Поэтому соберу инфо в одном месте тут, сообщения от eralde и других.

Цитата

Авторизация теперь работает так:
GET-запрос к <АДРЕС КИНЕТИКА>/auth  
либо успешно завершается (вы уже авторизованы), либо возвращает код 401.
В случае кода 401 нужно сохранить заголовки ответа:
•    X-NDM-Challenge (token)
•    X-NDM-Realm (realm)
и послать запрос POST-запрос на авторизацию по тому же адресу:
<АДРЕС КИНЕТИКА>/auth
с данными:  
{
  login: login,
  password: sha256(token + md5(login + ':' + realm + ':' + password))
}
Опять же удачная авторизация -- ответ с кодом 200, неудачная -- 401
Сессия авторизации длится 10 минут (т.е. если в течение 10 минут не будет отправлено ни одного запроса -- придется еще раз авторизоваться).

Mежду GET/POST запросами роутер отвечает кодом 200 и таким контентом:
'_content' => '{                                                                                                
  "continued": true                                                                                                              
}',
Есть ряд команд, которые работают долго, поэтому возвращают такой статус если еще не могут выдать ответ. Для них после первого POST-запроса нужно продолжать посылать GET-запросы на тот же ресурс (URL) пока не будет получен ответ без признака continued -- это и будут нужные вам данные.

Вопросы: 1)Информация эта актуальная? 2)Каким запросом корректно выйти (Logout). 3)Непонятно, куки тут участвуют каким образом? Или просто потом,после авторизации шли get/post запросы-получай ответы и все?

Еще заметили, возможно баг, сообщения удаляются, а нумерация продолжается: ….messages, id = xnv-10:…. а в списке 1смска

Link to comment
Share on other sites

  • 0
8 минут назад, Alexey K сказал:

Доделали telnet, работает, на первое время. В перспективе перейдем на rci,  по первому варианту. Поэтому соберу инфо в одном месте тут, сообщения от eralde и других.

Вопросы: 1)Информация эта актуальная? 2)Каким запросом корректно выйти (Logout). 3)Непонятно, куки тут участвуют каким образом? Или просто потом,после авторизации шли get/post запросы-получай ответы и все?

Еще заметили, возможно баг, сообщения удаляются, а нумерация продолжается: ….messages, id = xnv-10:…. а в списке 1смска

  1. Информация по авторизации актуальная; информация по работе "continued-команд" актуальная.
  2. Отправить DELETE-запрос на /auth, удалить куки
  3. Если не отправлять в заголовках куки, полученные при авторизации, то вы получите ответ с кодом 401
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...