寫app時剛好碰到加密的部分,需要拿到裝置的辨識碼,原本是要拿mac address的,因為保護使用者資料的原因,限制了開發者的存取,結果從2014年的方法看到2018年1月,試過都一樣是拿不到的狀態! 而且後來仔細查詢後,也不是所有手機都拿得到mac address的,就乾脆尋找其他方法,目前的想法是取得android id 和device id做加密. android id 的部分其實加這一行就能取得了 String androidId = Settings.Secure. getString (getContentResolver(), Settings.Secure. ANDROID_ID ); device id就比較麻煩,除了要在AndroidManifest.xml加上 < uses-permission android :name= "android.permission.READ_PHONE_STATE" /> 以外,還要在MainActivity加上來確認有沒有得到允許,如果你的app前個版本是沒有詢問此權限的,重新build過後會crash,不過手機會很好心的跟你說要變更哪些權限,照著點一點就行 if (ContextCompat. checkSelfPermission (MainActivity. this , Manifest.permission. READ_PHONE_STATE ) != PackageManager. PERMISSION_GRANTED ) { // We do not have this permission. Let's ask the user } 詢問完後, TelephonyManager tm = (TelephonyManager) MainActivity. this .getSystemService(Context. TELEPHONY_SERVICE ); String deviceId = tm.getDeviceId(); 即可拿到device id! 希望對大家有幫助0.0 android studio的版本為3.1.4 手機版本為6.0
應該是滿多人利用pyvisa來控制示波器的,首先是下載pyvisa,這邊是2.7版的教學。 可以直接在安裝python的目錄下開啟cmd window,打上 pip install -U pyvisa的指令即可,也能夠將visa.py檔案存在Python資料夾裡的lib資料夾裡,再跑python setup.py,裝完之後想要測試就在shell裡打上import visa,沒有出現錯誤訊息就是成功裝完囉! 下面的代碼適用於python2.7,為控制示波器,測量眼圖和寫入指令的基礎教學,當然不同示波器的指令或許會有些微差異,詳細的示波器指令就需要依照自己的示波器去查開發手冊囉,但呼叫的方法大同小異。 # -*- coding: utf-8 -*- #這行是讓程式碼裡出現中文時不會出現錯誤 import visa rm = visa.ResourceManager() my_instrument = rm.open_resource('填入要控制的instrument的名稱') my_instrument.write("*RST") #對儀器寫入指令(清除) my_instrument.write(':AUToscale') #對儀器寫入指令(量測) V=my_instrument.query_ascii_values(':MEASure:VPP?')#量測VPP並讀回值,存在變數V裡 tmp= my_instrument.query_ascii_values(':MEASure:CGRade:EHEight?')#量測眼高 eyeH=tmp[0] #眼高值存在第0個位置 tmp= SCPI_86100.query_ascii_values(':MEASure:CGRade:EWIDth?')#量測眼寬 eyeW=tmp[0] #眼寬值存在第0個位置 my_instrument.close() #最後記得要有關閉的動作! rm.close() 這邊附上pyvisa官網: http://pyvisa.readthedocs.io/en/stable/index.html 有發現錯誤或是有問題都歡迎留言詢問或告訴我...