В скрипте распарсить результат

Раздел для тех, кто начинает знакомиться с MikroTik
Правила форума
Как правильно оформить вопрос.
Прежде чем начать настройку роутера, представьте, как это работает. Попробуйте почитать статьи об устройстве интернет-сетей. Убедитесь, что всё, что Вы задумали выполнимо вообще и на данном оборудовании в частности.
Не нужно изначально строить Наполеоновских планов. Попробуйте настроить простейшую конфигурацию, а усложнения добавлять в случае успеха постепенно.
Пожалуйста, не игнорируйте правила русского языка. Отсутствие знаков препинания и неграмотность автора топика для многих гуру достаточный повод проигнорировать топик вообще.

1. Назовите технологию подключения (динамический DHCP, L2TP, PPTP или что-то иное)
2. Изучите темку "Действия до настройки роутера".
viewtopic.php?f=15&t=2083
3. Настройте согласно выбранного Вами мануала
4. Дочитайте мануал до конца и без пропусков, в 70% случаев люди просто не до конца читают статью и пропускают важные моменты.
5. Если не получается, в Winbox открываем терминал и вбиваем там /export hide-sensitive. Результат в топик под кат, интимные подробности типа личных IP изменить на другие, пароль забить звездочками.
6. Нарисуйте Вашу сеть, рисунок (схему) сюда. На словах может быть одно, в действительности другое.
Ответить
DyadyaGenya
Сообщения: 31
Зарегистрирован: 08 май 2023, 01:29

Можно ли распарсить такие данные:

Код: Выделить всё

> system script run GSTATUS
  output: !GSTATUS: 
          Current Time:  350            Temperature: 32
          Reset Counter: 1              Mode:        ONLINE         
          System mode:   LTE            PS state:    Attached     
          LTE band:      B7                     LTE bw:      15 MHz  
          LTE Rx chan:   3025           LTE Tx chan: 21025
          LTE CA state:  NOT ASSIGNED
          EMM state:     Registered             Normal Service 
          RRC state:     RRC Connected  
          IMS reg state: No Srv                 
          PCC RxM RSSI:  -58            RSRP (dBm):  -92
          PCC RxD RSSI:  -58            RSRP (dBm):  -91
          Tx Power:      --             TAC:         7075 (28789)
          RSRQ (dB):     -12.6          Cell ID:     0000000 (00000000)
          SINR (dB):     14.0
          
          OK
Чтобы получить переменные:
Current Time
System mode
LTE band
LTE bw
LTE Rx chan
LTE Tx chan
LTE CA state
PCC RxM RSSI
PCC RxD RSSI
RSRP
RSRQ
SINR
Cell ID


DyadyaGenya
Сообщения: 31
Зарегистрирован: 08 май 2023, 01:29

Например, я пробую сделать так:

Код: Выделить всё

/interface lte at-chat lte1 wait=yes input="AT!GSTATUS?"
:delay 3s
:local output [/interface lte at-chat lte1 once-output]
:local current_time ([/regexp "Current Time:\s+(\d+)" :pick $output 0] / 1000)
:put "Current Time: $current_time"
Но мне пишет ошибку:

Код: Выделить всё

expected end of command (line 3 column 44)


Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Он вам вполне внятно сообщает, что в третьей строке начиная с 44 символа что-то не так. Там точно можно писать once-output?
Мне подсказки сообщают, что есть два варианта wait и input


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Ответить