Strony

niedziela, 13 września 2015

ANDRO-MkBootloader Zapowiedź!

Witam,
Chciałbym wam pokazać taką małą zajaweczkę, z bardzo bardzo wstępnych ale już pomyślnych testów (bo prace nad tym trwały już od dłuższego czasu .... na początku próbowałem napisać to w czystym Java .... minął rok ... i byłem wciąż daleko w polu ... masakra

aż tu nagle pojawił się Basic4android (tzn inaczej dużo wcześniej on się pojawił) ale ja w końcu postanowiłem, że aaaa ... spróbuję - a nóż się uda nieco przyśpieszyć prace. To wszystko co zrobiłem w dotychczas w Java ... nagle w B4A zrobiłem w ciągu kilku dni !!! (nie mówię, że Java jest gorsza !!!! żeby mi tu zaraz burzy nie było - przyznaję się bez bicia że to moja niewiedza o Javie i moja nieumiejętność programowania w tej kociej Javie - powodowała, że trwało to prawie rok i wciąż było w kocim polu - to tekst dla potencjalnych malkontentów)

No więc po kilku dniach zabawy z B4A udało się:

- przygotować skalowany UI (User Interface) na różne urządzenia z androidem od wersji 1.6 w zwyż
- przygotować procedury stanowiące główny silnik programu
- przeprowadzić pierwsze testy z MkBootloaderem
- uzyskać poprawne transmisje bez żadnej awarii i to z dwóch różnych testowych urządzeń typu smartfon

co się nie udało jeszcze:

- przetestować tego na jakichś tabletach - ale wkrótce mi się to uda ;)
- przygotować obsługi przez Bluetooth ale już nad tym pracuję



w efekcie końcowym pokażę kilka screenshotów, i omówię funkcjonalność, która w porównaniu do programu na PC jest dużo prostsza albo innymi słowy uproszczona. Oczywiście nie ma tu generatora BLS no ale bez przesady ;) wystarczy ładowanie wsadu do procka.

Oto wygląd ekranu przed odpaleniem aplikacji:


odpalamy program i ukazuje nam się UI - całość udało mi się umieścić w ramach jednego "activity" (jak na razie)


trzy punkty oznaczają co można po kolei czy nie po kolei zrobić aby przygotować program do pracy. Pozostałe klawisze jak: "INFO" czy też "UPLOAD" są niedostępne na razie.

1. tym klawiszem możemy otworzyć listę nazw z powiązanymi numerami IP i portami i wybrać sobie urządzenie. Lista jest tworzona poprzez wpisanie w polach edycyjnych odpowiednich danych czyli: IP, Port oraz Nazwy. Nazwa musi być unikalna bo inaczej zamieni poprzedni wpis o tej nazwie. Zapis na listę następuje po kliknięciu klawisza "CONNECT"


2. tym klawiszem "CONNECT" inicjujemy niejako połączenie WiFi z modułem ATNEL-WIFI232_t i jeśli prawidłowo ustaliliśmy adres i port to po można już kliknąć przynajmniej klawisz "INFO" który robi się dostępny, nawet jeśli jeszcze nie wybrano pliku HEX do uploadu. Po kliknięciu "INFO" odczytywane są informacje z BLS z procka ATmega



3. tym klawiszem "FILE" wybieramy plik HEX, który zamierzamy wstrzyknąć do procka. Oczywiście wcześniej musimy go wgrać do telefonu na kartę pamięci i wybrać za pomocą okienka dialogowego do wybierania plików. Po wybraniu dokonywana jest analiza pliku w formacie IntelHex, i to troszkę trwa. Na nowszych telefonach niezauważalnie szybko a na starszych trzeba poczekać kilka sekund ;)



4. W tym momencie jeśli wcześniej już zainicjalizowaliśmy połączenie klawisze connect, to dostępny robi się najważniejszy klawisz "UPLOAD" za pomocą którego możemy już wgrać wsad do procesora poprzez WiFi co jest ładnie wizualizowane przez pasek podstępu ;)



operacje działają w pełni powtarzalnie, można zmieniać sobie łatwo i przyjemnie dowolne wcześniej zapisane urządzenie z jego numerem IP ;) 

Na końcu pozostaje radość na twarzy bo jak dołożyć jeszcze, że można to połączyć np z DropBoxem tzn na telefonie odpalić dropa i z kompa tam wrzucać sobie wsady HEX do wgrania, to synchronizuje nam się to na telefonie i później tylko chodzimy z fonikiem czy tableciakiem i aktualizujemy sobie urządzonka

przy okazji czasem przydaje się ot po prostu zdalny restart - czemu nie ;)

Na koniec jeszcze fotka że działa to także na mniejszym i starym telefonie Samsung Galaxy S2 , widać nawet że wersja systemu android jest stara 2.x ;) ... a wszystko ładnie śmiga i jest wyskalowane.


.

21 komentarzy:

  1. Dodać tylko tak brakującą - przy najmniej dla mnie - opcje: klucz zabezpieczający wielokrotne ładowanie wsadu. Program bootujący oczekuje na "mój indywidualny" klucz, po otrzymaniu jego dopiero rozpoczyna procedurę współpracy z MKBootLoaderem. Może doczekam się takiej opcji. Ogólnie wielkie dzięki Panie Mirku za pomoc i dystrybucję własnych rozwiązań elektroniczno - programowych.

    OdpowiedzUsuń
  2. Jeszcze mobilny eclipse by się przydał

    OdpowiedzUsuń
  3. czy b4a działa na system xp ponieważ zainstalowalem i wyświetla mi bład "B4A.exe - NET Framework Initialization Error"

    OdpowiedzUsuń
    Odpowiedzi
    1. Ten komunikat wyraźnie mówi, że brak jest zainstalowanego .NET a nie że zły windows. Na staruszku Win XP też można zainstalować .NET

      Usuń
  4. jak zainstalować .net i co to jest.

    OdpowiedzUsuń
    Odpowiedzi
    1. A wpisz pan sobie w google takie hasło:

      win xp dot net 4

      i kliknij klawisz szukaj - no bo sorki ale ciężko nawet tłumaczyć co to jest .... skoro istnieje już od wieków prawie - zdawałoby się

      Usuń
  5. Już wszystko ok:)
    Bardzo dziekuję Panie Kardasiu już się b4a dobrze się zainstalował i działa.Gdyby Pana nie było to bym płakał w poduszke.Jeszcze raz wielkie dzięki.

    OdpowiedzUsuń
  6. Witam. Gratuluje programu :)
    Mam Pytanie czy ten program będzie miał możliwość przewodowej łączności z prockiem za pośrednictwem usbasp + przewodu usb/microusb ? Nie ogarnąłem jeszcze tematu wifi/avr.
    Czy będzie można pisać w nim kod w C tak żeby nie korzystać z PC/lapka?

    OdpowiedzUsuń
    Odpowiedzi
    1. Możliwość łączności przewodowej ? ... panie kochany, jakbym żył w czasach średniowiecza i chodził z mieczem albo toporem - to pewnie marzyłaby mi się łączność przewodowa :D .... ale ja żyję w 2015 roku czyli dużo później i wolę łączność bezprzewodową z prockiem. Więc opracowuję teraz program dzięki któremu będzie można programować procki AVR ZUPEŁNIE bez kabli rozumiesz pan ? ;) .... TYLKO i wyłącznie za pomocą albo Bluetooth albo jeszcze lepiej WiFi

      zresztą chyba widzisz w tym artykule co powstaje ;) a ty mi tu o sznurkach piszesz .... a kysz ... a kysz z technologiami rodem ze średniowiecza ;)

      Usuń
    2. mi też przyda się łączność przez usb.

      Usuń
  7. To w takim razie czekamy na efekt końcowy, aplikacja wygląda całkiem przyzwoicie. Chętnie przetestuje.

    OdpowiedzUsuń
  8. Hej :) Jestes jedynym blogerem jakiego do tej pory spotkalem, który ma talent i wie o czym pisze :) Wiekszosc osob z ktorymi do tej pory mialem do czynienia wypowiadało się na tematy, o których niestety nie mialy one zielonego pojecia, jednak w Twoim przypadku jest zupelnie inaczej, Twoje teksty są swietne :) Pozdrawiam serdecznie

    OdpowiedzUsuń
  9. zgadzam się z Marcinem jest Pan geniuszem jak ich mało!Przez to martwi mnie taka długa przerwa pomiedzy odcinkami już prawie miesiąc.Kiedy bedzie nowy odcinek?

    PS:Bardzo prosze o odpowiedz.

    OdpowiedzUsuń
  10. Panie Mirku a dało by się zrobić by na przykład obrazek się poruszał po naciśnieciu w guzik.

    OdpowiedzUsuń
    Odpowiedzi
    1. a co to znaczy "poruszał się? " ... chodzi ci o jakąś animację ? ciągłą ? czy jak ? ;)

      Usuń
  11. chodzi mi oto ,że po kliknieciu na Buttona obrazek przesunął się z lewej do prawej.

    OdpowiedzUsuń
    Odpowiedzi
    1. Nie znam takiego komponentu, musiałbyś go sobie sam w Java napisać. Jest toggle button, który ma tam jakieś podświetlenie gdy zmieni stan. Ale przesuwanie obrazków na klawiszu ? ... nie widziałem

      Usuń