Difference between revisions of "WiringPi-Python for RK3399"
(updated by API) |
(updated by API) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[WiringPi-Python for RK3399/zh|查看中文]] | [[WiringPi-Python for RK3399/zh|查看中文]] | ||
− | + | ==Introduction to WiringPi for Python== | |
+ | The wiringPi for Python utility is an implementation of wiringPi in Python. It can be used in Python programs to access hardware such as GPIO/I2C/SPI/UART/PWM etc. It is a popular and powerful utility.<br /> | ||
+ | FriendlyELEC has ported the wiringPi for Python utility for all existing FriendlyELEC-RK3399 based boards: [[NanoPi M4]], [[NanoPi NEO4]] and [[NanoPC-T4]].<br /> | ||
+ | <br /> | ||
+ | Current version: 2.44<br /> | ||
+ | WiringPi's home page: http://wiringpi.com<br /> | ||
+ | <br /> | ||
+ | There is a C version too and here is the reference link: [[WiringPi for RK3399]]<br /> | ||
+ | |||
+ | ==Supported OS== | ||
+ | * FriendlyCore | ||
+ | * FriendlyDesktop | ||
+ | |||
+ | ==Supported Boards== | ||
+ | * NanoPC T4 | ||
+ | * NanoPi M4/M4v2/M4B | ||
+ | * NanoPi NEO4 | ||
+ | |||
+ | ==Install WiringPi for Python on T4/M4/NEO4== | ||
+ | Log in a board(T4/M4/NEO4) via SSH and run the following commands:<br /> | ||
+ | ===Install WiringPi in Python3=== | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | apt install git python-dev python-setuptools python3-dev python3-setuptools swig | ||
+ | wget https://pypi.io/packages/source/s/setuptools/setuptools-33.1.1.zip | ||
+ | unzip setuptools-33.1.1.zip | ||
+ | cd setuptools-33.1.1 | ||
+ | python3 setup.py install | ||
+ | wget http://112.124.9.243/wiringpi/rk3399/wiringpi-2.44.4-py3.6-linux-aarch64.egg | ||
+ | easy_install wiringpi-2.44.4-py3.6-linux-aarch64.egg | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ===Install WiringPi in Python2=== | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | wget https://pypi.io/packages/source/s/setuptools/setuptools-33.1.1.zip | ||
+ | unzip setuptools-33.1.1.zip | ||
+ | cd setuptools-33.1.1 | ||
+ | python2 setup.py install | ||
+ | wget http://112.124.9.243/wiringpi/rk3399/wiringpi-2.44.4-py2.7-linux-aarch64.egg | ||
+ | easy_install-2.7 wiringpi-2.44.4-py2.7-linux-aarch64.egg | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==Code Samples Using wiringPi for Python== | ||
+ | Connect a [[Matrix - LED]] module to your board and make sure the hardware setting is as follows:<br /> | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | |Matrix-LED || T4/M4/NEO4 | ||
+ | |- | ||
+ | |S || Pin7 | ||
+ | |- | ||
+ | |V || Pin4 | ||
+ | |- | ||
+ | |G || Pin6 | ||
+ | |} | ||
+ | |||
+ | Here is a code sample showing how to make an LED blink using wiringPi,<br /> | ||
+ | In the code sample '7' stands for 'Pin7':<br /> | ||
+ | |||
+ | ===Code Sample in Python=== | ||
+ | Create a source file in Python: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | vi led.py | ||
+ | </syntaxhighlight> | ||
+ | Type the following lines: | ||
+ | <syntaxhighlight lang="python"> | ||
+ | import wiringpi as wpi | ||
+ | import time | ||
+ | |||
+ | wpi.wiringPiSetup() | ||
+ | wpi.pinMode(7, 1) | ||
+ | |||
+ | while True: | ||
+ | wpi.digitalWrite(7, 1) | ||
+ | time.sleep(1) | ||
+ | wpi.digitalWrite(7, 0) | ||
+ | time.sleep(1) | ||
+ | </syntaxhighlight> | ||
+ | Run: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | python3 led.py | ||
+ | </syntaxhighlight> | ||
+ | If everything is correct you will observe that the LED blinks. Note: if you use Python2 instead of Python3 make changes in the above commands accordingly. | ||
+ | |||
+ | ===Code Sample in C=== | ||
+ | Here is the reference link: [[WiringPi for RK3399/zh]] | ||
+ | |||
+ | ==Update Log== | ||
+ | ===November-14-2018=== | ||
+ | * Released English Version |
Latest revision as of 06:49, 6 September 2023
Contents
1 Introduction to WiringPi for Python
The wiringPi for Python utility is an implementation of wiringPi in Python. It can be used in Python programs to access hardware such as GPIO/I2C/SPI/UART/PWM etc. It is a popular and powerful utility.
FriendlyELEC has ported the wiringPi for Python utility for all existing FriendlyELEC-RK3399 based boards: NanoPi M4, NanoPi NEO4 and NanoPC-T4.
Current version: 2.44
WiringPi's home page: http://wiringpi.com
There is a C version too and here is the reference link: WiringPi for RK3399
2 Supported OS
- FriendlyCore
- FriendlyDesktop
3 Supported Boards
- NanoPC T4
- NanoPi M4/M4v2/M4B
- NanoPi NEO4
4 Install WiringPi for Python on T4/M4/NEO4
Log in a board(T4/M4/NEO4) via SSH and run the following commands:
4.1 Install WiringPi in Python3
apt install git python-dev python-setuptools python3-dev python3-setuptools swig wget https://pypi.io/packages/source/s/setuptools/setuptools-33.1.1.zip unzip setuptools-33.1.1.zip cd setuptools-33.1.1 python3 setup.py install wget http://112.124.9.243/wiringpi/rk3399/wiringpi-2.44.4-py3.6-linux-aarch64.egg easy_install wiringpi-2.44.4-py3.6-linux-aarch64.egg
4.2 Install WiringPi in Python2
wget https://pypi.io/packages/source/s/setuptools/setuptools-33.1.1.zip unzip setuptools-33.1.1.zip cd setuptools-33.1.1 python2 setup.py install wget http://112.124.9.243/wiringpi/rk3399/wiringpi-2.44.4-py2.7-linux-aarch64.egg easy_install-2.7 wiringpi-2.44.4-py2.7-linux-aarch64.egg
5 Code Samples Using wiringPi for Python
Connect a Matrix - LED module to your board and make sure the hardware setting is as follows:
Matrix-LED | T4/M4/NEO4 |
S | Pin7 |
V | Pin4 |
G | Pin6 |
Here is a code sample showing how to make an LED blink using wiringPi,
In the code sample '7' stands for 'Pin7':
5.1 Code Sample in Python
Create a source file in Python:
vi led.py
Type the following lines:
import wiringpi as wpi import time wpi.wiringPiSetup() wpi.pinMode(7, 1) while True: wpi.digitalWrite(7, 1) time.sleep(1) wpi.digitalWrite(7, 0) time.sleep(1)
Run:
python3 led.py
If everything is correct you will observe that the LED blinks. Note: if you use Python2 instead of Python3 make changes in the above commands accordingly.
5.2 Code Sample in C
Here is the reference link: WiringPi for RK3399/zh
6 Update Log
6.1 November-14-2018
- Released English Version