OrangePi 另類玩法

OrangePi 另類玩法

OrangePi 除了可以用來當 Linux Server , Media Player , 懷舊遊戲機之外 ….. !

還可以用 python / C 寫一些程式用來控制 OrangePi 的 GPIO , 類似單片機 MCU

今次我分享自己用 python 寫的小程式 , 用 GPIO 來控制 8X8 LED 點陣光亮 ,把當前的時間, 星期用二進制方式顯示出來

例如 : 時間 16:35:42 我們用八組 2 進制來顯示

小時 16 , 分開十位及個位 即是1 &6 十位 1 二進是 0001個位 6 二進是0110
分鐘 35 , 分開十位及個位 即是3 &5 十位 1 二進是 0011個位 5 二進是0101
秒 49 , 分開十位及個位 即是 4& 9 十位 1二進是 0100個位 9 二進是 1001
星期 3 , 個位即是 3 個位3 二進是 0011

我用4 行代表二進制的4個位 , 用 7 列分別代表 [時(2列) 分(2列) 秒(2列) 星期(1列)]

大家可以看看以下的圖片, H2 及 H3 CPU GPIO 分佈圖,
我替供的程式碼是以 H3 GPIO 寫, 如果用 H2 CPU 的朋友要自己再更改 PORT 對應了

CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90

再來大家了解一下 8X8 LED 點陣 , 我用的是 1088BS 共陽點陣

大家可能會發現上圖和下圖描述的 “行” 及 “列” 有所不同 ? 上圖是我使用麵包條所以1088BS 插腳是由左至右方式插 , 下圖插腳是由下至上方式插 , 整塊1088BS 轉了90度 , “行” “列” 會互換了 , 如果你們是左右就參考上圖 , 上下的就參考下圖了 .

上圖是 “行””R” 為接地 , “列””C” 為正極 , 最好在正極接上一個1k電阻保護LED , 那麼下圖就是 “行””R” 為正極了 , “列””C” 接地

現在 OrangePi 要安裝 GPIO 資料庫 , 我用這個 pyH3 Python Library
https://www.instructables.com/id/Orange-Pi-One-Python-GPIO-basic/

還有很多 Library 用的 , 其他參考 !
https://pypi.org/project/OrangePi.GPIO/

當然引用時有不同的呼叫方法 !

以下是我寫的程序 , 不是寫得好好, 應該可以用 CALL FUNCTION 的方式去處理十個及個位轉二進制的 !
以後再修改一下
下載程式碼

稍為改良用了 call function 的程式碼

下載程式碼

如果把 FILE 改為可執行檔

chmod +x bin2clock.py

./bin2clock.py

應該會發現如下圖 : 顯示時間是 14點15分43秒 星期五

顯示時間是 14點16分00秒 星期五

你們看見有7個1K電阻, 因為正極要拉一個電阻才能保護 LED 燈, 你們看見我寫了
1248 那一列是我弄燒了那列 LED 所以星期用了第八列做 , 同樣第四行都是燒了 所以跳過了

其餘那4個沒有電阻用釘書釘連接是陰極所以不用電阻 !

OrangePi 當懷舊遊戲機

OrangePi 當懷舊遊戲機

先下載 OS 影像檔 URL http://www.retrorangepi.org/
找你自己所買的 OrangePi 型號

之後要下載寫入軟件
用來把 OS IMAGE 寫入 SD CARD 內 Balena
Etcher
Win32diskmanger

完成後把 SD CARD 插入 ORANGEPI 內開機
記得要插 NETWORK 因為要從 WINDOWS 電腦把 GAME ROM COPY 入去 RETRORANGPI 內
在WINDOWS NETWORK 找找有沒有 RETRORANGE 或者知道 IP 就在檔案總管 \\192.X.X.X

研究 OrangePi 安裝及設定

raspberry pi 好多人都聽過 orangepi 又幾多人聽過呢?

orangepi 相對價錢比 raspberrypi 平 , 當然RAM & CPU
是有分別的 !

orangepi 用來做簡單的 SERVER 都很有趣 , 用來學習成本相對底 !

我本人就用來學習 Linux 之用

我自己用了 orangepi zero 做了一個 WEB SERVER 用來做 Traffic Report Server

軟件是 CACTI

參考 CACTI 安裝方法 URL : https://computingforgeeks.com/how-to-install-and-configure-cacti-on-ubuntu-18-04/

如果你有 SWITCH 是有 SNMP 的那就可以用來產生 SNMP LOG , 用 CACTI 分柝

如果沒有那種 SWITCH 都不要緊可以用 orangepi 本機 LAN CARD 產生 SNMP 分柝

準備的軟硬件
1. orangepi zero ( 沒有
HDMI , VGA 輸出, 有買擴展板有 AV
輸出[即是黃白紅三色線] )
或都用 USB DATA CABLE 即是可以傳數據的那種(可以用電腦連接時做個
serial port 來做 console ), 有些只供電的 USB CABLE 不會有 serial port 的

2. macro sd card (
用來裝 OS 用 )


3. FT232RL/PL2303HX
USB转串口线
(這個是可選的, 不一定要 ) 因為我不想駁AV線及不想老是駁電腦供電所以分開供電同console , 所以用TTL CABLE 做 serial port console !

這三樣東西都是淘寶網購的 !

首先下載 OS , 我用的是 ARMBIAN LINUX FOR ORANGEPI ZERO

之後要下載寫入軟件 ( 用來把OS IMAGE 寫入 SD CARD 內)
軟件 Balena Etcher

裝了 OS 的 SD CARD 準備好了 , 如果你是用 AV 線就駁好電視 , keyborad ,mouse

如果用 TTL 的先把 USB TTL CABLE 連接 ORANGEPI ZERO 了
參考網址

準備你的電腦, 插入TTL USB
CABLE 看看是什麼COM PORT

我的是 COM6 , COM8 是電腦 USB 供電給 ORANGEPI 時同可以做 CONSOLE 的, 兩個都可以連上 ORANGEPI

PUTTYTeraTerm 連接 COM PORT , SPEED 選115200

就會出現 LOGIN 畫面了

login
name :root , default password : 1234

記得一定要改 PASSWORD 呀 !

之後的你們懂的 , 裝上 APCHE2, PHP , MYSQL
, SNMP , CACTI 就是了
! 因為 ARMBIAN 是 BASE DEBIAN 的裝軟件用 APT

例如: apt install apache2

自由發揮就是 LINUX 好玩的地方