2024年4月22日 星期一

將捷徑內建取得電池數據,傳給Pythonista套件工具

 經由前篇生成Pythonista專家的指導,協助瞭解如何將內建捷徑取得參數⌈取得 電池電量⌋,傳遞給Pythonista 參考資訊

階段一: (設置iPhone捷徑工作)

步驟1: 新增捷徑 | 取得 電池電量

步驟2:URL   , 參數為    pythonista://battery_status?action=run&argv= 電池狀態

步驟3:打開 URL

 

階段二: (將下面藍色部分之Python程式,在根目錄中 (通常目錄在 [ ~/Documents] $  ,另存成battery_status.py ,需儲存到  Pythonista套件,範例目錄Examples的上一層),階段一執行的數據才能順利經由sys.argv 抛給PYTHON接收

import sys
import time
import objc_util

if __name__ == '__main__':
    current_level =float(str(sys.argv[1]))
    
    print(f"Current battery level (數據來源:iPhone捷徑  電池電量): {current_level:.1f}%")  
    
UIDevice=objc_util.ObjCClass('UIDevice')
device = UIDevice.currentDevice()
batteryLevel = device.batteryLevel()

# Ensure conversion to float for calculations
#batteryLevel = #float(str(batteryLevel))


device.setBatteryMonitoringEnabled_(True)

batteryLevel = device.batteryLevel()
print(f"Current Battery Level(
objc_util 模組): {batteryLevel * 100:.1f}%")

 

💜Url Scheme電池捷徑相關設定

💜其它Battery參考資訊,不一定正確(充電器規格、溫度、電池健康度等因素) (可由Gemini Pro 查詢相關PYTHON程式碼)

initial_level = device.batteryLevel()

#Calculate Elapsed Time and Charging Rate
charging_rate = (batteryLevel - initial_level) / elapsed_time

#概估充電充飽時間
remaining_charge = 1.0 - batteryLevel
estimated_time = remaining_charge / charging_rate

   


在Pythonista環境下,安裝Stash,進入Bash-like shell

 在Pythonista環境下,安裝Stash  ,
實現Bash-like shell for Pythonista,執行下面PYTHON程式:

import requests as r; exec(r.get('https://bit.ly/get-stash').content)

根目錄下, 執行luunch_stash.py
~/Documents/launch_stash.py


或可透過iPhone捷徑程式
Run launch_stash.py with in Pythonista   ,左列新增捷徑 ,等同上面作法,進入Bash-like shell
執行wget ,自網路下載檔案

資料來源:
https://github.com/ywangd/stash



PivotTable樞鈕分析表,搭配Formula公式運用,詳列出⌈廠牌型號⌋,在各個" 部門別"之擁有 台數

EXCEL資料表,分別有 財產設備大分類、廠牌型號、部門別、數量 等4欄位,
        A                                  B                       C                 D
1    財產設備大分類        廠牌型號              部門別           數量
2    個人電腦           HP Pro SFF 400 G9    人事               2
3    個人電腦           HP Pro SFF 400 G9     財務              2
4    個人電腦           HP Pro SFF 400 G9    行政               2
5    個人電腦           HP Pro SFF 400 G9     銷售              2
6    個人電腦           ASUS S500TE             研發               1
7    個人電腦           HP Pro SFF 400 G9     研發               1
8    個人電腦           HP Pro SFF 400 G9     資訊               2


公司部門,有人事、財務、行政、銷售、研發、資訊等6部門別

有1份報表,需臚列出  財產設備大分類,其各⌈廠牌型號⌋,分配到公司,各個部門之台數(如下方產出的結果)

,####################################################################################
以下是個人作法,先用「樞紐分析表」,將EXCEL資料 預做梳理,
 

在以下區域之間拖曳欄位:

💛篩選  拖曳  財產設備大分類、    (因為有數個「財產設備大分類」項目,如:個人電腦、筆電)
💜欄    拖曳  部門別、                    (方便掌握 各部門別,可逐欄一一列出)
💜列    拖曳   廠牌型號、              (各廠牌型號,以此例「個人電腦」大分類,呈現會有2列,

                                                   分別  為HP Pro SFF 400 G9 及 ASUS S500TE    等2類桌機
💜值    拖曳    數量                        (可幫忙預先加總,列出各部門別,各廠牌型號 電腦之台數)
'=====================================================================
💙'T1欄及O1欄,公式手動設定好
💛B1欄,為PivotTable樞鈕分析表之 大分類「財產設備大分類」,個人電腦、筆電等可供下拉(此欄位值,即為上面  篩選  拖曳,自動產生),只要下拉變動不同之大分類,樞鈕分析表之欄及列 資料,也會隨之變動。

💙T1欄(=COUNTA(4:4)),為PivotTable樞鈕分析表之總欄數   ,因為第4列為PivoteTable部門別,逐欄一一列出,此T1欄的值,為手動填入COUNTA公式
此公式之目的主要為讓後續VBA程式,清楚掌握「個人電腦」大分類中,共有多少 部門別?在PivotTable中,如該部門別沒有分配到大分類資源者,將不會列出部門別,故此欄會隨著大分類之不同,而做變動。


💙O1欄(=COUNTA(A:A)+1),為PivotTable樞鈕分析表之總列數  ,因為A欄為PivoteTable廠牌型號,逐列一一呈現,此O1欄的值,為手動填入COUNTA公式
此公式之目的主要為讓後續VBA程式,清楚掌握「個人電腦」大分類中,共有多少項?廠牌型號,此欄會隨著大分類之不同,而做變動(total_Rows)。

'####################################################################################

Sub ApplyFormula()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim total_Rows As Long
    Dim formulaRange As Range
    Dim i As Long
    
    '來源4個欄位,經過「樞紐分析表」,將資料預做梳理後,工作表名稱指定為Pivot_1
    Set ws = ThisWorkbook.Sheets("Pivot_1")
    
    '因「樞紐分析表」精靈產出後,上半段前3列已固定做標題列用途,故要扣除3後,每次下拉💛B1「財產設備大分類」後,才是實際⌈廠牌型號⌋之資料筆數。
    total_Rows = ws.Range("O1").Value - 3
    
    Sheets("Pivot_1").Select
    Columns("P:P").Select        '清空P欄,因為在下拉⌈財產設備大分類⌋,會貼不同的Formula
    Selection.ClearContents
     
    ' 預訂放置公式的起始處,預訂每次均由P5欄開始放置
    Set formulaRange = ws.Range("P5")
    
    
    ' 各列⌈廠牌型號⌋,詳列出 各個 "部門別"擁有之台數,逐一詳列出來
    For i = 1 To total_Rows    ' 第一列開始,直到最後一列
        '搭配Range & Formula ,方便每次於💛B1下拉「財產設備大分類,每列最後貼上公式
        formulaRange.Offset(i - 1, 0).Formula = "=IF($B" & i + 4 & ">0, $B$4&$B" & i + 4 & "&""台, "", """")" & _
                                                "&IF($C" & i + 4 & ">0, $C$4&$C" & i + 4 & "&""台, "", """")" & _
                                                "&IF($D" & i + 4 & ">0, $D$4&$D" & i + 4 & "&""台, "", """")" & _
                                                "&IF($E" & i + 4 & ">0, $E$4&$E" & i + 4 & "&""台, "", """")" & _
                                                "&IF($F" & i + 4 & ">0, $F$4&$F" & i + 4 & "&""台, "", """")" & _
                                                "&IF($G" & i + 4 & ">0, $G$4&$G" & i + 4 & "&""台, "", """")" & _
                                                "&IF($H" & i + 4 & ">0, $H$4&$H" & i + 4 & "&""台, "", """")"
                                '最後一列,為該大分類,各部門別彙整後之小計台數 (因為PivotTable樞鈕分析表已預先產製好)  ;最前方IF判斷式>0,即 台數>0,則顯示 部門別及台數。                                                                                                             
    Next i      
End Sub

 '&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

產出的結果 ( 💛B1欄「財產設備大分類」,下拉選擇⌈個人電腦⌋)

列標籤                 人事    財務   行政   銷售   研發    資訊

HP Pro SFF 400 G9     2         2         2        2         1          2  ,人事2台,財務2台....研發1台....(略)

ASUS S500TE                                           1               ,研發1台

 總計                     2         2         2        2         2          2  ,人事2台....................研發2台,資訊2台


'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

PROMPT提示詞下法如下: (可將下面提示詞,貼至AI神器去詢問,取得VBA程式碼參考資訊)
處理前之樞鈕分析表,計有4欄位

篩選  拖曳  財產設備大分類、
欄    拖曳  部門別、
列    拖曳   廠牌型號、
值    拖曳    數量


經過「樞紐分析表」處理後,工作表名稱指定為Pivot_1
B1欄,為樞鈕分析表之篩選  財產設備大分類

excel表中,第4列為標題列,分別為 A4 廠牌型號、B4 人事、C4 財務、D4 行政、E4 銷售、F4 研發、G4 資訊H4 ,

T1欄,公式已設好  =COUNTA(4:4),為樞鈕分析表之總欄數
O1欄,公式已設好  =COUNTA(A:A)+1,為樞鈕分析表之總列數

下面公式為全數設備型號,我已將每列總數 放於 P5開始放置公式, 因為台數為0 ,就無需放入,請參考下面公式,寫VBA程式
    
    total_Rows = ws.Range("O1").Value - 3
    
    Sheets("Pivot_1").Select
    Columns("P:P").Select       
    Selection.ClearContents
     
    Set formulaRange = ws.Range("P5")
    
    For i = 1 To total_Rows    ' 第一列開始,直到最後一列
        '搭配Range & Formula ,方便每次於💛B1下拉「財產設備大分類,每列最後貼上公式
        formulaRange.Offset(i - 1, 0).Formula = "=IF($B" & i + 4 & ">0, $B$4&$B" & i + 4 & "&""台, "", """")" & _
                                                "&IF($C" & i + 4 & ">0, $C$4&$C" & i + 4 & "&""台, "", """")" & _
                                                "&IF($D" & i + 4 & ">0, $D$4&$D" & i + 4 & "&""台, "", """")" & _
                                                "&IF($E" & i + 4 & ">0, $E$4&$E" & i + 4 & "&""台, "", """")" & _
                                                "&IF($F" & i + 4 & ">0, $F$4&$F" & i + 4 & "&""台, "", """")" & _
                                                "&IF($G" & i + 4 & ">0, $G$4&$G" & i + 4 & "&""台, "", """")" & _
                                                "&IF($H" & i + 4 & ">0, $H$4&$H" & i + 4 & "&""台, "", """")"                                                                                                      
    Next i      



相關參考資訊:

EXCEL VBA


2024年4月14日 星期日

透過AI神器(Gemini)生成Pythonista程式開發工具之專家

透過AI神器(Gemini)生成Pythonista程式開發專家,協助給予PYTHON程式建議

PROMPT生成專家提示詞,如下(藍色部分),請將它貼至AI神器 去詢問,再加入自己想瞭解的程式需求元素(如:Motion模組)


You are An experienced iPhone user and a master of Pythonista,
You can create development environments for iOS that include a built-in Python interpreter.
Reference Apple Developer Documentation and Pythonista official resources to provide python programming advice
 Or via Google engine to query
 or other relevant websites that meet your needs and refer to professional information from different countries (USA, Japan, Chinese) to provide relevant setting suggestions.
 For example:
 https://github.com/DocVaughan/Pythonista/blob/master/Examples/Overview.md
 https://github.com/topics/pythonista3
 http://omz-software.com/pythonista/

Please provide step-by-step instructions.
 
Points to Notes: Detailed step-by-step explanation (Pythonista, supported programming language introduction, function description, recommended PYTHON program example combined with iPhone and specific reasons, etc.)
Finally, please find popular information related to my needs on YouTube video websites (USA, Japan, Chinese).
 
 
"""
Needs: Please according my needs to provide python code for iPhone via Pythonista

give some sample python code (motion) to using motion module for iphone
 
"""


AI提供程式碼,如下: (可即時捉取iPhone水平、垂直數據)
import motion
import time

# Start updates from the motion sensors
motion.start_updates()

while True:
  # Get current accelerometer data (取得手機傳感數據)
  x, y, z = motion.get_gravity()

  # Print the accelerometer values
  print(f"X: {x} \n ,Y: {y}\n,Z: {z} \n\n")

  # Wait for a short interval before next reading (每0.3秒更新數據)
  time.sleep(0.3)

# Stop motion updates
motion.stop_updates()


使用前提:需先備妥PYTHON環境於iPhone上

Pythonista程式為付費軟體,Apple Store線上購買約新臺幣320元,可於iPhone上執行PYTHON程式

gemin-1.5-pro Model 實測結果,Gemini提供範例程式,可正常運作。

使用說明:請將您的需求,填寫於提示詞 Needs:  處即可。





利用iPhone內建Recognize音樂功能,透過旋律辨識出歌曲名稱

打開捷徑
💜Action動作一:
辨識音樂

💜Action動作二:
URL
鍵入  https://www.google.com.tw/search?q=この曲は教えて 辨識音樂
 

💜Action動作三:
打開URL


iPhone捷徑相關語音運用範例:
語音輸入後,直接至 教育部國語辭典網站查詢
語音輸入,直接寫至 備忘錄

中文口說,直接翻成 日文及英文

2024年4月9日 星期二

APPLE 內建強大捷徑功能(URL Schemes機制),進行 語言與地區 之 語言界面切換

運用APPLE 內建強大捷徑功能(URL Schemes機制),進行 作業系統語言界面之切換

只需3個步驟:  (可命名為 ChangeLanguage, 對Siri說 ChangeLanguage捷徑,直接跳出⌈偏好的語言⌋設定畫面)

步驟1: 開啟捷徑 | 加入動作 (下方  搜尋App 和動作  ,鍵入 URL)

步驟2:選擇  打開URL

步驟3: URL處鍵入字串  prefs:root=General&path=INTERNATIONAL/DEVICE_LANGUAGE

(需完全一樣,有區分大小寫)

 

💜另外,SIRI聲音之設定,亦可用相同機制,完成設定,只需將步驟3的字串,改成:

prefs:root=SIRI&path=LANGUAGE_ID

 

💜 可用 ⌈ 從選單中選擇⌋之捷徑,一次僅設定將它們分開各自設定。

 

其它URL Scheme設定:

電池Battery Health: prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH


後記說明:

一、如不知道如何設定上面URL SCHEMES參數設定? 可參考前篇⌈生成AI捷徑專家,將您的需求,更換成下面Prompt提示詞(藍色部分)即可。

"""
default input: manual

Requirements: Chang Language Setting
By default, the volume is muted, so there is no need for the "Speak" setting.
 

URL
打開URL

URL處鍵入字串  prefs:root=General&path=INTERNATIONAL/DEVICE_LANGUAGE
"""

二、經實際試用免費版Gemini Advance(試用2個月),Advance版本其產出來的結果,通常可更加精準的產出😅

藉由AI幫忙,協助找尋iPhone優化效能設定

iPhone效能提升參考查詢,

可將下面提示詞複製,貼至AI神器去詢問,由它教導您至何處進行設定

Prompt提示詞如下:

 

你是 iPhone 資深的系統優化教學達人。

請參考 APPLE 官方 操作文件、Apple サポートコミュニティ,做為設定參照之參考依據。
如:
https://support.apple.com/ja-jp/101575

或 自Google搜索引擎 或 相關{{使用需求}}之熱門網站,參照各國(美國、日本、中文語系)專業資訊,提供相關設定建議
如:
https://www.bugsnag.com/blog/ios-performance-monitoring-best-practices/
https://www.youtube.com/watch?v=p84UKoc1yt0



請 STEP BY STEP的操作教學。

注意事項:盡可能以簡潔明瞭方式,以表列形式 進行STEP BY STEP的詳細說明(設定參數及設定位置明細、功能說明、建議推薦及設定及具體理由等


最後,請於YOUTUBE影音網站(美國、日本、中文語系),找尋 與{{使用需求}}主要相關連且POPULAR之資訊出來

""
使用需求:
iPhone動作が重い時の対処を教えて   & ベストプラクティス、
平日我是APP安裝愛好者測試者,系統效能愈來愈差,要如何解決?


Provide instructions on adjusting settings, Guide users on how to modify relevant settings.
卸載未使用 App、定期檢視電池耗電、定期整理 iPhone 儲存空間、善用捷徑程式使用、開啟減少透明度、減少自動化使用、減少 Widget 使用、重新啟動 iPhone、清除 Safari 瀏覽器快取、停用 iCloud 照片同步 (OPTION)、減少動態效果、關閉背景 App 重新整理


請依上面說明,進行專業教學,並請另提供熱門且實用之相關網站資訊
"""