그동안 계속해서 실패하던 파이선으로 만든 디지털 시계를 라즈베리파이 부팅이후 자동으로 실행하고자 했던 부분이 마침내 성공했다.  인터넷으로 실행가능하다는 별별 내용을 적용해 보았지만 안되더니 한 블로그에서 본 내용을 적용했더니 바로 적용이 되었으나, 다음 부팅시 로그인을 요구하는 창이 무한반복해서 나타나는 버그가 있었다.

그래서 결국, 쉘 명령어로 부팅할 때, 시작되는 방식으로 변경하게 되었다.

1. 쉘 명령어 라인을 새로 만든다.
    sudo nano run_autostart.sh

2. 다음과 같이 명령어 라인을 입력하고 저장한다.
    #!/bin/bash
    echo "run_autostart.sh"

    sudo python /home/pi/******.py

3. 권한 정보를 변경합니다.
    sudo chmod +x run_autostart.sh

4. 테스트 실행을 해본다. 이상 없으면 다음단계..
    sh run_autostart.sh

5. 실제 부팅할때 실행하는 autostart 파일을 수정합니다.
    sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

6. 마지막 줄에 다음과 같이 입력하고 저장한다.
    lxterminal -e ~/run_autostart.sh

7. reboot 하여 확인한다. 

 

[아래 방식은 실행은 되지만 무한 로그인을 요구하는 버그가 있습니다.]

profile  파일은 라즈베리파일이 부팅될때 반드시 실행되는 파일이란다. 이 파일을 열어서 파이썬 실행을 요청하면 된다.

sudo nano ~/.profile   

.profile 파일의 맨 끝줄에 다음의 내용을 추가하고 저장하면 가능해진다.

#시작과 동시에 python 파일을 실행하기
export PATH=~/.local/bin:%PATH
(sleep 10 && /usr/bin/python /home/pi/*******.py) &

이렇게 저장하고 나온뒤에 

source ~/.profile  을 실행하고 reboot 하면 적용된다.

Posted by 천칭
,

거의 10년가까이 된 스크린 터치가 지원되는 라즈베리파이용 5인치 LCD 모니터가 있다.

잘 사용하지도 않지만 이제는 여러개가 돌아다니는 라즈베리파이3B도 남아돌아서 사용처를 찾기도 어렵다.

이런 상황에서 이 둘을 합쳐 사무실에서 간단한 디지털 시계와 날씨를 표시하는 시계정도로 사용하고자 하였다. 그러나 라즈베리파이의 OS는 공식적으로 저 모니터 해상도를 지원하지 않는다. 간단한 설정으로는 저 해상도를 인식하지 않는다. 특히, 라즈비안의 최근버전인 Bookworm부터는 /boot/config.txt를 수정하는 방식을 제공하지 않는다.

그래서 제조사에서 제공하는 별도의 드라이버를 설치해야 한다.

$sudo rm -rf LCD-show
$git clone https://github.com/goodtft/LCD-show.git
$chmod -R 755 LCD-show
$cd LCD-show/
$sudo ./LCD5-show

Posted by 천칭
,

- 회사 App을 만드는 프로젝트를 진행하면서 궁금해진 Flutter 언어. 안드로이드와 IOS를 동시에 지원하기 때문에 유지보수에 편리함을 가져다 줄 수 있어서 최근 많은 관심을 갖게 된 언어이다.

- 아직은 국내에 활성화 되지 않아서 Flutter 개발자가 많지 않아 회사 App은 기존 방식으로 개발 하고 있지만, 안드로이드와 IOS 개발자를 동시에 투입해야 하는 것에 비해 Flutter개발자만 있어도 두 OS를 동시에 지원하는 비용이 더 저렴하니 머지않아 이런 방식으로 바뀌지 않을까 생각해 본다.

-Flutter 책과 동영상 강의로 공부를 시작했지만 적지 않은 나이와 회사 사무를 보면서 별도의 공부를 진행한다는 것은 쉽지 않은 과정이다. 조금씩 알아가는 재미와 코딩을 따라가는 재미가 있어서 시작했는데, 책을 덮고, 동영상이 끝나면 정리가 되지 않은 것 같아서 이곳에 필요한 기능에 대한 설명과 그 기능을 위한 환경설정 부분을 중접으로 이곳에 정리를 시작해 본다.

그 첫번째로 웹화면을 제공하는 블로그나 사이트 화면을 App으로 서비스 가능하게 하는 WebView 기능에 대해서 정리하고자 한다. 우리 회사는 지하주차장 이용시 할인 등록을 웹화면 서비스로 제공하고 있다. 이 화면을 App으로 감싸서 폰에서 이용하면 좋을 것 같아서 이 기능을 사용하기 위한 환경설정 등을 이곳에 기록해 두려고 한다. 

 

1. WebView 패키지 추가하기

-pub.dev 사이트에 접속하여 webview_flutter 패키지를 찾는다. 원하는 버전의 패키지를 찾아서 패키지 명 옆에 있는 복사 아이콘을 클릭한다.

-안드로이드 프로젝트 화면으로 돌아와서 web_view프로젝트 아래의 test 폴더 아래 pubspec.yaml 파일을 오픈한다.

- 파일 중간 아래쯤에 dependencies 부분을 찾아 아래와 같이 수정해야 한다.

dependencies:
    flutter:
        sdk: flutter

    cupertino_icons: ^1.0.2   라고 되어 있는 라인을 찾아 그 다음줄에 복사한 webview_flutter 버전을 붙여넣기 한다.
    webview_flutter: ^3.0.0  (<-- 버전은 배우고 있는 버전을 추천, 최신버전은 설정이 추가적으로 필요할 수 있음)

 

- 그리고 한가지 더 수정이 필요한데, android/app/build.gradle 파일을 열어 속에 있는 minSdkVersion을 20으로 수정해야 한다.

android {
    defaultConfig {
        minSdkVersion 20   // 이부분을 수정한다.
    }
}

 

Posted by 천칭
,