Ads_700x200

niedziela, 1 lutego 2015

ATB-WiFiASP - bezprzewodowy programator AVR

Witam,

Miło jest mi dzisiaj przedstawić Wam rozwiązanie stanowiące w istocie rzeczy bezprzewodowy programator AVR, czyli ATB-WiFiASP ;) .... Powstał on na bazie takich składników jak: MkBootloader oraz ATNEL-WIFI232-T. Wprawdzie określenie to słuszne jest tylko w zakresie procków większych niż ATmega8 czyli generalnie rodziny ATmeg, czyli tych w których w naturalny sposób działa bootloader obsługiwany przez program MkBootloader. Tak jest to pewne ograniczenie, ale coś za coś. W tym przypadku otrzymujemy rozwiązanie które (śmiało można powiedzieć) miażdży konkurencyjne rozwiązania swoją funkcjonalnością ;) Można by to nazwać wręcz "Multiprogramator" ponieważ każde urządzenie zawierające moduł ATNEL-WIFI232-T już z marszu posiada niejako tego typu możliwość! Reasumując siedząc wygodnie w jednym miejscu można programować wsady w wielu różnych mikrokontrolerach, które znajdują się wokoło. Można także nosić przy sobie moduł WIFI i w razie potrzeby podłączać go do urządzenia - aby spełnił rolę programatora. Co ciekawe - równocześnie moduł może posłużyć do zmiany konfiguracji czy parametrów pracy naszego urządzenia za pomocą czy to terminala w PC czy dedykowanego programu albo wręcz za pomocą aplikacji na smartfonie. W tym momencie otwierają się ogromne możliwości i wysoki komfort pracy. Zapraszam na krótką prezentację rozwiązania oraz nowszą, kolejną odsłonę programu MkBootloader.




poniżej filmik - prezentacja:


;)

22 komentarze:

  1. No grubo... moja Żona powiedziała ze Cie lubi;] jak jej się żart z Atmegą spodobał

    OdpowiedzUsuń
    Odpowiedzi
    1. Trochę zawstydzony jestem - bo to taki hmmm może troszkę przesadzony żart ;) ... ale ślicznie dziękuję twojej Żonie ... pozdrów ją gorąco ode mnie

      Usuń
  2. Świetny program. Czy zadziała on też ze sprzętowym resetem?

    OdpowiedzUsuń
    Odpowiedzi
    1. Działa działa - ale dzisiaj na forum kolega Krauser dostrzegł babola - że coś w tej wersji nie działa jednak ze sprzętowym resetem ....

      http://forum.atnel.pl/post116831.html#p116831

      na szczęście jak widać z tego co tam odpowiedziałem - postaram się szybko to naprawić ...

      Usuń
  3. Panie Mirosławie,
    Niewątpliwie wartościowy poradnik, czy jednak będzie można liczyć na krótki poradnik programowania pod Androidem do sterowania LED i PWM? Podobno to jest łatwe, sam Pan mówił ?

    OdpowiedzUsuń
    Odpowiedzi
    1. Ja sobie nie wyobrażam żeby miało nie być takiego poradnika ... ale hmmm no wszystko po kolei .... Ta ostatnia seria poradników, którą później strzelałem jakbym za jednym naciśnięciem opróżnił cały magazynek kałasznikowa .... to proszę mi uwierzyć .... szybko się wystrzelało - ale przygotowanie tego to była potworna praca ...

      teraz muszę troszkę zarobić na szklankę chleba i zus a w międzyczasie przygotowuję sobie materiały do kolejnych poradników, tzn ćwiczenia. To nie jest tak - że ja sobie siadam i gadam ... żeby wszyscy mogli dobrze zrozumieć - to NAJPIERW trzeba bardzo dobrze przygotować i opracować swój materiał dydaktyczny ....

      więc trzeba się uzbroić w cierpliwość a z drugiej strony - proszę też mnie wspomóc ... w jaki sposób ? mówię o tym w ostatnich poradnikach - OK ?

      Usuń
  4. Panie Mirku,
    Dziękuję za dobre wiadomości , ale fakt praca Tytana, może i lepiej , ze troszkę Pan zwolni bo i nam w domach żony to mają za złe. A po co się narażać ......
    Tak czy siak mega robota ale ponieważ jestem Pana wielbicielem i czasem coś tam zakupię to będę spokojnie czekał. Mam ten moduł nawet jeszcze nie rozpakowany bo same poradniki są jak ambrozja .... Stronka serwer - WWW to moim zdaniem szczyt naszych marzeń i uwieńczenie Pana wkładu pracy. Myślę , że dużo osób tak jak ja nie korzysta z FB i ogląda wszystko na blogu. Pozdrawiam

    OdpowiedzUsuń
    Odpowiedzi
    1. No właśnie - to proszę przekazać pozdrowienia dla szanownej małżonki w międzyczasie ;)

      Usuń
  5. No taki programator to coś! ,a jakbym chciał przed wgraniem nowego wsadu ,zapisać na dysku stary wsad ,to da się go jakoś wyciągnąć z mikrokontrolera przez Wi-Fi?

    OdpowiedzUsuń
    Odpowiedzi
    1. Pewnie, że się da - tylko trzeba sobie do tego jakiś program napisać

      Usuń
  6. A czy jest szansa ,że kiedyś da się to zrobić w mkbootloaderze? , bo programik jest świetny.

    OdpowiedzUsuń
    Odpowiedzi
    1. To by się wiązało z pogrubieniem BLS'a w procku, a tymczasem dla mnie NAJWAŻNIEJSZE było aby on zajmował MAX 256 słów ze względu na tak małe procki jak ATmega8 .... Poza tym zwykle twórca urządzenia posiada oryginalny wsad więc nie do końca widzę konieczność odczytywania go przed wgraniem nowego .... Dlatego ten pomysł niestety uzyskuje bardzo słaby priorytet na mojej liście - może kiedyś - kiedyś

      chyba że kolega jakoś uargumentuje taką konieczność, gdy te argumenty mnie przekonają bardziej ? bo może czegoś nie dostrzegam jednak ?

      Usuń
  7. Tak po prostu zapytałem ,byłoby super mieć pełny bezprzewodowy programator ,z wszystkimi funkcjami ODCZYT , ZAPIS , WERYFIKACJA.

    Następnie można by stworzyć programator powiedzmy "Atnel MKII Wi-Fi" ,na pokładzie Atmega32 komunikująca się z kompem za pomocą Wi-Fi czy bluetootha , a programująca procek po liniach ISP (ze złączem kanda) , wtedy każdy układ , mozna programować takim programatorem. Podłączamy się w docelowym układzie do gniazda kanda i lecimy. A może trochę poniosła mnie wyobraźnia :) ,jest to teoretycznie możliwe?

    OdpowiedzUsuń
    Odpowiedzi
    1. Pewnie że jest możliwe ;)

      Usuń
    2. Jest możliwe, jakiś czas temu popełniłem taki programator
      http://projektydiy.blogspot.com/2014/09/ml-14-stk500-v2bt-czyli-bezprzewodowy.html
      spodobał się znajomemu i teraz jest w gablocie, a znajomy może ze swojego komputera za ścianą pokazywać uczniom programy które napisał. Normalny programator stk500 v2 bezprzewodowy, nie trzeba wgrywać bootloadera.( Mam nadzieję że ta wroga propaganda się ukaże )

      Usuń
    3. No dokładnie o tym mówiłem ;) z STK500 można tak się zabawić ponieważ w nim procek dostaje polecenia do programowania z kompa przez RS232, więc wystarczy przesłać to przez BT czy WIFI - co za różnica? ;) można

      Usuń
  8. Bo wlasnie o takim programatorku myslalem. Programowanie przez programator usb jest o tyle niewygodne jak mamy gdzies zamontowane urzadzenie, ze cza biegac z lapkiem , a jak mamy stacjonarke to jeszcze gorzej. Wkladanie atnel wifi do kazdej zabawki jest troche kosztowne. A tak majac wyprowadzone gniazdo isp na obudowie wkladamy tylko programator wifi i tak jak w zegarku z misiem wyjmujemy i mozemy uzyc w innym urzadzeniu. To bylby taki kompromis pomiedzy kosztami a wygoda.

    OdpowiedzUsuń
    Odpowiedzi
    1. No widzisz ale nie pomyślałeś jeszcze o jednym, innym kompromisowym rozwiązaniu, zresztą jak wiele osób. Ale podpowiadam i zarażam tym rozwiązaniem ;) .... posłuchaj uważnie:

      Wcale nie musisz montować na stałe w każdym urządzeniu ATNEL-WIFI jeśli to "za drogo" (tak samo można było robić i robią ludzie z ATB-BTM-222) czyli jak ????

      wystarczy w każdym swoim urządzeniu wyprowadzić na brzeg obudowy małe gniazdko pod ATNEL AIR! .... rozumiesz? Wystarczy wtedy mieć jeden ATNEL_WIFI na płytce ATNEL_AIR i po co biegać z kolei z programatorem? ot po prostu podchodzisz do urządzenia swojego, wpinasz w jego gniazdko swój serwisowy egzemplarz ATNEL_WIFI i lecisz! czyli programujesz. Po czym wyjmujesz WIFI i idziesz (jeśli jest taka potrzeba) przeprogramować kolejne swoje urządzenie.

      Mówię ci wielu ludzi tak właśnie robi ;) ja też się do nich zaliczam

      Usuń
  9. Wiem ,ale trzeba pomyśleć już o tym na etapie projektowania.
    Gorzej jak mamy już setki gotowych urządzeń z wyprowadzonym tylko gniazdem ISP,
    a same linie RX i TX w urządzeniu też już zajęte do innych celów.

    OdpowiedzUsuń
    Odpowiedzi
    1. Widzisz .... jakby ci to powiedzieć .... w sumie sam sobie dałeś odpowiedź, TRZEBA o tym pomyśleć na etapie projektowania a nie później. To jest troszkę tak samo jak amatorzy, początkujący robią urządzenie jakieś - to ZAWSZE najpierw robią PCB a później myślą - "jak tu dobrać obudowę do PCB?" BŁĄD, o tym się myśli na etapie projektowania. Podobnie z RS232 .... piny mówisz masz zajęte .... a ja od zawsze powtarzam ( trzeba o nich myśleć na etapie projektowania ) ... zarażam tym myśleniem wszystkich ... bo to się sprawdza a nie działania "OD TYŁU".

      Poza tym dużo gorszy problem jest łazić po tych wszystkich urządzeniach i wpinać się tam z kablem KANDA, dużo gorzej, trzeba często otwierać obudowę .... a całkiem inaczej byłoby gdyby było wyprowadzone na zewnątrz RX i TX dla WIFI. Ktoś może powiedzieć - no ale mój procesor ma tylko jeden UART ! .... a w czym to przeszkadza jak się pomyśli na etapie projektowania ? ... ktoś powie - ale mój procesor ma za mało pinów i MUSIAŁEM wykorzystać RX i TX np do klawiszy ..... a ja ponownie zapytam - a w czym to przeszkadza na etapie projektowania ?

      Więc sorki - gdybyś podał inny argument to może i bym uległ, ale to o czym piszesz nie jest żadnym argumentem i zachęcam cię do tworzenia nowych urządzeń MYŚLĄC ZAWSZE o komunikacji rs232. Być może np te poradniki z WIFI pokażą wszystkim jak istotny jest to interfejs i uwierz mi nie tylko ze względu na możliwość updejtu wsadu, ale głównie ze względu na możliwość komunikacji z zewnętrznymi urządzeniami nawet drogą kablową, bluettoth - takimi jak komputery PC czy smartfony

      to jest panie kochany prawidłowa droga, prawidłowe podejście

      Usuń
  10. Ok, dzieki Mirku.

    Na koniec mam jeszcze jedno pytanie, nie boisz sie ,ze przy programowaniu bez veryfikacji cos moze pojsc nie tak. Idzie po udp, a tam pakiety nie leca po kolei.
    Mozliwe ,ze jest jakies zabezpieczenie o ktorym nie wiem. Ja bym sie troche obawial, ze moze wskoczyc jakis babol.
    Choc pewnie testowales to na setkach urzadzen, dlatego ciekawi mnie tez czy cos sie kiedys zlego wydarzylo?

    OdpowiedzUsuń
    Odpowiedzi
    1. Protokół UDP w swoim założeniu jest bezgniazdkowy/bezpołączeniowy. Co więcej nie można przesyłać danych strumieniowo a tylko za pomocą tzw datagramów czyli paczek nie większych niż 1024 bajty. Co gorsze .... jeśli wyślesz z nadajnika po kolei np 10 takich pakietów to warstwa komunikacji UDP nie gwarantuje ci nie tylko tego że dotrą one w takiej kolejności jak je wysłałeś ale nawet nie gwarantuje, że każdy z nich na pewno dotrze! ;)

      zanim odpowiem na poważnie to najpierw taka anegdotka:

      Są tacy co już dawno korzystają z UDP do różnych poważnych celów, a są tacy co się wciąż boją i będą długo się bali - tracąc czas i klientów bo te obawy nie pozwolą im sięgnąć po pewne narzędzia oparte o UDP. To ich strata. A ty do których się zaliczasz ? ... po twoim pytaniu, po tego typu pytaniach można wnioskować że do tych drugich, którzy wciąż się czegoś obawiają.

      Tymczasem tego typu "dantejskie" sceny jaki nadejście pakietów w innej kolejności niż je wysłałeś albo zniknięcie takich pakietów było cechą szczególnie starych sieci komputerowych opartych jeszcze na ethernecie realizowanym nie na skrętce a na kablu BNC ;) jeszcze w czasach starej skrętki słabych jakościowo HUB'ów ... itp itd

      Pokaż mi dzisiaj JEDEN, rozumiesz - JEDEN przypadek że zaniknie ci w sieci LAN (uważaj co teraz mówię - na razie o sieci LAN a nie WAN), więc chociażby JEDEN taki przypadek że datagram zniknie albo że nadlecą datagramy w innej kolejności ;) Jeśli jesteś w stanie go pokazać - to nie tylko oznacza, że to o czym mówi standard UDP to jest prawda ale to PRZEDE WSZYSTKIM oznacza - że masz skopaną sieć LAN rozumiesz? i trzeba czym prędzej ją naprawić ;) A musisz mieć poważnego BABOLA w tej sieci np uszkodzony jakiś switch albo rozkopane gniazdka kablowe w ścianach albo jakieś przestarzałe WIFI które jest zakłócana nie wiadomo czym ;)

      Przy dzisiejszej jakości urządzeń sieciowych UDP spisuje się po prostu ŚWIETNIE i to także w sieciach (uwaga!) WAN !!!

      Dlatego mówiąc o upgrade firmware za pomocą WIFI i tego rozwiązania o którym mówię trzeba podejść przede wszystkim zdrowo rozsądkowo!

      1. czy zaraz trzeba się rzucać na WAN ? a LAN nie wystarczy ? ... wcześniej nie mieli ludzie nawet w LAN takiej możliwości - a teraz dostają narzędzie i od razu WAN im się marzy - przy okazji uważając że możliwość tego w LAN to już przeżytek - hej hej - stop ,,,, .... Owszem można i za pomocą WAN !!! ale ... ale trzeba mieć świadomość że mamy porządnej jakości łącze internetowe na całej drodze.

      2. To co prezentuję - to prosta komunikacja bez potwierdzeń i kontroli przepływu - czyli jak w trakcie podmiany wsadu SZLAG trafi i się zerwie to co ? to tragedia ? ;) a jaka tragedia ? jeśli tak się zdarzy to RAZ NA tysiąc przypadków - to co za problem ten raz podejść z programatorem ? ... a jeśli się nie zdarzy raz na tysiąc tylko raz na 100 tys ?

      3. Jeszcze inna kwestia - gdy zerwie się transmisja - a testowałem to osobiście setki razy - po prostu wyłączając na chama nawet zasilanie ... to co ? to procek i tak zwykle się restartuje i i tak rusza od Bootloadera a więc (uwaga!) nadal nadaje się do zaprogramowania zdalnie przez wifi !!! ;)

      nie wierzysz ? - popróbuj sam - co to szkodzi popróbować na własnym zestawie testowym ? - przekonaj się, sprawdź - wtedy zrozumiesz o czym mówię i być może dołączysz do grupy tych pierwszych z opowieści na górze ;)

      Usuń