Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[Solved] Moduł gsm Air200 - zmiana oprogramowania

czasnagli 28 Dec 2017 14:54 19014 136
Optex
  • #61
    kniazio
    Level 12  
    A nie dalbys rady zrobic ds18b20:)
    Chodzi przede wszystkim o dlugosc przewodow
    Na i2c nie poszalejesz
    Na ds18b20 mozna i 10 m ciagnac
  • Optex
  • #62
    czasnagli
    Level 17  
    kniazio wrote:
    A nie dalbys rady zrobic ds18b20:)

    W tej chwili nie będę pisał skryptu do 1-wire, ale w późniejszym czasie wrzucę odczyt z BME280.
  • #64
    JacekCz
    Level 38  
    czasnagli wrote:
    Z pomocą JacekCz dodałem do skryptu odczyt temperatury z DS3231. W załączniku skrypt i skrócona instrukcja.


    fajnie że "coś się dzieje", a jako pośrednio włączony w wątek mam "uczucia ambiwalentne" (jak o teściowej i nowym samochodzie)

    To że w konkretnym przypadku Ci pomogłem *), to jest jedno. To czy kod jako uniwersalny, do szerokiego użycia uznaje za porządny, w dobrym stylu, konserwowalny, to coś innego.
    Niestety w społeczności uK bardzo dużo się kopiuje kodu bez głębszej refleksji, z niewłaściwie nazwanymi funkcjami, zmiennymi, z niewłaściwą polityką tworzenia nazw (niosąca ryzyko przekrycia innej nazwy) ... chodzący w jednej testowej konfiguracji, i głęboka niewiedza czy nadal będzie chodzić w innej ... itd

    Przykład: w malutkim fragmencie, który pochodzi ode mnie, zmienną by trzeba nazwać nie 'temp' (czyli w domniemaniu temperatura jako taka), tylko 'temp_str', 'temp_frm' itd... a tak naprawdę, to całość zasługuje na głębokie podzielenie: co jest daną podstawową, co sformatowanym stringiem, z połowa identyfikatorów do zmiany itd....

    *) UPDATE: pomogłem również, bo pozytywnie uznaję Twoje próby, popularyzację mniej znanego kontrolera itd... a że nic na tym świecie nie jest idealne, to już inna opowieść ... ;)

    *) Bo lubię Lua, śledzę ten język, w pewnych latach byłem w nich mocno aktywny, potrafiłem bdb robić rozszerzenia, wdrożenia "embedded" itd... Bardzo dobry język do zdrożeń embedded. Elastyczny, o bardzo jasnej, świadomie zaprojektowanej integracji, stąd znalazł się w podobnych kontrolerach (o ile taka integracja może być względnie jasna), wydajny (jest silnikiem wielu gier czy projektów jak Redis)
  • Optex
  • #65
    kniazio
    Level 12  
    A może chociaż DHT22 dalo by sie jakos uruchomic.
  • #66
    czasnagli
    Level 17  
    Tak można podłączyć ds18b20 i DHT22 poprzez interfejs I2C. Poczytaj o DS2482-100.

    Moduł gsm Air200 - zmiana oprogramowania
  • #67
    User removed account
    User removed account  
  • #68
    kniazio
    Level 12  
    A czemu nie mozna podlaczyc ds-a lub dht przez 1wire?
  • #69
    czasnagli
    Level 17  
    R-MIK wrote:
    Tyko, że w DS2482 standardowy search rom będzie koszmarnie wolny. Trzeba szukać odmiennych algorytmów, przeznaczonych dla tego układu.

    Dobrze, że zwróciłeś na to uwagę bo nigdy nie używałem DS2482.

    kniazio wrote:
    A czemu nie mozna podlaczyc ds-a lub dht przez 1wire?


    Dostałeś już wcześniej informację, że na 1-wire nie ma gotowca. Jeżeli napiszesz skrypt do 1-wire to będziesz mógł podłączyć ds18b20.
  • #70
    User removed account
    User removed account  
  • #71
    kniazio
    Level 12  
    To pozostaje chyba tylko rozwiazanie o którym już chyba pisałem z połączeniem modemu z esp8266 z softem easyesp oraz odpowiednim pluginem
  • #72
    czasnagli
    Level 17  
    R-MIK wrote:
    Można też (jeśli zmiany stanu przekaźnika nie sa zbyt częste) zapamiętać jego stan w EEPROM. W takową pamięć (lub flash pełniący tak afunkcę) modem musi byc wyposażony (zapamiętuje ustawiania przez &W lub autosave). Jak nie wiesz jak dobrać sie do eeprom, uzyj jakiegoś z S-rejestrów, które sa zapisywane w EEPROM a nie sa używane (np po ilu dzwonkach ma nastąpić autozgłoszenie modemu).

    Czy uważasz, że zapamiętanie zmiennej typu string (np. daty 170214141602, YYMMDDhhmmss) w pamięci jako sms to dobry pomysł?

    Moduł gsm Air200 - zmiana oprogramowania
  • #73
    User removed account
    User removed account  
  • #74
    czasnagli
    Level 17  
    R-MIK wrote:

    1 - nie pisałem o stringu tylko stanie przekaźnika
    2 - nie pisałem o pamięci na SMS tylko o S-rejestrach

    Nie zrozumieliśmy się. Stan przekaźnika mam zapisywany w zmiennej "CLIP" i wszystko działa.

    W tej chwili chcę dodać czasowe włączanie/wyłączanie przekaźnika. Na przykład wysyłając sms o treści on20180109110100 przekaźnik zostanie włączony 09-01-2018 r. o godnie 11-01-00. Jednak po zaniku zasilania godzina włączenia przekaźnika zostanie skasowana. Dlatego pomyślałem, aby zmienną czasu typu string (20180109110100) zapisać w pamięci jako sms, a po resecie modułu odczytać zmienną i ponownie ustawić czas włączenia przekaźnika. Czytałem, że zajmowałeś się różnymi projektami z użyciem modułów gsm więc zapytałem jakie jest Twoje zdanie. Czy uważasz, że zapamiętanie zmiennej typu string (np. daty 170214141602, YYMMDDhhmmss) w pamięci jako sms to dobry pomysł?
  • #75
    User removed account
    User removed account  
  • #76
    czasnagli
    Level 17  
    R-MIK wrote:
    Jeśli chodzi o datę czas, to lepiej jest zapamiętywać np liczbę sekund od jakiejś daty. Pierwsa korzyść, 4 bajty, kolejna łatwość stwierdzenia czy data/czas jest wcześniejsza czy późniejsza niż jakaś tam. Łatwo np dodać xx dni itp.
    Poczytaj o funkcji gm_time().


    Tylko, że te 4 bajty też będę musiał gdzieś zapisać w celu późniejszego przywrócenia po awarii zasilania. Dlatego pomyślałem, aby zapisywać w pamięci modułu jako sms.
  • #77
    User removed account
    User removed account  
  • #78
    czasnagli
    Level 17  
    R-MIK, dzięki za info.

    W niektórych projektach potrzebujemy aktualnej daty i godziny. Jedną z możliwości jest pobranie czasu z sieci GSM. Dlatego umieszczam skrypt pobierający i aktualizujący czas dla Air200. Data drukowana jest jako string YYMMDDhhmmss i można ją użyć w dowolnej funkcji. Skrypt oparty jest na materiałach źródłowych.

    Moduł gsm Air200 - zmiana oprogramowania
    Moduł gsm Air200 - zmiana oprogramowania


    EDIT:

    W skrypcie poprawiłem błąd opisany w 119 poście.

    Air200_T..e.rar Download (142.99 kB)Points: 1 for user
  • #79
    User removed account
    User removed account  
  • #80
    czasnagli
    Level 17  
    W Air200 też jest lokalizacja na podstawie sygnału GSM.

    Moduł gsm Air200 - zmiana oprogramowania

    W celu dokładniejszego określenia pozycji można użyć.

    Moduł gsm Air200 - zmiana oprogramowania
  • #81
    User removed account
    User removed account  
  • #82
    czasnagli
    Level 17  
    R-MIK wrote:
    Jak kolega daje sobie rade? Google translator?

    W wyjątkowych sytuacjach używam translatora, ale większość poleceń AT nie wymaga tłumaczenia. Chińskie krzaczki z obrazków można przetłumaczyć przez Free Online OCR.

    EDIT:

    W Air200 podczas działania programu jest możliwość zapisu zmiennej do pamięci nieulotnej. Zmienną możemy zapiać w pliku tekstowym, książce telefonicznej lub jako sms do wysłania.

    Zapis zmiennej typu string do pliku, a następnie jej odczyt.

    Moduł gsm Air200 - zmiana oprogramowania

    Zapis zmiennej w książce telefonicznej, a następnie jej odczyt.
    W pliku ril.lua należy zmienić zapis ["+CPBR"] = 3, na ["+CPBR"] = 4, .

    Moduł gsm Air200 - zmiana oprogramowania
  • #83
    czasnagli
    Level 17  
    Napisałem skrypt do czasowego sterowania 6 pinem (lub przekaźnikiem) w Air200 za pomocą wiadomości sms. Poniżej umieściłem polecenia po odebraniu których moduł będzie wykonywał odpowiednią czynność. Jeżeli będą zainteresowane osoby skryptem to wraz z opisem mogę go udostępnić.

    Moduł gsm Air200 - zmiana oprogramowania
  • #86
    mmazur
    Level 9  
    Witam.

    Czy ktoś wie jak mając wersję air200 z firmware LUAT wysyłać i odbierać SMSy po serialu? Zakładam, że w wersji AT po prostu rozmawiam po UART komendami AT i wysyłam/odbieram sms. Ale chciałbym mieć i "moc" LUAT i wysyłać SMSy po UART. Będę wdzięczny za podpowiedź.

    M
  • #87
    czasnagli
    Level 17  
    Po zmianie oprogramowania na SW_DEFAULT_1.0.2_Luat_V0013_Air200_SSL.lod moduł będzie reagował tylko na polecenia AT wysyłane z poziomu skryptu na jego wirtualny port szeregowy (uart.ATC). Oznacza to, że wysłanie polecenia AT na jeden z dwóch portów fizycznych Air200 nie spowoduje oczekiwanej reakcji modułu. W takim przypadku odpowiednią funkcję lub polecenie AT należy zapisać w skrypcie, aby je wywołać po odebraniu przez moduł na porcie fizycznym wcześniej ustalonego znaku. Jeżeli chcesz odebrać wiadomość sms na fizycznym porcie (UART1 lub UART2) to wcześniej musisz ją tam wysłać. Tu są przykłady skryptów, a tu jest opis funkcji obsługi portu szeregowego.
  • #88
    czasnagli
    Level 17  
    W niektórych projektach potrzebujemy zapisać zmienną do pamięci nieulotnej. Jedną z możliwości jest podłączenie do Air200 zewnętrznej pamięci eeprom z interfejsem I2C. Poniżej przykład pokazujący sposób zapisu i odczytu z eeprom PCF8582C-2 liczby 15. Skrypt oparty jest na materiałach źródłowych.

    Moduł gsm Air200 - zmiana oprogramowania Moduł gsm Air200 - zmiana oprogramowania
    Spoiler:
    Code: lua
    Log in, to see the code
  • #89
    Mezir
    Level 13  
    czasnagli wrote:
    kniazio wrote:
    Czy to normalne ze teraz komendy AT nie dzialaja??


    Tak jest to normalne, że po zmianie oprogramowania polecania AT nie działają. W dokumentacji jest na ten temat informacja. Poczytaj o tym.


    Czy ktoś z Was wie jak mogę przywrócić domyślne oprogramowanie tak by mi komendy AT działały?
  • #90
    czasnagli
    Level 17  
    Mezir wrote:
    Czy ktoś z Was wie jak mogę przywrócić domyślne oprogramowanie tak by mi komendy AT działały?

    Jeżeli zmieniłeś oprogramowanie domyślne to jeszcze raz należy zainstalować SW_V3967_Air200T_flash.lod za pomocą programu RDA 8851 (link w pierwszym poście). Jak będziesz miał z tym problem to pytaj.

    Moduł gsm Air200 - zmiana oprogramowania
pcbway logo