ChartGPT 最近很紅 , 前一陣子有一些小 module 本來想 google 一下 語法
但發現用 chartGPT 直接請他給 sample code 反而較快
所以只要你有基本 知識 ChartGPT 可以加速你的開發
好用喔
Sammy大叔定期將專案內有用到的python example 放在這, 並記錄有用的資訊
ChartGPT 最近很紅 , 前一陣子有一些小 module 本來想 google 一下 語法
但發現用 chartGPT 直接請他給 sample code 反而較快
所以只要你有基本 知識 ChartGPT 可以加速你的開發
好用喔
因為專案需求需要一個 大一點的觸控螢幕
本來想買一般外接的HDMI 螢幕
但後來想想價差不大 , 於是買了原廠的 7 寸觸控
此螢幕可以相容於最新的 4B 機種
但有些需要注意的
如果使用 4B , 那只需要接 power 跟 Gnd 即可
I2C 可以不用接 , 但舊版的一定要接
另外要記得把 overscan 跟 GL driver 關掉
可以用 sudo raspi-config disable overscan 與 GL
否則觸控定位會出錯
如果要轉換螢幕方向
要修改 config.txt
sudo nano /boot/config.tx
加入
lcd_rotation = 2
千萬不要用 screen config 中的設定
否則觸控會出問題
另外一個是觸控 右鍵功能
照原廠文件究改 script 但 4B 無法動作
後來看到下面這文章才解決
https://fmirkes.github.io/articles/20190827.html
現在基本上所有設備都需要無線網路上網
此次朋友家整棟 3層 都要使用無線網路
之前自己家是使用 PLC 來連 , 但 朋友家太老舊了
使用 PLC 可能速度不會很高
於是想說試試 Mesh AP
此次 pchome D-Link 有優惠 , 就買 3 台 Covr-1100 來試試
本來想買 ax 機種的 , 但想想 ac 就夠他們用了
就改買較便宜的 ac 機種
應此就選擇 Covr-1100
原以為 Mesh AP 設定會很麻煩
但沒想到 , 只要把第二台 AP 先接到 router 下面
他自動會把 config 設好
不需其他動作
之後只要把機器擺到適當位置即可
測試幾個擺放位置 , 為了讓大部分位置訊號都不錯
把機器放在 樓梯間是最好的方案
於是 1F , 2F , 3F 玄關都放一台是最好的方案
很多人說 D-Link 是 Do not Linking
但此次購買經驗跟實測 D-Link Mesh 讓我很滿意
之前安裝樹莓常用軟體 如 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-
ubuntu 推出了 21.04 版 for 樹莓派 , 因為 ubuntu 的資源比較多
且 obs studio 在原生 os 一直無法 compile 成功
於是決定改用 ubuntu 的樹莓派版
但一開始就遇到一個難題
anydesk teamviewer 等遠端工具都裝不了
teamviewer 雖然安裝成功 , 但跑不起來很容易 crash .
且 gpis picamera 等制都有點不同 obs studio 雖然ok , 但跑起來有問題
看起來 還是要等一下 資源才會完整
安裝 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'
就會結束
ChartGPT 最近很紅 , 前一陣子有一些小 module 本來想 google 一下 語法 但發現用 chartGPT 直接請他給 sample code 反而較快 所以只要你有基本 知識 ChartGPT 可以加速你的開發 好用喔