跳到主要內容

NFC Checkin 開發結果

離開了 iOS 最新技術有幾年時間,變得生手。這個項目,由最開始用 SwiftUI 建構畫面失敗,換回 Objective-C 而藍牙 Framework 出事,還是要轉回 Swift,今次嘗試純 Swift 5。邊學邊做,花了 22 小時完成了一個 NFC Solution。能成功辨認到 MiFARE Classic 1K 卡的獨立編號很有滿足感。看似是小事,但這是 Vendor 說的不可能,我把它實現。遇到 Framework 沒有觸發時的 Callback,要令到 Solution 好用、快速、簡單,想到用 Threading 方法解決。重重難題都解決了,下一步是找個場合正式使用。

留言

這個網誌中的熱門文章

After Effects 下的影片加速

Fast Forward in After Effects

很久很久沒有剪片了。今個星期接了一個項目,替客人製作兩段影片作為報告之用。雖然這個項目沒有難度,但步驟很多。總算完成了第一段。要在 iPad 中為動畫編程,然後錄下模擬器的動畫,把影片裁好後,還要將原來 2 分 17 秒的影片濃縮到 8 秒。否則看報告的人必然睡著。花了一點時間,才找到影片加速的方法。在 Composite 中點右鍵,選 Time 內的 Time Stretch 後,輸入最終想要的時間長度。

連接 PSVR 到 MacBook Pro

一兩個星期前,在 PS4 Pro 上安裝了 Littlstar 軟件去播放儲存在 USB 的立體影片。豈料今天在自動更新過後,這個免費的軟件現在只能播放兩分鐘,若要播放完整影片,則需要以訂購方式每月付費,或一次過給 US$39.9。對於 Littlstar 這個吸金方法,讀取 USB 影片要收費、官方內容又太少的情況下,很多人亦因此離開,尋找其他方法。其中一個方法是把 PSVR 連接到 macOS 上看。

方法是利用 https://github.com/emoRaivis/MacMorpheus 這個開源程式。先開著 PS4 Pro 及 PSVR,然後如上圖把線重新連接,這樣就能把 MacBook Pro 的畫面投射到 PSVR 上。

Python 按鍵檢測程式

完成了計數器程式後,接著是測試按鍵的程式。程式用來確保接線無誤之外,同時測試怎樣檢測會來得順暢,甚至是確保按鍵時的噪訊處理。以前開發遊戲程式時,在讀取搖桿訊號時會出現噪訊。例如按鍵時,從系統收到的訊號很多時候會像是 0000010101111111,而不會是 000000111111 這麼乾淨。這是硬件無法處理的情況,需要從軟件方面修正。Raspberry Pi 同樣有這種情況。

兩顆按鈕的接線非常簡單,一邊接地,另一方接 GPIO。在網上了解過後,我決定用較多人用的 BCM 作為 GPIO 的編號格式。同時選用了位於接口群右下方的 #20 及 #21 號腳;地線也選用了上兩格的 #18 號腳。它們位於外殻邊沿,能減少阻礙或鬆脫而導致接觸不良。焊接工作很快地完成了。正常來說,按鍵線路需要加入「上拉」或「下拉」設計,我曾向朋友 Peter 請教,了解兩者的分別及用法。主要都是用來確保未按鍵時的值,就像軟件中的 Initialise 一樣。然而,Raspberry Pi 已經內鍵了這兩種設計,GPIO.setup() 就是決定針腳是「上拉」或「下拉」。

我測試了兩款在 Raspberry Pi 的 Python 中的按鍵檢測方法。第一種 GPIO.wait_for_edge() 是等候按鍵時會一直停著,直到狀態成立才能繼續,套用到 #21 號腳;第二種 GPIO.add_event_detect() 是事件方式,當按鍵發生時會直接跳到已登記的程式,套用到 #20 號腳。#!/usr/bin/python ##------------------------------------------------------------ ## AMIGO Camera Button Test ## Copyright Pacess Studio, 2015. All rights reserved. ##------------------------------------------------------------ import RPi.GPIO as GPIO import time ##------------------------------------------------------------ def buttonPressed(channel):…