Ads_700x200

poniedziałek, 9 listopada 2015

B4A Terminal UDP - WIFI232 - B4J

Witam,

Mam zaszczyt zaprosić was na nowy, kolejny cykl poradników dotyczących tworzenia oprogramowania z wykorzystaniem protokołu UDP, a więc oprogramowania sieciowego. Co ciekawe będziemy "męczyli" ;) nasze telefony, tablety ale także komputery (udowodnię tobie, że TY także potrafisz napisać prosty program na PC i to pod windowsa i linuxa!) ... Nawet jeśli w to nie wierzysz zabierając się teraz za ten poradnik. Oj zdziwisz się. Pierwszym naszym celem będzie przygotowanie sobie narzędzi do testowania naszych przyszłych aplikacji. Jednocześnie tworząc te nasze aplikacje do testów czyli "TERMINAL UDP" zarówno na androida jak i na PC ale również na MAC'a ;) podniesiemy swój skill programistyczny o kilka dobrych punktów.... Co tu dużo gadać i pisać - serdecznie wszystkich zapraszam...


Na samym początku przedstawiam jak należy skonfigurować moduł ATNEL-WIFI232-T


a poniżej widok z programu ATB WiFi Config na Androida


oto filmiki:










;)

50 komentarzy:

  1. Mirku testowałem terminal na kilku telefonach Label3 potrafi czasem wylecieć za ekran, ale dopisałem w Script
    Label3.SetLeftAndRight( 80%x, 90%x )
    Label3.SetTopAndBottom( 30%y, 35%y )
    i jest ok. Ponadto zauważyłem że na androidzie 5.1.1 nic nie dolatuje z terminala PC gdy nadaje na Broadcast lub adresie rozgłoszeniowym mojej sieci. Dopiero jak wyślę konkretnie na adres mojego uładzenia to już jest ok.
    Tak się zastanawiam czy w nowym androidzie jest wyłączony odbiór na adresie rozgłoszeniowym czy jakieś ustawienia należy zmienić?

    OdpowiedzUsuń
    Odpowiedzi
    1. Ale jak widać w kodzie nawet nie zrobiłem pozycjonowania Label3 więc niektóre rzeczy trzeba sobie samemu już dostosować ;) teraz chyba już każdy wie jak ;)

      Odnośnie tego, że nie odbiera nic na broadcascie - to wątpię żeby android 5.1.1 miał z tym coś wspólnego. A inne telefony ci odbierają ? ... Myślę, że to raczej problem twojego routera który albo domyślnie WYCINA pakiety broadcastowe albo tak został skonfigurowany...

      Usuń
    2. Inne telefony odbierają, sprawdziłem nawet między dwoma laptopami i jest ok. Komunikacja pomiędzy innymi telefonami też jest. Tylko ten jeden z android 5.1.1 nie odbiera. Może ktoś będzie miał możliwość to sprawdzić i potwierdzi.

      Usuń
    3. Tak potwierdzam że jest problem z tym Androidem (u mnie na S4)

      Usuń
    4. U mnie na Sammsung Galaxy S4 wszystko działa bez zająknięcia - więc wątpię żeby to był problem z telefonami

      Usuń
    5. Mirku, dzisiaj jeszcze raz testowałem telefon z androidem 5.1.1 (moto g3). Nie odbiera na adresie rozgłoszeniowym z PC, ATNEL_WIFI i drugiego telefonu Samsung S3 mini. Jak wyśle pakiet na IP tego moto g3 z jakiegokolwiek urządzenia to pakiety dochodzą. Jak wysyłam po adresie rozgłoszeniowym z moto g3 to pakiety dochodzą wszędzie. Co ciekawe nasłuchując na tym samym porcie w moto g3 dochodzi to co wysyłam, czyli teoretycznie android 5.1.1 na moto g3 odebrał to co sam wysłał. Nie wiem tylko dlaczego w mojej sieci wycina pakiety na adresie rozgłoszeniowym z innych urządzeń do moto g3. Szukam dalej.

      Usuń
    6. Szukaj szukaj ;) ... a poza tym to na prawdę nie wiem po co panikować. Tak jak wspominałem - programowanie po UDP to nie zabawa po broadcastach tylko przemyślane później konfiguracje client/server z konkretnymi adresami IP

      Usuń
  2. Ten komentarz został usunięty przez autora.

    OdpowiedzUsuń
    Odpowiedzi
    1. eeeeej panie kochany a co ? nie widzisz że wyżej umieściłem kody do KAŻDEGO z poradników ? ;)

      Odnośnie programu do konfiguracji wifi na androida - no to sorki ale aż zachodzę w głowę - jak można nie wiedzieć jak i skąd go pobrać ? :(

      Pomijam już to że linki do pobrania są na stronie atnel
      http://atnel.pl/atnel-wifi232-t.html

      to jest też cały poradnik wideo:
      https://www.youtube.com/watch?v=YKi5JqFNnRU

      już nie mówiąc że wystarczy w telefonie odpalić Google PLAY i wpisać:

      ATB WiFi

      i już masz znalezioną aplikację - a że jest darmowa no to co za kłopot pobrać ją na telefon ?

      Usuń
  3. Mirek, czy możesz umieścić plik wykonywalny programu UDP terminal na PC oraz czy umieścisz, gdzieś kod źródłowy programu do konfigurowania modułu atnel wifi na Androida. Chce mieć możliwość konfigurowania tego modułu z poziomu mojej aplikacji :)
    a może stworzysz bibliotekę do tego modułu dla B4A :):):).

    OdpowiedzUsuń
    Odpowiedzi
    1. Kod źródłowy aplikacji do konfiguracji ? chodzi ci o ATB WiFi Config na androida i jego źródła ? .... sorki ale tego nie udostępniam. Co do stworzenia biblioteki - to nad tym może kiedyś pomyślę

      Usuń
    2. Źródła twojego programu na pewno by ułatwiły sprawę implementacji konfiguracji modułu wifi z poziomu naszej aplikacji, a tak pozostaje klepanie tego na nowo.
      Tylko po co jak, już producent czyli Ty to zrobił.

      Usuń
    3. Ale to akurat nie jest kwestia, która podlega jakiejś dyskusji. Dość jasno i stanowczo powiedziałem, że źródeł tego programu nie będzie i to tyle w tym temacie.

      A myślę, że na podstawie moich wcześniejszych poradników odnośnie samego modułu, obecnych odnośnie komunikacji UDP i przyszłych - każdy będzie sobie w stanie coś podobnego napisać, i to przyniesie piszącemu o wiele więcej korzyści w programowaniu.

      Usuń
    4. Mirek jakbym chciał to sam napisać to bym nie pytał o źródła.
      Ponadto nie wiem dlaczego w twoich wypowiedziach odczuwam negatywne nastawianie do pytających.
      Ty sprzedajesz my kupujemy, więc może więcej postawy pro klienckiej - mniej złości.

      Każdą uwagę/prośbę powinieneś przyjąć z pokorą i rozważyć możliwości pomocy zainteresowanym. Chyba, że nie chcesz.

      Usuń
    5. No więc odpowiadam tobie, że nie mam ŻADNEGO negatywnego nastawienia ani nuty nawet złości. To już sobie sam dopowiadasz, przykro mi. Ja wyraziłem jasno swoje zdanie w tym zakresie. Możesz się z tym nie zgadzać ale to nie zmieni tej sytuacji. Ja szanuję twoje zdanie ty uszanuj moje.

      Odnośnie pomocy to mówiłem wyżej, że po pierwsze rozważę publikację gotowych bibliotek w tym zakresie za jakiś czas ale to wymaga nakładu pracy a po drugie nie obraź się pan, ale ....

      .... Myślisz, że po co tworzę te wszystkie poradniki ? ... to odpowiem tobie teraz, po to aby każdy mógł się nauczyć pisać takie a nawet lepsze aplikacje niż moje i już są tacy ludzie ....

      Czym innym jest DAĆ GOTOWCA a czym innym nauczyć kogoś ... i ten cel mi zawsze przyświecał, przyświeca i będzie przyświecał.

      W swoje poradniki wkładam MNÓSTWO pracy, nic nie zatajam ze swojej wiedzy ... a ty mi będziesz zarzucał, że jak nie opublikuję źródeł, które ty chcesz - to znaczy, że brak mi pokory do widzów czy czytelników? Proszę cię nie przekraczaj pewnej granicy dobrego smaku w dyskusji ok?

      Szanujmy się nawzajem.

      Usuń
    6. Racja. Dziękuje za informację. Czekam na kolejne poradniki.
      Pozdrawiam

      Usuń
  4. Mirku, wydaje się mi, że zapomniałeś wspomnieć w tym poradniku ( bo nie wszyscy pamiętają, zwłaszcza Ci początkujący) jak ma być skonfigurowany moduł Atnel Wifi, a poza tym poradnik świetny, bravo !!!!!

    OdpowiedzUsuń
    Odpowiedzi
    1. No nie nie ;) tu się, nie zgodzę, że zapomniałem - nakręciłem już TYLE poradników o konfiguracji modułu ATNEL-WIFI232-T - że szok ;) Była też mowa o konfiguracji i wręcz niemożliwe byłoby żebym teraz to powtarzał ... że trzeba go skonfigurować sobie jakoś jako STA, i że w tryb UDP... Mówię też o tym w innych poradnikach - ostatnio chociażby w poradniku o programie do konfiguracji naszego WiFi na androida ;)

      https://www.youtube.com/watch?v=YKi5JqFNnRU

      Usuń
    2. No właśnie jak sam mówisz, że nakręciłeś już TYLE poradników, że można się w tym gąszczu pogubić, chyba, że ten poradnik jest tylko dla tych, którzy czytają Twoje poradniki od deski do deski, to wtedy powinieneś to na wstępie zaznaczyć, a chyba te dwa słowa czyli STA I UDP, nie zabrały by Ci dużo czasu, żeby dla przypomnienia je wypowiedzieć.

      Usuń
    3. Ale te określenie STA czy UDP to tylko hasła - toż tam trzeba skonfigurować sobie czy chcesz mieć statyczne czy dynamiczne IP, ja nie znam twojej sieci. A że moduł musi pracować w trybie UDP to to nie TYLKO wydaje mi się OCZYWISTE ale panie kochany - MÓWIŁEM O TYM W PIERWSZYM ODCINKU TEGO CYKLU

      M Ó W I Ł E M - o tym ?

      Nie wierzysz ? obejrzyj .....

      A jak ktoś ma narzekać - że nie obejrzy innych poradników bo tego jest "za dużo" i nie chce mu się tracić czasu na oglądanie .....

      powstrzymam się tu już od komentarza nawet ....

      Usuń
  5. Mirku, dobra robota. Dziękuję. I nie przejmuj się oczekiwaniami niektórych osób. Dałeś wędkę i to z robakiem na haczyku. :) Wystarczy zacząć łowić. PS. A nawet trochę ryb na zachętę , he,he

    OdpowiedzUsuń
    Odpowiedzi
    1. hahahaha super powiedziane - "z robakiem na haczyku" :D muszę to zapamiętać ....

      No tak nie dość, że tłusty robaczek to jeszcze kila ryb czyli gotowych aplikacji żeby było widać co można sobie zrobić w tym B4A ...

      Usuń
    2. Mirku fantastyczna robota w krótkim czasie. A młodym trzeba wybaczyć dysproporcje miedzy zapałem a umiejętnością przyswojenia wiedzy i to w jednym miejscu. To przychodzi z wiekiem a nauka systematyczności łatwa nie jest. Ja tylko dodam że przeróbka Twojego programu z UDP na TCP/IP nie jest aż tak bardzo skomplikowana. Może kiedyś napiszesz coś w protokole MQTT w B4X? Jest dealny do komunikacji IoT. A biblioteka jest dostępna:) Może kiedyś.Raz jeszcze dzięki za fantastyczną robotę. Pozdrawiam

      Usuń
    3. Jeśli chodzi o MQTT i wymianę w ogóle obiektów w B4A .... eeeeh powiem ci tak - jest TYYYYLE fajnych rzeczy i do omówienia i do zrobienia - że aż strach - Ja ci powiem, że wręcz nie wiem w co ręce włożyć ;) Bo nie dość że do omówienia dużo to i człowiek chciałby mieć troszkę czasu żeby sobie coś popisać - stworzyć .... Bo to taka frajda dla mnie że szok .... No ale .... postaram się też po kolei jeszcze wiele rzeczy omówić w poradnikach. Tyle, że to hmmm jeszcze więcej czasu zjada ;) Skoro jednak postanowiłem, że to moja praca to postaram się jak najlepiej spożytkować ten czas i przygotować jeszcze całą masę poradników .... Byle by właśnie młodzi ludzie później nie narzekali, że z kolei jest ich za dużo ;)

      Usuń
  6. A ten tester udp będzie działał na ATB-ETHERNET ???

    OdpowiedzUsuń
    Odpowiedzi
    1. Pewnie, że może działać - ale trzeba zastosować sobie kod z Bluebooka - w zasadzie to tam jest prawie gotowy kod ;) ... trzeba go tylko troszkę przerobić. Szkoda, że wcześniej nie dałeś sygnału to bym może i na ATB-Ethernet przygotował przykład ;) ....

      Usuń
  7. A nie mógłbyś przygotować jakieś "Post Scriptum" na temat ATB-ETHERNET :-)

    OdpowiedzUsuń
  8. Pytanie troszkę z innej beczki. Mirku zakupiłem kilka modułów ze sklepu Atnel i chciałbym zapytać ,jeśli to nie żadna tajemnica ,jak to robisz że są tak ładnie polutowane? :)
    Chodzi mi o to czy myjesz w myjce PCB? ,a jeśli tak to czy jest szansa na jakiś mały poradnik w tym temacie?

    Ja osobiście używam płynu do czyszczenia obwodów drukowanych PCC ,kontakt chemie. No ale przyznam szczerze ,że gdzieniegdzie pozostają małe ślady topnika.

    Jak Ty to robisz? ;)

    OdpowiedzUsuń
    Odpowiedzi
    1. Większość obecnych modułów, to już moduły produkowane w firmie zewnętrznej, więc sami nie myjemy. Ale jeśli już coś sami myjemy to - w małej myjce ultradźwiękowej z dodatkiem płynu: SWA05L, który można kupić np w tme.pl

      Usuń
  9. Dzięki ,myjkę mam. Może kiedyś się pokuszę ,jak narazie cena płynu lekko zaporowa ,no ale to w końcu 5l ,więc pewnie też na trochę starcza.

    Dzięki wielkie za info ,pozdrawiam.

    OdpowiedzUsuń
    Odpowiedzi
    1. Jest tam ten sam płyn w butelkach 1 L, a jego wydajność jest ogromna bo stosuje się go w bardzo dużym rozcieńczeniu ;)

      Usuń
  10. Witam.
    Mam problem z B4J, a mianowicie z przejściem w tryb komend AT?
    Nie wiem jaki wpisać broadcast, żeby przejść w tryb komend.
    Czy np. 255.255.255.255,48899,HF-A11ASSISTHREAD
    Czy np. 192.168.0.110,48899,HF-A11ASSISTHREAD
    192.168.0.110 - adres statyczny modułu Wi-Fi.

    OdpowiedzUsuń
  11. Czy da się debugować w B4A na telefonie za pomocą przewodu USB? bo nie mam możliwości za pomocą WiFi.

    OdpowiedzUsuń
    Odpowiedzi
    1. Nawet dokładnie nie odpowiem teraz bo ja sobie nie wyobrażam życia i programowania androida bez użycia FiFi ;)

      Usuń
  12. czy idzie zmienić kolor tekstu na przycisku button w B4J

    OdpowiedzUsuń
    Odpowiedzi
    1. Zapraszam na nasze forum, www.forum.atnel.pl gdzie jeden z kolegów pokazał właśnie taką możliwość.

      Usuń
    2. Bylem nie widzę tego nigdzie

      Usuń
    3. No to zadaj pytanie na forum, może ktoś podpowie link albo sposób bo ja sam teraz nie mogę tego linku do wątku odnaleźć

      Usuń
  13. btnStart.Style = "-fx-text-fill: Green;"

    OdpowiedzUsuń
  14. Co trzeba zrobić, aby działało wysyłanie stringów po UDP z poziomu komputera? Mam jakiś problem, że na komputerze odbiera wszystko ładnie, ale nie chce wysłać do żadnego urządzenia(ani na atmega ani telefon). W drugą stronę wszystko ładnie śmiga. Dodam oczywiście że porty są takie same.

    OdpowiedzUsuń
    Odpowiedzi
    1. Zapraszam na nasze przyjazne forum: www.forum.atnel.pl z takimi pytaniami ale też najpierw opisz tam dokładnie problem i sprecyzuj pytanie. Bo na tak zadane pytanie:

      "Co trzeba zrobić?"

      można odpowiedzieć

      "trzeba dobrze program napisać"

      Usuń
    2. No rozumiem Mirku, ale dużo nie trzeba do tego pisać. Bo jest tak jak napisałem. Nie wysyła wgl wiadomości z komputera (Twojego programu UDP Tester napisanego w B4J), a tak to z Androida i procka jest OK. Nie wiem czy to jakiś problem z Javą i/lub Firewallem, ale dziwne jest to, że wgl odbiera wiadomości od pozostałych urządzeń.

      Usuń
    3. Wyłącz w windowsie kociego antywirusa albo zaporę ;)

      Usuń
  15. No niestety to ani nie antywirus ani zapora, ale problem rozwiązany ;) Wynikał z wirtualnej karty sieciowej od VirtualBox'a wystarczyło wyłączyć kartę i wszystko śmiga ;) Dzięki Mirek za pomoc i trzymaj tak dalej ;)

    OdpowiedzUsuń
  16. witam.
    przede wszystkim dziękuję za świetny materiał do nauki. Są jednak pewne niuanse, które nie pozwalają mi bawić się B4J.
    Pana program startuje z exe i działa bez zarzutu, jednak kiedy próbuję go skompilować (np. po zmianie etykiet na guzikach) cały czas B4J wyrzuca mi błędy np.:

    to zaledwie 2 linijki wybrane z około 30

    java.lang.NoClassDefFoundError: javafx/scene/control/Dialog

    java.lang.ExceptionInInitializerError

    proszę o pomoc bo uknąłem

    OdpowiedzUsuń
    Odpowiedzi
    1. poradziłem sobie, najnowsze jdk załatwiło sprawę

      Usuń
    2. Szczerze powiem, że nawet już nie chciałem pisać bo sprawa banalna, w takich przypadkach zawsze się przede wszystkim aktualizuje Javę

      Usuń
  17. Chciałbym spróbować napisać prosty program w B4A lub lepiej na początku w B4J. Powyżej są zamieszczone pliki źródłowe do poradnika video na temat prostego terminala. Jak można te pliki zaimplementować do otwartego na PC programu B4J?

    OdpowiedzUsuń
    Odpowiedzi
    1. No tak, to jest proste. Wystarczy wypakować pliki i kliknąć w plik z rozszerzeniem b4j. Wszystkie spakowane pliki same się załadują do programu w odpowiednie miejsca.

      Usuń