반응형

 

 

라즈베리파이를 이용한 python 소켓 프로그램.

Qt5를 이용하여 소켓 프로그램 구현.

 

소스는 아래 링크를 참고하였다.

파이썬 예제 (채팅 클라이언트)

https://oceancoding.blogspot.com/2019/05/blog-post_23.html

 

파이썬 예제 (채팅 클라이언트)

코딩교육을 전문으로 하는 부산 강서구 명지동에 위치한 학원입니다.

oceancoding.blogspot.com

파이썬 예제 (채팅 서버)

https://oceancoding.blogspot.com/2019/05/blog-post_21.html

 

파이썬 예제 (채팅 서버)

코딩교육을 전문으로 하는 부산 강서구 명지동에 위치한 학원입니다.

oceancoding.blogspot.com

 

PyQt5를 사용할 것이므로 PyQt5를 설치한다.

$ sudo apt-get install python3-pyqt5

 

소켓 라이브러리를 사용하므로 socket 을 설치.

$ sudo apt-get install socket

 

 

Server 프로그램, Client 프로그램을 실행해서 아래와 같이 테스트.

Local 에서 테스트 하므로 IP는 127.0.0.1 을 사용했다.

 

Client에서 Server로 메시지를 보내고 보낸 메시지가 Server에서 echo 되어 client로 되돌아 온다.

 

PC에서 사용하는 코드가 라즈베리파이에서도 잘 동작한다.

참고로 라즈베리파이3 에서 테스트 하였다.

 

 

 

728x90
반응형
반응형

기능 구현에만 급급하여 코드만 짜다보니 정리가 되지 않아 정리겸 블로깅~

오늘 구현한 폴더에서 특정 확장자만 리스트에 표시하는 기능.

 

 

Path 버튼을 눌러 폴더선택 다이얼로그를 열고,

폴더를 선택하면 그 폴더 내에서 .rcp 라는 파일만 리스트 위젯에 등록한다.

 

아래 코드는 현재 위치의 \Recipe 내에 있는 파일들의 리스트를 위젯에 등록하는 코드이다.

import os
files = os.listdir('.\Recipe')
for file in files:
	self.listWidgetModel.addItem(file)

실행해 보니 파일 뿐만 아니라 폴더까지도 등록되었다. ^^

 

여기에 추가적인 코드를 더하여 기능을 완성한다.

def pushButtonPath_clicked(self) :
	folder = QFileDialog.getExistingDirectory(self, "Select Directory")
	if folder != '' :
		self.lineEditPath.setText(folder)
		self.listWidgetModel.clear()
		files = os.listdir(folder)
		fileExt = ".rcp"
		for file in files :
			if file.endswith(fileExt) :
				self.listWidgetModel.addItem(file)
	else :
		QMessageBox.about(self, "Error", "Not selected!")

 

폴더를 선택하지 않고 취소를 하면 메세지를 띄운다.

폴더를 선택했으면 에디트 박스에 폴더 경로를 표시하고,

현재 리스트의 내용을 지우고,

'.rcp' 인 파일만 리스트에 추가한다.

 

PyQt5로 다시 시작 (1월 20일) 한지 3주째... 

조금씩 되어가지만 아직 한참 멀었다.

기초를 다지지 않고 막 나가는 코드... ㅡ.ㅡ;

 

 

 

728x90
반응형
반응형

wxPython 설치

 

Python 으로 UI를 구현하고자 검색하다가 wxPython 이 평가가 좋아 보여서 시도.

웹에 나와 있는 소스코드를 따라하고 실행하니 역시 동작하지 않는다.  wxPyton 을 설치해야 하는군...

 

https://wxpython.org/pages/downloads/

 

wxPython Downloads

Current Release Starting with wxPython 4.0 (the first Phoenix release) the wxPython source archive and, for supported platforms, wxPython binary wheels are available from the Python Package Index (PyP

wxpython.org

 

여기에 나와있는데로 실행해 보았다.

 

 

에러만 가득... ㅡ.ㅡ;

 

 

pip upgrade도 해서 시도해 보았지만 여전히 동일한 에러... ㅡ.ㅡ;

 

아래 링크에서 파일을 다운로드 받아서 설치 시도해 보았다.

https://wxpython.org/Phoenix/snapshot-builds/

 

Index of /Phoenix/snapshot-builds

 

wxpython.org

 

블로그 검색하여 win32 를 사용해야 한다는 글을 보고 win32를 다운로드 하여 설치 시도.

여전히 에러가 발생한다. ㅠ.ㅠ

 

설치된 파이썬 버전 3.10 과 wxPython 버전 3.9 (cp39) 의 차이인 것 같다. 

그런데 3.10 은 win32가 없네... ㅡ.ㅡ;

win_amd64는 안 될까?

 

설치 파일을 보니 python 3.10 amd64 를 설치한 것이였다. 
그래서 win_amd64로 설치.

 

 

설치가 되었다!!! ㅋㅋㅋ

 

설치된 것 확인.

 

 

설치 완료. 

이제 코딩을 해 보자~~~

 

 

 

 

 

728x90
반응형
반응형

i.Mx8 Android compile 네 번째.

 

Source download 후 마지막으로 아래의 설정을 한다.

 

export MY_ANDROID=`pwd`/android_build

 

안드로이드 이미지를 빌드 하기 위해 문서의 3.2 Building Android images 부분을 참고하여 따라한다.

 

아래의 링크 사이트에서 툴체인을 다운로드 받는다.

 

 

gcc-arm-8.3-2019.03-x86_64-aarch64-elf.tar.xz (71.7MB)

>> bear-metal prgram을 컴파일하기 위한 툴

gcc-arm-8.3-2019.03-x86_64-arm-eabi.tar.xz (384.3MB)

를 다운로드 한다.

 

두 파일을 루트의 /opt/ 에 압축을 푼다.

 

 

gcc-arm-8.3-2019.03-x86_64-aarch64-elf.tar.xz

gcc-arm-8.3-2019.03-x86_64-arm-eabi.tar.xz

위의 두 파일을 사용하기 때문에 아래의 내용을 export 한다.

 

export AARCH64_GCC_CROSS_COMPILE=/opt/gcc-arm-8.3-2019.03-x86_64-aarch64-elf/bin/aarch64-elf-
export AARCH32_GCC_CROSS_COMPILE=/opt/gcc-arm-8.3-2019.03-x86_64-arm-eabi/bin/arm-eabi-

 

참고) 다음의 컴파일 작업을 하기 전에 컴파일 에러가 났었던 항목 정리.

 

error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

위와 같은 에러가 발생하면

sudo apt install libncurses5

위 패키지를 설치한다.

필수 패키지 설치 중 설치되는 패키지 인데 일시적인 문제로 설치되지 않아서 위 에러가 발생했던 것 같다.

한 시간 이상 컴파일 했는데 에러가 나서 당황스러웠다.

 

linux-headers-generic 문제

컴파일 도중 이와 관련된 문제가 있었던 것 같다. 해당 내용을 캡춰한 기록이 있으니...

이 때는 WiFi dongle 문제로 네트워크에 연결이 안 되어 다른 PC에서 복사하여 설치하였다.

 

위 이미지의 3개 파일을

"/var/cache/apt/archives" 에 복사하고 아래 명령으로 설치하였다.

apt-get install linux-headers-generic

 

 

bpttool 부분에서 발생한 SyntaxError: invalid syntax 에러.

bpttool 소스의 주석을 보면 python 2.6 이상 버전은 지원한다고 되어 있다.
python --version

명령으로 확인해 보니. 현재 3.8.5 버전이였다.
혹시 버전 호환성 문제인가 싶어 구버전 python을 설치했다.

sudo apt install python2.7

캡춰한 이미지에서는 python이 인식되지 않고 있지만 우분투 18.04 를 처음 설치한 후 python --version으로 3.8.5 버전이 확인된 상태에서도 bpttool 에서 syntax error가 발생했었다.

 

그래서 아래와 같이 python의 위치를 확인하고 python을 2.7 버전으로 설정하였다.

 

whereis python
sudo ln -s /usr/bin/python2.7 /usr/bin/python
python --version

 

여기까지 하면 더 이상의 컴파일 에러가 발생하지 않고 정상적으로 빌드 되었다.

728x90
반응형

'공부 > i.MX8' 카테고리의 다른 글

201219 i.MX8 Android build 압축  (0) 2020.12.29
201206 i.MX8 Android compile (5)  (0) 2020.12.19
201205 i.MX8 Android compile (3)  (0) 2020.12.19
201205 i.MX8 Android compile (2)  (0) 2020.12.19
201205 i.MX8 Android compile (1)  (0) 2020.12.18
반응형

Python 개발 환경 구축.

MongoDB를 위한 Robo 3T 설치. (MongoDB GUI)

아래 링크된 사이트에서 프로그램을 다운받아서 설치한다.

https://robomongo.org/

 

Robo 3T | Free, open-source MongoDB GUI (formerly Robomongo)

Read by Dmitry Schetnikovich

robomongo.org

 

 

Download Robo 3T only 선택.

다시 오른쪽의 Download Robo 3T 선택.

Download installer for Windows 64-bit 선택.

다운로드한 설치파일을 실행하여 설치한다.

별도의 설정 필요 없이. "다음" 을 계속하여 설치.

설치 후 실행한다.

MongoDB connection을 설정한다.

Create를 선택.

위와 같이 설정한다. LOCAL에서 할 것이므로...

이름은 LOCAL 로 하고

Address는 localhost

Port는 기본으로 설정된 27017 을 그대로 한 다음 설정을 Save.

Save한 설정을 Connect.

MongoDB server가 실행되지 않으면 위와 같이 에러가 발생한다.

정상적으로 연결되면 위와 같은 상태가 된다.

728x90
반응형

'공부 > Python' 카테고리의 다른 글

220112 wxPython 설치  (0) 2022.01.13
201007 남박사 강좌 쥬피터 노트북 사용법  (0) 2020.10.07
200816 MongoDB 설치  (0) 2020.09.12
200816 MongoDB를 위한 Robo 3T 설치  (0) 2020.09.01
200816 MongoDB 설치  (0) 2020.08.31
반응형

Python 개발 환경 구축.

MongoDB를 위한 Robo 3T 설치. (MongoDB GUI)

아래 링크된 사이트에서 프로그램을 다운받아서 설치한다.

https://robomongo.org/

 

Robo 3T | Free, open-source MongoDB GUI (formerly Robomongo)

Read by Dmitry Schetnikovich

robomongo.org

 

Download Robo 3T only 선택.

다시 오른쪽의 Download Robo 3T 선택.

Download installer for Windows 64-bit 선택.

다운로드한 설치파일을 실행하여 설치한다.

별도의 설정 필요 없이. "다음" 을 계속하여 설치.

설치 후 실행한다.

MongoDB connection을 설정한다.

Create를 선택.

위와 같이 설정한다. LOCAL에서 할 것이므로...

이름은 LOCAL 로 하고

Address는 localhost

Port는 기본으로 설정된 27017 을 그대로 한 다음 설정을 Save.

Save한 설정을 Connect.

MongoDB server가 실행되지 않으면 위와 같이 에러가 발생한다.

정상적으로 연결되면 위와 같은 상태가 된다.

728x90
반응형

'공부 > Python' 카테고리의 다른 글

220112 wxPython 설치  (0) 2022.01.13
201007 남박사 강좌 쥬피터 노트북 사용법  (0) 2020.10.07
200816 MongoDB를 위한 Robo 3T 설치  (0) 2020.09.16
200816 MongoDB 설치  (0) 2020.09.12
200816 MongoDB 설치  (0) 2020.08.31

+ Recent posts