1 (edytowany przez muffin 2015-06-01 10:51:35)

Temat: 3ginfo - integracja z luci

W czeluściach netu znalazłem zaczątek luci-app do konfigurowania pakietu 3ginfo spod Luci. Dokonałem w nim lekkiej modyfikacji, aby oprócz wyklikania konfiguracji, wyświetlała efekt odpalenia z shella 3ginfo.

Aby w naszym luci pojwiła sie opcja Services/3ginfo należy poczynić następujące kroki:

1. Zainstalować pakiet 3ginfo

2. W katalogu /usr/lib/lua/luci/controller tworzymy plik 3ginfo.lua o nastepującej zawartości:

module("luci.controller.3ginfo", package.seeall)

function index()
if not nixio.fs.access("/etc/config/3ginfo") then
return
end

local page
page = entry({"admin", "services", "3ginfo"}, cbi("3ginfo"), _("3ginfo - information about your 3g/4g connection"), 60)
page.dependent = true
end

3. W katalogu /usr/lib/lua/luci/model/cbi tworzymy plik 3ginfo.lua o nastepującej zawartości:

--[[

LuCI 3ginfo
(c) 2008 Yanira <forum-2008@email.de>
(c) 2012 Jo-Philipp Wich <jow@openwrt.org>

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

3ginfo output mod by muffin

]]--

    local f = io.popen("3ginfo")
    local l = f:read("*a")
    f:close()

local uci = luci.model.uci.cursor_state()
local net = require "luci.model.network"
local m
local s
local dev, pin, port, qos, lang
local try_devices = nixio.fs.glob("/dev/ttyUSB*") or nixio.fs.glob("/dev/ttyACM*") or nixio.fs.glob("/dev/cdc*")

m = Map("3ginfo", translate("3g/LTE info"), "<div><pre>" .. l .. "</pre></div>")

net = net.init(m.uci)

s = m:section(TypedSection, "3ginfo", translate("Settings"))

dev = s:option(Value, "device", translate("Device"))
if try_devices then
local node
for node in try_devices do
dev:value(node, node)
end
end

pin = s:option(Value, "pincode", translate("PIN code (only for 3g), optional"))
pin.default = ""

port = s:option(Value, "http_port", translate("Port for HTTP connections"))
port.default = "81"

qos = s:option(Flag, "qos", translate("Enable QOS support"))
qos.enabled = "1"
qos.disabled = "0"

lang = s:option(Value, "language", translate("Language"))
lang:value("pl", "Polski")
lang:value("en", "English")
lang.default = "en"

return m
muffin

2

Odp: 3ginfo - integracja z luci

To nawet nie jest 3ginfo tylko zwykła zakładka do ustawień konfiga przez gui.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3 (edytowany przez muffin 2015-06-01 11:00:10)

Odp: 3ginfo - integracja z luci

Ale ja nie twierdzę, że to jest 3ginfo. Zgadzam się, zakładka pozwalająca edytowac konfigurację spod Luci i odpalająca Twój skrypt.

muffin

4 (edytowany przez IceG 2020-02-15 11:35:12)

Odp: 3ginfo - integracja z luci

Chciałem zobaczyć czy coś z tego wyjdzie i tak dla sprawdzenia siebie zrobiłem takie maleństwo..

https://github.com/IceG2020/luci-app-3ginfo

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

5

Odp: 3ginfo - integracja z luci

Bardzo fajny pomysł smile

PunBB bbcode test

Wszystko zgadza się, ten modem działa jako voice.

6

Odp: 3ginfo - integracja z luci

Działa, bardzo mi czegoś takiego w luci brakowało.
Tylko jakiego pakietu wymaga ta paczka?
Tak na ślepo instalowałem 3ginfo-lite, nie zadziałało.
Zainstalowałem 3ginfo-text i zadziałało, tak ma być?
Przydałoby się dodać zależność od pakietu ....

7

Odp: 3ginfo - integracja z luci

3ginfo-text. W sumie nie dlaczego Ci tego brakowało, jak 3ginfo dostarcza swoją własną stronę z danymi.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8

Odp: 3ginfo - integracja z luci

Dzięki, zależność i tak się przyda.
Brakowało mi zaś czegoś takiego z czystego lenistwa, dwa "kliki" i mam informację o połączeniu. smile
I tak, jak będę potrzebował więcej informacji, to zainstaluję pełne 3ginfo.
Tak z ciekawości, dlaczego w easyconfig zaimplementowałeś 3ginfo? wink

9

Odp: 3ginfo - integracja z luci

easyconfig pierwotnie służyło mi jako gui do routera z modemem...

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

10 (edytowany przez IceG 2020-02-15 10:16:24)

Odp: 3ginfo - integracja z luci

Od siebie wspomnę iż poprawiłem paczkę, dodałem zależności, czyli 3ginfo-text i zmieniłem wizualnie nagłówek smile.

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

11 (edytowany przez IceG 2020-02-15 10:15:17)

Odp: 3ginfo - integracja z luci

Nowa wersja pokazuje więcej danych, starałem wzorować się na pluginie dla Gargulca.

https://github.com/IceG2020/luci-app-3ginfo

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

12

Odp: 3ginfo - integracja z luci

IceG napisał/a:

Nowa wersja pokazuje więcej danych

Potwierdzam, działa jak należy smile

13

Odp: 3ginfo - integracja z luci

IceG napisał/a:

Nowa wersja pokazuje więcej danych, starałem wzorować się na pluginie dla Gargulca.

Coś zepsułeś. MCC MNC powinno być 260 06 a nie 06.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

14

Odp: 3ginfo - integracja z luci

Cezary napisał/a:
IceG napisał/a:

Nowa wersja pokazuje więcej danych, starałem wzorować się na pluginie dla Gargulca.

Coś zepsułeś. MCC MNC powinno być 260 06 a nie 06.

Już poprawiłem smile, dzięki Cezary za zwrócenie uwagi.

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

15 (edytowany przez IceG 2020-06-27 08:41:38)

Odp: 3ginfo - integracja z luci

Nowa wersja:

- Pokazuje więcej danych, które normalnie dla poprawy czytelności są ukryte za przyciskiem "Informacje dodatkowe"

- Zmieniłem sposób prezentacji siły sygnału z "paska postępu" na dobrze znaną "kolorową prezentację graficzną"

P.S.
Na ten moment już nie planuję nic więcej zmieniać i dodawać, chociaż pewnie by można jeszcze coś "umieścić", jakąś legendę dla oznaczeń sygnałów, przy większym czasie i wiedzy np. wybór portu modemu, czy dodanie przycisku "Rozłącz/Połącz".


Do poprawnego działania wymaga instalacji 3ginfo-text (oczywiście dodane w zależnościach).

Zapraszam do pobierania i używania, do komentarzy.

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

16

Odp: 3ginfo - integracja z luci

MNC bez nawiasów. To identyfikator operatora wg kraju zawartego w MCC, nie jest to opcja czy konwersja jednego w drugie. To pełnoprawny parametr, powinien być tak po prostu zapisany.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

17

Odp: 3ginfo - integracja z luci

Cezary napisał/a:

MNC bez nawiasów. To identyfikator operatora wg kraju zawartego w MCC, nie jest to opcja czy konwersja jednego w drugie. To pełnoprawny parametr, powinien być tak po prostu zapisany.

Masz rację Cezary, już naniosłem poprawkę smile

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

18 (edytowany przez IceG 2020-11-07 20:55:50)

Odp: 3ginfo - integracja z luci

Dodałem zakładkę/panel ustawień dla apki, cała apka wygląda teraz jak na screenach poniżej.

https://raw.githubusercontent.com/4IceG/luci-app-3ginfo/master/screen/3ginfo.png
https://raw.githubusercontent.com/4IceG/luci-app-3ginfo/master/screen/3ginfo_3gconfig.png

także już można sobie dostosowywać na szybko z Luci.

luci-app-3ginfo_1.3_all.ipk

Source code (zip)

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

19

Odp: 3ginfo - integracja z luci

Heja smile
Cezary, czy planujesz jakoś, kiedyś rozbudować jeszcze 3ginfo o nowe dane? ewentualnie pomógłbyś dodać, dopisać agregację pasm i temperaturę układu dla Quectel-a?

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

20

Odp: 3ginfo - integracja z luci

Rozbudować nie. Nie chcę tam dodawać rzeczy specyficznych dla danych układów.

To o co pytasz mam już od lat zrobione m.in dla ep06. Temperaturę uzyskujesz przez at+qtemp, bieżące pasmo przez at+qnwinfo a info czy jest agregacja przez at+qcainfo.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

21

Odp: 3ginfo - integracja z luci

Rozumiem Cezary, ale z pozycji uzytkownika powiem że trochę szkoda, że projekt się nie rozrosnie.

Akurat te polecenia znalem bo mam je dodane i sprawdzam to sobie w tej aplikacji atinout, ale wstyd się przyznać bo.. nie wiem Cezary na razie co się dzieje w 3ginfo, co gdzie dopisać, dodać, że się potem dzieje magia i moge pokazać wynik pobrany z json'a. Wydrukuje sobie te pliki i zerkne bardziej, moze mnie oświeci smile.

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

22

Odp: 3ginfo - integracja z luci

3ginfo miało być uniwersalne. Na tyle uniwersalne żeby chciało działać ze wszystkim, niezależnie od tego do czego to podczepisz. Włożenie tam poleceń specyficznych dla danego producenta (czy nawet modelu modemu) spowoduje straszny bałagan, a i trzeba będzie pisać specjalne parsery do wyniku tych poleceń. Więc niechętnie chciałbym to robić, przynajmniej dla takiej postaci 3ginfo jak jest teraz.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

23

Odp: 3ginfo - integracja z luci

Siema smile

Widziałem Cezary, że kombinowałeś z nowym skryptem do 3ginfo (dla easyconfig). Jeżeli nie masz nic przeciwko to przytulę Twoje skrypty, trochę je "popsuję" dodając co mnie jeszcze interesuje, do tego globalny plik mccmnc.dat i zrobię nową apkę dla Lucyny smile .

Swoją drogą ogarnia może ktoś tą nową Lucynę w js? Fajnie by było zrobić pakiet po nowemu, ja jeszcze nie wiem na jakiej zasadzie to działa, jak się pokazuje/renderuje dane, muszę dopiero załapać nowe środowisko neutral .

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

24

Odp: 3ginfo - integracja z luci

No nie że kombinowałem bo ja tego używam w swoich prywatnych obrazach "mifi".  Już lepiej jak byś przerabiał normalne 3ginfo.

js w Luci jest bardzo podobne do tego co było w lua. Jak się przyjrzysz to wyjdzie dość podobnie, choć oczywiście kilka rzeczy jest inaczej i musisz sie po przykładach nauczyć, bo niewiele jest opisów.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

25

Odp: 3ginfo - integracja z luci

Z tego co sobie już posiedziałem nad tym, to u mnie "na starym silniku Lucyny" wyglądałoby to tak, więcej mi nie potrzeba:

https://zapodaj.net/images/fed3758b98271.png

Tylko właśnie mam to też prywatnie, a upublicznię jak uda mi się przepisać na js, o ile mi się uda.

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę