pande
@pande1104
說
Wed, Dec 27, 2023 9:40 PM
Sat, Jan 20, 2024 10:21 AM
[讀書學習] 大哥買兩本12月新出版的科技書《Raspberry Pi錦囊妙計》《高效率Linux命令列學習手冊》,我翻過/看完2本目錄&前言,Linux那本對我來說比較有門檻。
[專題實作] Xbox手把與樹莓派通訊
-Xbox手把連接樹莓派(xboxdrv, joystick)
-Python加載pygame函式庫
-試寫python程式接收Xbox手把訊號
延伸:「遊戲畫面字幕刷新」程式範例
延伸:樹莓派不接螢幕只接電源直接開機
boot/config.txt
觀念:由事件(event)所啟動/更新的訊息流
pande
@pande1104
說
Wed, Dec 27, 2023 9:41 PM
[參照文件]
@pande1104 - [專題實作] Xbox手把控制樹莓派GPIO裝置 參考文獻先收
pande
@pande1104
說
Wed, Dec 27, 2023 9:47 PM
Thu, Dec 28, 2023 7:51 AM
跟大哥從9點半看到11點半,2個小時
-驅動程式、藍牙連線、pygame函式庫都順利完成
看到第三部分的初步實作,離具體成果看起來只差幾步
大哥離開之後
我繼續專心攻略,一回神凌晨4點半了淦
這5個小時是怎麼回事……
pande
@pande1104
覺得
Wed, Dec 27, 2023 9:48 PM
好可怕的精神時光屋
專注
心流
pande
@pande1104
說
Wed, Dec 27, 2023 9:52 PM
首先找文章
Linux【命令】修改文件内容_修改文件中的内容命令-CSDN博客
用sudo使用vi開啟開機的系統檔/boot/config.txt編修一句內容
-hdmi_force_hotplug=1
覺得vi文字編輯器超難用,雖然成功修改完成了
但是我還是不知道怎麼正確使用vi編修文字檔
pande
@pande1104
說
Wed, Dec 27, 2023 9:55 PM
上面那句是讓樹莓派在開機的時候,強制視為有使用螢幕
樹莓派的Raspbian作業系統如果沒有先接上螢幕
就先插上電源的話會沒有辦法開機
改完之後系統就會視為有接螢幕的狀態
無論實際上有沒有接螢幕(都可以開機)
pande
@pande1104
寫
Wed, Dec 27, 2023 9:58 PM
Wed, Dec 27, 2023 9:58 PM
[追記] 專注完回神之後有實際測試
不接螢幕直接插上電源,真的可以開機
-但是畫面的解析度會視為最小的,圖示/文字都變得好大
(應該也有地方可以做相關的調整但是我還沒到程度w)
pande
@pande1104
想
Wed, Dec 27, 2023 10:06 PM
Wed, Dec 27, 2023 10:07 PM
這點解決了我先前的一個想法
就是如果我走到最後,將EV3樹莓派機器人所需知識背景都建構完成
如果那時候還是要先給樹莓派接個螢幕開機完啟動程式再將螢幕卸下
那麼整個流程就會很矬,不smart
所以一個想法「如何不用接螢幕就開機樹莓派」就存在腦袋一個角落
現在直接從不同的學習路徑上解決了這個問題
讚讚
開心
以後正式作品,樹莓派接上行動電源開機之後
直接使用RealVNC(遠端桌面)和PuTTY(SSH遠端指令)
用筆電/迷你電腦透過網路連接樹莓派啟動準備好的程式就可以了
pande
@pande1104
想
Wed, Dec 27, 2023 10:10 PM
不過還沒試過
-現在環境的WiFi以外的連線情況
-不同網域的遠端連線情況
想像起來,還有後續相當多的實做細節要克服
(目前克服第一步^^)
pande
@pande1104
說
Wed, Dec 27, 2023 10:16 PM
[回來繼續整理-記錄進展]
將pygame跟視窗顯示脫鉤之後
還是沒辦法順利取得Xbox手把的訊息
於是花時間將網頁的「手把訊息顯示-畫面刷新」範例程式
Pygame详解(十七):joystick 模块_pygame joystick-CSDN博客
整個抄寫起來研究
頁面不能複製貼上,程式碼內容有點多,抄得有點久
pande
@pande1104
說
Wed, Dec 27, 2023 10:18 PM
抄完勘誤完執行,功能正常,Xbox手把有通訊給樹莓派
但是我自己由下而上寫的陽春版程式
還是不能取得Xbox手把資訊
這個部分的hacking花上最多的時間
pande
@pande1104
說
Wed, Dec 27, 2023 10:23 PM
Thu, Dec 28, 2023 7:56 AM
分兩個部分
-短抄範例內容,實作「壓/放按鈕print文字」
-自己寫,實作「推動搖桿print刷新的軸值」
前段部分花很多時間
終於在抄寫完完整範例程式,將非陽春部分刪除
分次執行試驗之後,成功寫了一個最陽春的「按鈕print文字」程式
pande
@pande1104
說
Wed, Dec 27, 2023 10:28 PM
但是可怕的是後段部分
花了更多時間
因為它是沒有頭緒的試驗
(python實作經驗還不夠的我甚至一直在懷疑過去所學有誤w)
幸好最後還是讓我摸出來問題所在了
原因是一個過去沒有遇過的觀念
「由
事件
所啟動更新的訊息流」(event drive的程式寫法)
pande
@pande1104
想
Wed, Dec 27, 2023 10:29 PM
突破這點
我的功力又更加upup了吧
(大概w
pande
@pande1104
說
Wed, Dec 27, 2023 10:36 PM
Wed, Dec 27, 2023 10:37 PM
簡單的說
就是程式要先去抓取事件
程式物件裡的內容才會更新
不然物件的屬性值就一直都是0
至於「事件發生」跟這套訊息流流程之間的關係
我就還是不太清楚了
反正總之一定要配合「抓取事件」的動作
Xbox手把物件的屬性值(每個搖桿/按鈕的狀態)才會更新
載入新的回覆
[專題實作] Xbox手把與樹莓派通訊
-Xbox手把連接樹莓派(xboxdrv, joystick)
-Python加載pygame函式庫
-試寫python程式接收Xbox手把訊號
延伸:「遊戲畫面字幕刷新」程式範例
延伸:樹莓派不接螢幕只接電源直接開機 boot/config.txt
觀念:由事件(event)所啟動/更新的訊息流
-驅動程式、藍牙連線、pygame函式庫都順利完成
看到第三部分的初步實作,離具體成果看起來只差幾步
大哥離開之後
我繼續專心攻略,一回神凌晨4點半了淦
這5個小時是怎麼回事……
Linux【命令】修改文件内容_修改文件中的内容命令-CSDN博客
用sudo使用vi開啟開機的系統檔/boot/config.txt編修一句內容
-hdmi_force_hotplug=1
覺得vi文字編輯器超難用,雖然成功修改完成了
但是我還是不知道怎麼正確使用vi編修文字檔
樹莓派的Raspbian作業系統如果沒有先接上螢幕
就先插上電源的話會沒有辦法開機
改完之後系統就會視為有接螢幕的狀態
無論實際上有沒有接螢幕(都可以開機)
不接螢幕直接插上電源,真的可以開機
-但是畫面的解析度會視為最小的,圖示/文字都變得好大
(應該也有地方可以做相關的調整但是我還沒到程度w)
就是如果我走到最後,將EV3樹莓派機器人所需知識背景都建構完成
如果那時候還是要先給樹莓派接個螢幕開機完啟動程式再將螢幕卸下
那麼整個流程就會很矬,不smart
所以一個想法「如何不用接螢幕就開機樹莓派」就存在腦袋一個角落
現在直接從不同的學習路徑上解決了這個問題
讚讚 開心
以後正式作品,樹莓派接上行動電源開機之後
直接使用RealVNC(遠端桌面)和PuTTY(SSH遠端指令)
用筆電/迷你電腦透過網路連接樹莓派啟動準備好的程式就可以了
-現在環境的WiFi以外的連線情況
-不同網域的遠端連線情況
想像起來,還有後續相當多的實做細節要克服
(目前克服第一步^^)
將pygame跟視窗顯示脫鉤之後
還是沒辦法順利取得Xbox手把的訊息
於是花時間將網頁的「手把訊息顯示-畫面刷新」範例程式
Pygame详解(十七):joystick 模块_pygame joystick-CSDN博客
整個抄寫起來研究
頁面不能複製貼上,程式碼內容有點多,抄得有點久
但是我自己由下而上寫的陽春版程式
還是不能取得Xbox手把資訊
這個部分的hacking花上最多的時間
-短抄範例內容,實作「壓/放按鈕print文字」
-自己寫,實作「推動搖桿print刷新的軸值」
前段部分花很多時間
終於在抄寫完完整範例程式,將非陽春部分刪除
分次執行試驗之後,成功寫了一個最陽春的「按鈕print文字」程式
花了更多時間
因為它是沒有頭緒的試驗
(python實作經驗還不夠的我甚至一直在懷疑過去所學有誤w)
幸好最後還是讓我摸出來問題所在了
原因是一個過去沒有遇過的觀念
「由事件所啟動更新的訊息流」(event drive的程式寫法)
我的功力又更加upup了吧 (大概w
就是程式要先去抓取事件
程式物件裡的內容才會更新
不然物件的屬性值就一直都是0
至於「事件發生」跟這套訊息流流程之間的關係
我就還是不太清楚了
反正總之一定要配合「抓取事件」的動作
Xbox手把物件的屬性值(每個搖桿/按鈕的狀態)才會更新