Xojo에서 원격 개발 (Raspberry Pi/웹 앱)

Xojo로 원격 개발
htps : // 코 m / 난부 wks / ms / 4743756186060c3c3d20
그럼 리눅스 머신에서 움직이는 어플리케이션을 Windows PC에서 개발해 원격으로 실행, 디버그했습니다.

이번에는 RaspberryPi에서 실행되는 웹 응용 프로그램을 PC에서 개발하여 원격으로 실행 및 디버깅합니다.
리모트 개발하는 PC는 Windows/Linux 로 검증했습니다만, 아마 Mac도 이케...하즈.

개요



Xojo는 Mac/Windows/Linux/iOS/Web/RaspberryPi 앱을 만들 수 있습니다.
이 중 RaspberryPi 앱에 대해서는 데스크톱 앱/CUI 앱/웹 앱 모두 작성 가능하게 되었습니다.
그러나 IDE는 Mac/Windows/Linux PC에서만 작동합니다.
개발은 다음 중 하나입니다.
  • 대상을 ARM으로 설정하고 바이너리를 RaspberryPi로 전송하고 실행합니다.
  • 원격으로 실행, 디버깅 (원격 개발시)

  • 환경


  • Xojo 2019 r3.1
  • Raspbian GNU/Linux 10 (buster)
  • Raspberry Pi 3 Model B

  • 원격 개발 PC는 다음 두 가지로 테스트하고 있습니다.
  • MS-Windows 10 Pro 64bit
  • 우분투 18.04 AMD64

  • RaspberryPi에서 설정



    Ubuntu의 Xojo 패키지를 추출한 다음 파일을 RaspberryPi에 복사

    .../xojo2019r3.1/Extras/Remote Debugger Console/linux\ARM.zip
    
    $ scp linux\ ARM.zip [email protected]:/home/pi
    

    RaspberryPi로 압축 해제
    pi@raspberrypi:~ $ mkdir xojo
    pi@raspberrypi:~ $ cd xojo
    pi@raspberrypi:~/xojo $ mv ../linux\ ARM.zip .
    pi@raspberrypi:~/xojo $ unzip linux\ ARM.zip 
    Archive:  linux ARM.zip
       creating: RemoteDebuggerConsole/
      inflating: RemoteDebuggerConsole/RemoteDebuggerConsole  
       creating: RemoteDebuggerConsole/RemoteDebuggerConsole Libs/
      inflating: RemoteDebuggerConsole/RemoteDebuggerConsole Libs/libc++.so.1  
      inflating: RemoteDebuggerConsole/RemoteDebuggerConsole Libs/libGZipARM.so  
      inflating: RemoteDebuggerConsole/RemoteDebuggerConsole Libs/libRBShellARM.so  
      inflating: RemoteDebuggerConsole/RemoteDebuggerConsole Libs/XojoConsoleFrameworkARM.so  ls
    
       creating: RemoteDebuggerConsole/RemoteDebuggerConsole Resources/
       creating: RemoteDebuggerConsole/RemoteDebuggerConsole Resources/en.UTF-8/
       creating: RemoteDebuggerConsole/RemoteDebuggerConsole Resources/en.UTF-8/LC_MESSAGES/
      inflating: RemoteDebuggerConsole/RemoteDebuggerConsole Resources/en.UTF-8/LC_MESSAGES/localizable.mo  
    pi@raspberrypi:~/xojo $ ls
     RemoteDebuggerConsole  'linux ARM.zip'
    pi@raspberrypi:~/xojo $ cd RemoteDebuggerConsole/
    pi@raspberrypi:~/xojo/RemoteDebuggerConsole $ ./RemoteDebuggerConsole
    ./RemoteDebuggerConsole: error while loading shared libraries: libunwind.so.8: cannot open shared object file: No such file or directory
    
    

    실행하려고하면 라이브러리가 없다고 나왔으므로 설치
    
    
    pi@raspberrypi:~/xojo/RemoteDebuggerConsole $ sudo apt install libunwind8
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    The following NEW packages will be installed:
      libunwind8
    0 upgraded, 1 newly installed, 0 to remove and 74 not upgraded.
    Need to get 48.3 kB of archives.
    After this operation, 165 kB of additional disk space will be used.
    Get:1 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf libunwind8 armhf 1.2.1-9 [48.3 kB]
    Fetched 48.3 kB in 1s (45.1 kB/s)    
    ・
    ・
    ・
    
    

    실행하면 여러가지 들어오므로 적당하게 대답한다
    pi@raspberrypi:~/xojo/RemoteDebuggerConsole $ ./RemoteDebuggerConsole
    Machine Name: RaspberryPi
    Download Directory: /home/pi/xojo
    192.168.162.100
    192.168.43.13
    IP Address: 192.168.162.100
    Maximum Connections: 10
    Auto Launch: 
    Auto Launch: Yes
    Public: Yes
    

    그러자 기다렸다.
    
    Machine Name: RaspberryPi
    Download Directory: /home/pi/xojo
    IP Address: 192.168.162.100 X
    IP Address: 192.168.43.13
    Port: 44553
    Max Connections: 10
    Launch After Unpack: true
    Public Stub: true
    11:28:24 AM: Binding New StubLocator to port: 44553
    11:28:24 AM: StubLocator New: Connected
    ServerSocket1 is Listening on 192.168.162.100:44553
    

    모함 측에서 버튼 하나만의 웹 앱을 만들어 봅니다.



    개발 PC 측에서 Project-Run Remotely에서 RaspberryPi의 IP 주소를 등록하고 선택하면 RaspberryPi의 콘솔에서 다음과 같이 나와 움직였다.
    
    11:31:25 AM: Connection established
    11:31:25 AM: Stub<-IDE    HELLO, 19.3.1a0, Protocol: 6, Local IP: 192.168.162.100
    11:31:25 AM: Using protocol version 6
    11:31:25 AM: IDE Version supported
    11:31:25 AM: Stub->IDE    OLLEH, 1.9.057, 6, Remote Address: 192.168.162.82
    11:31:25 AM: Stub<-IDE    PLATFORM-REQUEST
    11:31:25 AM: Stub->IDE    PLATFORM-RESPONSE, Linux, ARM, ELF, Linux 4.19.75-v7+ Raspbian GNU/Linux 10 \n \l
    11:31:30 AM: Stub<-IDE    CREATEFILE, DebugMyApplication.tar.gz,  Relative path: True, 
    11:31:30 AM: Stub->IDE    CHALLENGE, 123EBF 192.168.162.100 192.168.162.82
    11:31:30 AM: Waiting for RESPONSE
    11:31:30 AM: Got a RESPONSE packet, about to decrypt
    11:31:30 AM: Stub<-IDE    RESPONSE, 123EC0 192.168.162.82 192.168.162.10011:31:30 AM: Response accepted
    11:31:30 AM: Creating file: /home/pi/xojo/DebugMyApplication.tar.gz
    11:31:30 AM: Created the file list
    11:31:30 AM: Added the file or folder to the file list
    11:31:30 AM: Stub->IDE    FILECREATION, File ID: 0, Status: 0
    11:31:30 AM: Stub<-IDE    FILEINFO, File ID: 0, Size: 1.883502e+7, Compressed: False, Stub Delete: False
    11:31:30 AM: 1024.0 KB/18.0 MB 6%
    11:31:31 AM: 2.0 MB/18.0 MB 11%
    11:31:31 AM: 3.0 MB/18.0 MB 17%
    11:31:31 AM: 4.0 MB/18.0 MB 22%
    11:31:31 AM: 5.0 MB/18.0 MB 28%
    11:31:32 AM: 6.0 MB/18.0 MB 33%
    11:31:32 AM: 7.0 MB/18.0 MB 39%
    11:31:32 AM: 8.0 MB/18.0 MB 45%
    11:31:32 AM: 9.0 MB/18.0 MB 50%
    11:31:33 AM: 10.0 MB/18.0 MB 56%
    11:31:33 AM: 11.0 MB/18.0 MB 61%
    11:31:33 AM: 12.0 MB/18.0 MB 67%
    11:31:33 AM: 13.0 MB/18.0 MB 72%
    11:31:34 AM: 14.0 MB/18.0 MB 78%
    11:31:34 AM: 15.0 MB/18.0 MB 84%
    11:31:34 AM: 16.0 MB/18.0 MB 89%
    11:31:34 AM: 17.0 MB/18.0 MB 95%
    11:31:35 AM: 18.0 MB/18.0 MB 100%
    11:31:35 AM: Stub->IDE    FILEWRITTEN, File ID: 0, Status: 0
    11:31:35 AM: Stub<-IDE    FILELAUNCH, File ID: 0, Launch in Terminal: False, Command line args: 
    11:31:35 AM: Stub->IDE    CHALLENGE, 123EC1 192.168.162.100 192.168.162.82
    11:31:35 AM: Got a RESPONSE packet, about to decrypt
    11:31:35 AM: Stub<-IDE    RESPONSE, 123EC2 192.168.162.82 192.168.162.10011:31:35 AM: Response accepted
    11:31:35 AM: Decompressing DebugMyApplication.tar.gz
    11:31:36 AM: Untarring DebugMyApplication.tar
    11:31:38 AM: Launching DebugMyApplication
    

    적절한 컴퓨터에서 웹 브라우저에서 IP 주소 : 8080을 열면 실행할 수 있음을 알 수 있습니다.



    杞憂?


  • Linux PC를 대상으로 콘솔 버전 디버거를 시작하고 Windows PC에서 원격 디버깅을 시도하면 안됩니다.
  • 이전에 Windows에서 RaspberryPi로 원격 디버깅 할 수 없었습니다. htps://w w. K2-y. 작은 m/?파게_이 d=2748

    어쨌든 걱정이었지만, 시원하게 움직였습니다.

    문제해결



    illegal instruction 나가기

    → Raspberry Pi 2 이상이 아닌 경우 아키텍처 문제
  • 좋은 웹페이지 즐겨찾기