Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 9 kwi 2025, o 01:43


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
    Autor Wiadomość
    PostNapisane: 29 lut 2020, o 19:28 
    Offline
    Użytkownik

    Dołączył(a): 09 lip 2019
    Posty: 116
    Pomógł: 11

    Aplikacja w QT + AVR + MK MENU + Komenty AT
    Obrazek


    Cześć wszystkim :-)

    Jakiś czas temu zabrałem się za stworzenie programu z wykorzystaniem MK Menu. W czasie programowania okazało się, że w kółko testuję te same schematy i za każdym razem trzeba odrywać ręce od klawiatury i pochylić nad zestawem startowym choćby po to, zeby pomanipulować enkoderem.
    Z pomocą przyszła prosta aplikacja napisana z użyciem Qt. Program ma dosłownie kilka przycisków, które umożliwiają wysyłanie wcześniej zdefiniowanych komend po UART do mikrokontrolera.

    Poniżej krótka - 3 minutowa prezentacja.

    Przykładowy kod do interpretacji komend wysyłanych ao UART z użyciem biblioteki MK_MULTI_UART
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Oczywiście funkcję parse_uart0 trzeba odpowiednio zarejestrować w MULTI UART
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Z użyciem kmComTester mamy możliwość stworzenia sekwencji komend, pomiędzy którymi można umieścić pauzy za pomocną wyrażonych w milisekundach liczb.

    Przykład sekwencji
    H100RR500LD
    oznacza - wyślij komendę zdefiniowaną pod literą H (domyślnie AT+HID, która odpowiada za schowanie MK Menu), potem odczekaj 100ms następnie wyślij komendę R dwukrotnie, odczekaj 500ms następnie wyślij komendę L oraz D
    Komenda R została zdefiniowana w taki sposób, aby wejść jeden poziom niżej w menu, komenda L tak, żeby wyjść jeden poziom wyżej, a komenda D to Decrement, czyli przejście do następnej linijki menu.

    Kod źródłowy aplikacji znajduje się pod adresem:
    https://github.com/k-moskwa/kmComTester

    A z tego miejsca można ściągnąć ostatnią skompilowaną wersję
    https://github.com/k-moskwa/kmComTester/raw/develop/dist/kmComTester-20200228.zip
    (ponieważ program zapisuje plik .ini, to lepiej nie umieszczać go w katalogu Program Files ani innym systemowym, chyba, że mamy zamiar uruchamiać go z uprawnieniami Administratora)

    Mam nadzieję, że komuś się przyda :-)
    Pozdrowienia,
    -krzysiek-



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 lut 2020, o 21:03 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27369
    Lokalizacja: Szczecin
    Pomógł: 1043

    Nooo panie, teraz to poleciałeś po bandzie ! ;) ... aż miło się patrzy - szaleństwo jak to MENU się steruje tymi komendami AT - COŚ pięknego ! I to jest właśnie mega wykorzystanie możliwości gdy się potrafi programować na PC i do tego na prockach ;) Chulaj dusza - cyfrowego piekła nie ma!

    GRATULACJE - świetny i bardzo inspirujący projekt! (aż wrzuciłem na główną stronę portalu forum ale też na nasz profil Facebook'a) bo już dawno nie było tak fajnego projektu na naszym forum ;)

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 lut 2020, o 21:21 
    Offline
    Użytkownik

    Dołączył(a): 01 lis 2013
    Posty: 301
    Pomógł: 32

    Cóż można powiedzieć. To jest bardzo genialny pomysł, świetnie rozwiązanie wpomagające testowanie. GRATULACJE
    I jak to bywa, poprawnie napisana aplikacja pod frameworkiem QT jest multiplatformowa, co się ceni.

    Skompilowana i uruchomiona natywnie aplikacja pod linux mint:
    Obrazek

    Jedna bardzo ważna uwaga. Jeżeli już piszesz, to bardzo dużą uwagę przywiązuj do wielkości liter w nazwach inkludowanych plików. To, że koci windows ma to głęboko w d...e, nie znaczy, że tak można bezkarnie robić.

    Chodzi o nazwę inkludowanego pliku w main.cpp. KMComTester.h. Nie jest to ta sama nazwa, którą ma plik mkComTester.h. To są różne nazwy plików. Po wprowadzeniu poprawki kompilacja przebega poprawnie.

    _________________
    Pozdrawiam,
    sq8mvy, Paweł



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 lut 2020, o 21:46 
    Offline
    Użytkownik

    Dołączył(a): 09 lip 2019
    Posty: 116
    Pomógł: 11

    Super... cieszę się, że się spodobało :-)

    gizmo5418 napisał(a):
    [...]
    Jedna bardzo ważna uwaga. Jeżeli już piszesz, to bardzo dużą uwagę przywiązuj do wielkości liter w nazwach inkludowanych plików. To, że koci windows ma to głęboko w d...e, nie znaczy, że tak można bezkarnie robić.

    Chodzi o nazwę inkludowanego pliku w main.cpp. KMComTester.h. Nie jest to ta sama nazwa, którą ma plik mkComTester.h. To są różne nazwy plików. Po wprowadzeniu poprawki kompilacja przebega poprawnie.


    Tak... wiem, wiem :-) Qt Creator coś zdziczał mi przy generowaniu nowego projektu, stąd to zamieszanie z wielkością liter. W innych miejscach poprawiłem ręcznie, a to jedno mi umknęło.
    Dzięki za zwrócenie uwagi :-) Dobrze, że ktoś z linuxem przejrzał :-)

    Jest jeszcze jedna uwaga - jeśli sekwencja jest zbyt długa - łatwo jest przepełnić bufor UART po stronie MCU. W takim wypadku warto pamiętać o dodawaniu odpowiednich pauz między komendami.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 31 mar 2021, o 11:57 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 29 lis 2019
    Posty: 145
    Pomógł: 37

    gizmo5418 napisał(a):
    dużą uwagę przywiązuj do wielkości liter w nazwach inkludowanych plików.

    moscow napisał(a):
    Qt Creator coś zdziczał

    Myślę, że tworzenie nazw plików oraz wstawianie nazw w inkludach lepiej zostawić QtCreatorowi.

    _________________
    Think for yourself and question authority.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 31 mar 2021, o 14:24 
    Offline
    Użytkownik

    Dołączył(a): 09 lip 2019
    Posty: 116
    Pomógł: 11

    Spoko dostałem dyspensę od autora QtCreatora ;-)

    A na serio, to wszystko zależy co się chce zrobić. Akurat zawsze używałem do Qt - Visual Studio i chciałem mieć wspólny projekt dla obydwu środowisk. Dlatego trochę się namieszało, ale już powinno być naprawione :-)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO