get paid

Get paid for the tasks you do online

2021年6月27日 星期日

樹莓派安裝常用軟體最容易的方式

 之前安裝樹莓常用軟體 如 anydesk or teamviewr , or pycharm 等 都是自己下載 source compile .. 

但遇到了不少坑 ,  每次都要花不少時間

如 obs 有時能成功,  但大都失敗

直到昨天看到有人做好了 script 


只要執行下面script 之後就換安裝 pi-app  ,  再點選 pi-app  選擇要安裝的 app 即可

省下不少時間 

wget -qO- https://raw.githubusercontent.com/Botspot/pi-apps/master/install | bash-

2021年6月26日 星期六

樹莓派安裝 ubuntu

ubuntu 推出了 21.04 版 for  樹莓派 , 因為 ubuntu 的資源比較多

且 obs studio 在原生 os 一直無法 compile 成功

於是決定改用 ubuntu 的樹莓派版

但一開始就遇到一個難題

anydesk teamviewer 等遠端工具都裝不了 

teamviewer 雖然安裝成功 ,  但跑不起來很容易 crash . 


且 gpis picamera 等制都有點不同 obs studio 雖然ok ,  但跑起來有問題

看起來 還是要等一下 資源才會完整

 

2021年6月22日 星期二

PysimpleGUI 安裝與簡介

 安裝 pysimplegui  很簡單 

pip install pysimplegui or pip3 install pysimplegui 即可

Linux, Mac, Windows 樹莓派 都支援


先說一下 pysimplegui 與其他 GUI 如 pyqt5 等的最大差異在於

pyqt5 的基本視窗宣告完時 本身視窗就可以想像是一個 while loop , 他會一直執行

但 pysimplegui 比較像一個 function

自己需要加入 while loop 讓 program 變成一個無限迴圈

這樣 windows 才會一直顯現

下面是官網的sample code ..


import PySimpleGUI as sg sg.theme('DarkAmber') # Add a touch of color # All the stuff inside your window. layout = [ [sg.Text('Some text on Row 1')], [sg.Text('Enter something on Row 2'), sg.InputText()], [sg.Button('Ok'), sg.Button('Cancel')] ] # Create the Window window = sg.Window('Window Title', layout) # Event Loop to process "events" and get the "values" of the inputs while True: event, values = window.read() if event == sg.WIN_CLOSED or event == 'Cancel': # if user closes window or clicks cancel break print('You entered ', values[0]) window.close()


一開始當然是 import package ,

sg.theme 主要是定義主題顏色 從字面上就可以看出是深底字是 琥珀色

layout 就定義 windows 內的元件有哪些

每一行就用 [] 匡起來

如第一行 就 sg.text 一個元件

第二行 有兩個 sg.text , sg.InputText

第三行就兩個 button

window = sg.Window('Window Title', layout)

就是定義一個 windows , 使用 layout 中的元件


再來就 用 while loop 讓這windows 一直跑

window.read()


此時 windows 就會出來了

但 windows 還是要能做互動啊

event, values 這兩個就是 windows 互動用的

當 button 被按下了這時有 event 時 才會往下一行執行喔

如果是 輸入 text 此時 還是不會往下作 , 但如果是按下任何一個 button , 就會觸發 event

此事程式就會往下跑

如果是 cancel被按下,event == 'Cancel'

就會結束




python 簡易的 UI module - pysimplegui

 之前使用的 pyqt5 功能很強大, 但針對某些主要是做機器學習的應用.只是要簡單UI

而不想花太多時間在 GUI 設計上的人來說 pysimplegui 是很棒的選擇 


我的應用會用到很多 opencv ,  但之前測試 tkiner 顯示 frame 時 即使使用 multi-threading 還是會有不順的狀況, pyqt 也是 ,  且對很多人來說 multithread 有點小麻煩

而pysimplegui 我測過再 macOS , raspberry pi  下opencv 的 imshow 都很順 

code 也簡單好讀很多

不過如果你的 UI 設計 位置要要自訂 ,  那 pysimplegui 的建置就會很多了 

之後會做一些簡單的教學 

2021年6月12日 星期六

樹莓派 YouTube 直播的方法

raspivid -o - -t 0 -vf -hf -fps 30 -b 6000000 | ffmpeg -re -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -f h264 -i - -vcodec copy -acodec aac -ab 128k -g 50 -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/<SESSION>

ChartGPT 學 python 很強喔

 ChartGPT 最近很紅 ,  前一陣子有一些小 module  本來想 google  一下 語法 但發現用 chartGPT 直接請他給 sample code 反而較快 所以只要你有基本 知識 ChartGPT 可以加速你的開發 好用喔