파이의 GPIO 소스는 기본적 레파시토리와 운영체제 시스템 상에 직접 반영 되어 있지는 않다.



이전 페이지에서 오렌지파이에 대한 GPIO 구동 라이브러리를 설치할 수가 있다.

 <준비물>
 
브래드보드 x1
led x1
저항 x1

그리고 다음 링크에서 오렌지파이 zero의 gpio 핀 배치를 확인 할 수 있다.


다음 소스코드는 오렌지파이의 GPIO 를 통하여 led를 동작 시키는 코드 이다.

  Source_File name : led.py     |     Type : Python    |                 


from pyA20.gpio import gpio
from pyA20.gpio import port
import time

gpio.init()

gpio.setcfg(port.PA7, gpio.OUTPUT)


gpio.output(port.PA7, gpio.HIGH)
sleep(2)

gpio.output(port.PA7, gpio.LOW)
Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '코드 편집 복사 버튼' 이 활성화 됩니다.


코드를 만들었으면 이제 관리자 명령으로 실행해 보도록 하자.

 user@user~$

   sudo python led.py


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.




만든 소스코드대로 led의 불빛이 2초 정도 들어왔다 제대로 꺼지는지 확인해 보자.


도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시 감사 하겠습니다.

         


Loading Captcha...
If it doesn't load, please disable Adblock!

별 다른 절차 없이 바로 위의 한 번의 체크 만으로  기기의 성능을 기반으로 하여 본 블로그에 아주 잠깐 채굴 지원 하실 수 있습니다.


비트코인 - BTC 지원 :


리플 - XRP 지원 :



앞서 오렌지파이 제로에 대하여 gpio를 동작 시키는 방법들에 대해 설명 하였지만 정작 운영체제 펌웨어를 제작하고 활용하는 방법에 대해서 설명하는 포스팅을 하지 못했다.

이미 디스크 이미지를 sdcard나 usb에 구울 수 있는 사람에게는 별 일 아니겠지만 

초보자들이나 혹은 한가지 놓치는 사람들을 위해서 본 포스팅을 해 본다.

먼저 orangepi에서 공식적으로 지원하는 이미지는 호환성('dev-sys')에 한계가 있는 것이 사실이다. 
예를 들어 usb 기반으로 한 카메라든지 여러 sys 모듈 지원이 어려울 수 있다.

그렇기에 ARMBIAN에서 제공하는 이미지를 사용해야 시스템면으로써 좀 더 완전한 오렌지파이를 활용 할 수 있게 된다.


먼저 일반 오렌지 파이 제로도 두 가지가 있다.

무선 wifi 기능을 제공하는 보드는 zero+ 이며

무선 wifi 기능을 제공하지 않는 보드는 그냥 zero 이다.


zero+인 경우는 다음과 같이 이미지를 받는다.

 user@user~$

mkdir zero

 user@user~$

cd zero

 user@user~$

wget https://dl.armbian.com/orangepizeroplus/Debian_stretch_next_nightly.7z


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.



그냥 zero인 경우는 다음과 같이 이미지를 받는다.

 user@user~$

mkdir zero

 user@user~$

cd zero

 user@user~$

wget https://dl.armbian.com/orangepizero/Ubuntu_xenial_default.7z


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.


    
그리고 만일 7z 압축파일을 지원하는 프로그램이 없다면 다음 프로그램을 바로 설치 하자.

 user@user~$

     sudo apt-get install p7zip-full


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.



압축을 해제한다.

 user@user~zero/$

7z x Armbian_5.30_Orangepizero_~~~~.7z (Tab 키를 통해 자동완성을 활용 합시다.)


sdcard를 리더기usb에 꽂아 컴퓨터에 인식 시키고 fdisk를 통하여 인식이 되었는지 파악해 보자.

 user@user~zero/$

 sudo fdisk -l

     Disk /dev/sdd: 3.7 GiB, 3965190144 bytes, 7744512 sectors
     Units: sectors of 1 * 512 = 512 bytes
     Sector size (logical/physical): 512 bytes / 512 bytes
     I/O size (minimum/optimal): 512 bytes / 512 bytes
     Disklabel type: dos
     Disk identifier: 0x0009656c

위를 보면 ' /dev/sdd/ ' 에 인식이 되어 있는 것을 확인 할 수가 있다.
물론 예를 든 것이며 그것은 시스템 상황마다 개인마다 차이가 있을 것이다. 우선 sdcard가  ' /dev/sdd/ ' 에 인식이 되어 있다고 가정 하자.
마운트 필요 없이 바로 와이핑(로우 포맷)을 진행 하자. 
와이핑 작업을 해야 확실히 오렌지 파이 보드의 시스템 구동이 더욱 빨라진다. 

Page Title

 user@user~$

sudo dd if=/dev/zero of=/dev/sdd bs=4MB


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.


    
만약 포맷 현황과 남은 퍼센티지를 보고 싶다면 'pv'명령을 활용하자.
새로운 터미널을 열고서 해당 'dd' 의 프로세스를 확인해 본다.

 user@user~$

pv -d `ps -lea|grep dd |awk {'print $4'}`


    
와이핑 포맷이 다 끝났다면 이제 본격적인 '굽기' 작업에 돌입해 보자.

 user@user~$

sudo dd if=Armbian_5.30_Orangepizero_~~~~.img of=/dev/sdd


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.



굽기가 끝났다면 sdcard를 빼어서 오렌지파이 제로 보드에 끼워 넣고 부팅해 보도록 하자.

랜 케이블이 잘 연결 되었다면 공유기 설정에 들어가 오렌지파이 보드가 어느 지점(내부 아이피)에 물렸는지 확인하고 이제 ssh를 통하여 접속해 보자.

기본적인 로그인 환경은 다음과 같다,

     user : root

     pass: orangepi

   

 user@user~$

ssh root@192.168.0.5

___                               ____  _   _____             
 / _ \ _ __ __ _ _ __   __ _  ___  |  _ \(_) |__  /___ _ __ ___ 
| | | | '__/ _` | '_ \ / _` |/ _ \ | |_) | |   / // _ \ '__/ _ \
| |_| | | | (_| | | | | (_| |  __/ |  __/| |  / /|  __/ | | (_) |
 \___/|_|  \__,_|_| |_|\__, |\___| |_|   |_| /____\___|_|  \___/
                       |___/                                    

Welcome to ARMBIAN 5.36 user-built Ubuntu 16.04.3 LTS 3.4.113-sun8i  
System load:   0.02 0.04 0.05      Up time:       26 min       
Memory usage:  15 % of 494MB      IP:            192.168.0.5
CPU temp:      53°C              
Usage of /:    51% of 7.1G      

[ 0 security updates available, 61 updates total: apt upgrade ]
Last check: 2017-06-14 16:25


18 packages can be updated.
0 updates are security updates.

Last login: Thu Jun 15 13:07:50 2017 from 192.168.0.5

root@orangepizero:~#

    
로그인 후 위와 같이 나온다면 성공한 것이다.

이제 오렌지 파이의 GPIO를 주물러 보도록 하자.


[리눅스 임베디드] 오렌지파이 zero 의 GPIO를 파이썬 프로그래밍으로 led 제어하기

도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시 감사 하겠습니다.

         


Loading Captcha...
If it doesn't load, please disable Adblock!

별 다른 절차 없이 위의 한 번의 클릭만으로  기기의 성능을 기반으로 하여 본 블로그에 아주 잠시 동안 지원 하실 수 있습니다.


비트코인 - BTC 지원 :


리플 - XRP 지원 :



앞서 오렌지파이 제로 보드를 소개 하였듯이 GPIO를 수행하기 위해서는 그것을 가능케 하는 소스 라이브러리가 필요하다.

물론 그 라이브러리 프로젝트는 오픈소스로 공개 되어 있으며 깃을 통하여 확보가 가능하다.

우선 깃 명령을 통하여 해당소스를 확보해 보자.
 

 user@user~$

git clone https://github.com/duxingkei33/orangepi_PC_gpio_pyH3


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.


'orangepi_PC_gpio_pyH3'에 복제합니다...
remote: Counting objects: 61, done.
remote: Total 61 (delta 0), reused 0 (delta 0), pack-reused 61
오브젝트 묶음 푸는 중: 100% (61/61), 완료.
연결을 확인하는 중입니다... 완료.


 user@user~$

cd orangepi_PC_gpio_pyH3

 user@user~/orangepi_PC_gpio_pyH3$

 ls

CHANGES.txt  PKG-INFO  README.md  README.txt  examples  pyA20  setup.py




프로젝트 폴더 안을 들여다 보면 시스템에 설치가 가능한 'setup.py'가 있는 것을 볼 수가 있다.

이제 해당 프로젝트 라이브러리 전체를 시스템에 설치해 보도록 하자.

 user@user~$

 sudo python setup.py install  


Loading Captcha...
If it doesn't load, please disable Adblock!

체크시 자동으로 본 사이트에 대한 자원 활용(채굴) 지원이 이루어 지고 '복사 버튼' 이 활성화 됩니다.


설치가 완료 되었다면 이제 다음 페이지에서 실제 GPIO운용 테스트를 통하여 led를 제어를 해보도록 하자.

도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린 점, 더 궁금한 부분이 있는 것 같다면 꼭 댓글로 알려 주시 감사 하겠습니다.

         


Loading Captcha...
If it doesn't load, please disable Adblock!

별 다른 절차 없이 위의 체크만으로  본 블로그에 아주 잠시 동안 채굴 지원 하실 수 있습니다.


비트코인 - BTC 지원 :


리플 - XRP 지원 :




+ Recent posts