Xojo에서 원격 개발 (Raspberry Pi/웹 앱)
7142 단어 RaspberryPi웹 애플리케이션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에서만 작동합니다.
개발은 다음 중 하나입니다.
환경
원격 개발 PC는 다음 두 가지로 테스트하고 있습니다.
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을 열면 실행할 수 있음을 알 수 있습니다.
杞憂?
$ scp linux\ ARM.zip [email protected]:/home/pi
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
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
어쨌든 걱정이었지만, 시원하게 움직였습니다.
문제해결
illegal instruction 나가기
→ Raspberry Pi 2 이상이 아닌 경우 아키텍처 문제
Reference
이 문제에 관하여(Xojo에서 원격 개발 (Raspberry Pi/웹 앱)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nanbuwks/items/9fc2088324e153535d53텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)