Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[Visual Basic] Aplikacja napisana na PDA z Window Mobile

scal12 27 Feb 2010 10:09 2957 9
  • #1
    scal12
    Level 19  
    Witam wszystkich, Panowie mam dwa pytania?
    Może macie w swoich zbiorach jakieś proste aplikacje do obsługi RS232 w palmtopach na systemie windows mobile.I drugie pytanie próbuje za pomocą eMbedded Visual Basic 3.0 napisać prostą aplikację typu forma i jeden przycisk ,który wyśle coś na Rs232,tylko nie wiem jak skompilować program do postaci wykonywalnej na palmtopie, gdy użyje polecenia "make projekt vb" to zapiszę program na dysku pc, ale po przeniesieniu go na palmtopa nie działa.
    Palmtopa chcę wykorzystać do obsługi kilku urządzeń w domu odczyt temperatury z Ds 1820, sterowanie oświetleniem,ceny palmtopów są niskie 200zł pozostaje tylko kwestia oprogramowania
    Za jakąkolwiek pomoc z góry dziękuję.
    Poprawiłem tytuł. - arnoldziq
  • Helpful post
    #2
    alien1983
    Level 13  
    Najlepiej pod [VB 2008] (.net)
    Cokolwiek programować, ja mam programik na palmtopie hp napisany w tym środowisku, sa 2 formy, potrafi zmierzyc intensywnosc swiatła jak narazie, oraz sprawdzic stan baterii / praca na baterii sterowac podswietlieniem palmtopa , łączy się z arduino przez wifi, drugi program który napisalem na acera n311 to programik do sterowania 8 przekaźnikami z płytki realyboard za pomocą usb:) I jak narazie wszystko działa wiec te środowisko jest całkiem całkiem jak na początek programowania na pda.

    Dodano po 2 [minuty]:

    No i na [VB 2008] jak skompilujesz program to działa normalnie na kompie i paltopie czyba że użyjesz np. przeźroczystości itp to nie uruchomi się na palmtopie . itp.
  • #3
    arnoldziq
    Moderator of Programming
    alien1983 wrote:
    No i na [VB 2008] jak skąpilujesz program to działa normalnie na kompie i paltopie czyba że użyjesz np. przeźroczystości itp to nie uruchomi się na palmtopie . itp.


    Posiada kolega program który wykonuje się równocześnie na PC/Windows i na PDA , bez potrzeby re-kompilacji?
  • #4
    alien1983
    Level 13  
    Muszę Ciebie zdziwić ale tak :) sam byłem zdziwiony że to działa kompilacja jest pod pda, a działa na lapku i pda oczywiscie tu i tu zainstalowane są odpowiednie bilblioteki .net cf
  • #5
    scal12
    Level 19  
    Dzięki za odpowiedz.Czy środowisko VB net wymaga dodatkowych bibliotek lub dodatków aby móc pisać programy na palmtopy? Ja do tej pory pisałem małe programiki w visual basic 6.0, ale aplikacje nie działają na urządzeniach z windows ce, ściągnąłem Microsoft eMbedded Tools i też narazie porażka. Jeszcze jedno pytanie, czy kolega mógłby się podzielić swoim programem do sterowania tymi przekaźnikami za pomocą usb ?
    A tak nawiasem mówiąc szkoda, że mało jest aplikacji w necie na temat wykorzystania rs232 lub usb w palmtopach, bo obecnie za 200zł można kupić fajnego palmtopa i mieć wyświetlacz dotykowy i całą resztę do zbudowania fajnego sterownika
    Jeszcze raz dzięki za pomoc
  • #6
    alien1983
    Level 13  
    A masz już te [VB 2008] ? Jak już bedziesz miał to napisz jakis prosty program uruchom na pda i powiedz czy ci w ogole cos tam działa na pda jak tak to poszukam ten program .:P Albo wklej kod sam go uruchomie u siebie:) Bo na gotowcach nigdy sie nie nauczysz pisac na pda bo poprostu mało ludzi sie w to bawi i mało jest takich gotowych programów...

    Poniżej filimik z pracy tego programu ... (to jest ta wersja do sterowania realyboard za pomocą acer n311)

    Link
  • #7
    scal12
    Level 19  
    Właśnie coś takiego jak podałeś w linku na początek bym chciał wykonać, czy visual studio 2008 można program skompilować do takiej postaci, aby plik przenieść z PC na kartę pamięci i go odpalić z karty w urządzeniu? Jak coś wykombinuje to moje wypociny napewno wrzucę na forum :)
  • #8
    alien1983
    Level 13  
    Tak ale musisz zainstlowac compact net framework 3.5 na pda (czyli podpinasz pda do kompa i instalujesz wczesniej sciagniete biblioteki) Ale napierw zainstaluj [VB 2008] ja to akurat robilem na viscie nie wiem czy na innych windowsach nie ma jakich dodatkowych problemów z tym .
  • #9
    scal12
    Level 19  
    No właśnie upomina się o frameworka, ale już jakieś małe postępy są jak na początek:) dzięki narazie za pomoc.

    Dodano po 2 [godziny] 26 [minuty]:

    Pierwszy program na palmtopa mam już za sobą :) forma+przycisk,teraz pytanie następne jak za pomocą kontrolki serialport wysłac dane na rs232 czy tak samo jak visual basicu 6.0 :
    Private Sub Form_Load()
    MSComm1.CommPort = 1
    MSComm1.Settings = "19200,N,8,1"
    Debug.Print "----------------"
    MSComm1.RThreshold = 1
    MSComm1.PortOpen = True
    End Sub
    ------------------------------------------
    panelgłówny.MSComm1.Output = Chr$(34)

    -----------------------------------------------
    I na rs 232 leciało sobie 34
    a jak to wykonać visual studio?
  • #10
    alien1983
    Level 13  
    Musisz sobie wybrac to co potrzebujesz tu jest tego troge wiecej do realyboard obowiązkowo jest jeszcze crc obliczne ponizej czesc kodu z mojego programu:
    Private Sub CRC8(ByVal X As Byte)
            Static Table() As Byte = {0, 94, 188, 226, 97, 63, 221, 131, 194, 156, 126, 32, 163, 253, 31, 65, 157, 195, 33, 127, 252, 162, 64, 30, 95, 1, 227, 189, 62, 96, 130, 220, 35, 125, 159, 193, 66, 28, 254, 160, 225, 191, 93, 3, 128, 222, 60, 98, 190, 224, 2, 92, 223, 129, 99, 61, 124, 34, 192, 158, 29, 67, 161, 255, 70, 24, 250, 164, 39, 121, 155, 197, 132, 218, 56, 102, 229, 187, 89, 7, 219, 133, 103, 57, 186, 228, 6, 88, 25, 71, 165, 251, 120, 38, 196, 154, 101, 59, 217, 135, 4, 90, 184, 230, 167, 249, 27, 69, 198, 152, 122, 36, 248, 166, 68, 26, 153, 199, 37, 123, 58, 100, 134, 216, 91, 5, 231, 185, 140, 210, 48, 110, 237, 179, 81, 15, 78, 16, 242, 172, 47, 113, 147, 205, 17, 79, 173, 243, 112, 46, 204, 146, 211, 141, 111, 49, 178, 236, 14, 80, 175, 241, 19, 77, 206, 144, 114, 44, 109, 51, 209, 143, 12, 82, 176, 238, 50, 108, 142, 208, 83, 13, 239, 177, 240, 174, 76, 18, 145, 207, 45, 115, 202, 148, 118, 40, 171, 245, 23, 73, 8, 86, 180, 234, 105, 55, 213, 139, 87, 9, 235, 181, 54, 104, 138, 212, 149, 203, 41, 119, 244, 170, 72, 22, 233, 183, 85, 11, 136, 214, 52, 106, 43, 117, 151, 201, 74, 20, 246, 168, 116, 42, 200, 150, 21, 75, 169, 247, 182, 232, 10, 84, 215, 137, 107, 53}
            CRC = Table(CRC Xor X)
        End Sub
    
        Private Sub WriteByte(ByVal bt1 As Byte, ByVal bt2 As Byte, ByVal bt3 As Byte, ByVal bt4 As Byte)
            Dim ar1(1) As Byte
            Dim ar2(1) As Byte
            Dim ar3(1) As Byte
            Dim ar4(1) As Byte
            Dim ar5(1) As Byte
            ar1(0) = bt1
            ar2(0) = bt2
            ar3(0) = bt3
            ar4(0) = bt4
            CRC = &H0
            CRC8(bt2)
            CRC8(bt3)
            CRC8(bt4)
            ar5(0) = CRC
            SerialPort1.Open()
            SerialPort1.Write(ar1, 0, 1)
            SerialPort1.Write(ar2, 0, 1)
            SerialPort1.Write(ar3, 0, 1)
            SerialPort1.Write(ar4, 0, 1)
            SerialPort1.Write(ar5, 0, 1)
            SerialPort1.Close()
        End Sub
    
    Private Sub PictureBox2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox2.Click
            If Button_1 = False Then
                WriteByte(&H55, &H1, &H4F, &H0)
                'PictureBox2.BackColor = Color.Transparent
                PictureBox2.Image = btn_1_on_100x70
                Button_1 = True
                'Button3.Text.Contains(Button_1)
            Else
                WriteByte(&H55, &H1, &H46, &H0)
                PictureBox2.Image = btn_1_off_100x70
                Button_1 = False
                'Button3.Text.Contains(Button_1)
            End If
        End Sub
    


    Dodano po 4 [minuty]:

    O ile się nie mysle jedyną wadą tego kodu jest to że ramke wysyła w ten sposób:
    >bajt1
    >bajt2
    >bajt3
    >bajt4
    >bajt5

    zamiast >bajt1 bajt2 bajt3 bajt4 bajt5

    Co widac na podgladzie portu com, ale nie jestem teraz pewnien bo pisałem go jakies 6 miesiecy temu.