2020年2月20日 星期四

好書 : MicroPython Cookbook

今天發現一本 MicroPython 新書 :

# MicroPython Cookbook (Packt, 2019)


Source : 天瓏


隨著 Python 越來越普及, 我相信 MicroPython 將來會成為撰寫物聯網應用程式的首選, 而 ESP8266/ESP32 系列板子也會被廣泛使用. 每次看到有 MicroPython 新書卻又還沒時間繼續玩物聯網實驗, 就覺得非常手癢.

Win10 檔案總管的分組方式

筆電的 Win10 升版到 1909 版後, 檔案總管的檢視預設分組方式是按照日期, 這造成我一個困擾, 就是有些檔案會被排序到後面, 要找很久才找得到, 甚至按名稱排序也是先按日期分組再按名稱分組, 而非升版前全部照名稱排. 這可以在檢視中將分組方式改成 "無" 即可 :




這樣改回去之後就很好找了.

2020年2月18日 星期二

18650 充電式停電照明燈市調

前年為了預防鄉下颱風停電買了一台二行程小型柴油發電機, 實際使用後覺得不實用, 因為二行程內燃機不是我想像的一發即動, 常常弄了老半天才發動起來, 還不如買 18650 的停電照明燈實用, 反正停電通常不會超過 12 個小時, 只要撐過晚上就寢前的照明問題即可.

我在露天找到賣家 "小齊的家" 這款內置 18650 鋰電池的可掛式照明燈 :

# FL-70 防潑水 吊掛式 20W 14顆 LED 充電燈泡 (18650*1) $125
FL-71 擺攤神器 吊掛式 30W 24 顆 LED 充電燈泡 (18650*2) $195
FL-72 擺攤神器 吊掛式 50W 42 顆 LED 充電燈泡 (18650*3) $295

此款附一個充電器, 內附 18650 鋰電池, 可惜不能自行拆換, 但附充電器倒是不錯. 下面這款則有電池艙可自行更換 18650, 透過 Micro USB 槽充電, 有一個 USB 輸出, 有紅藍閃燈功能, 且其 18650 為並聯設計, 只有一顆 18650 也能工作, 只是續航力減半而已 :

廣角10W充電式戶外照明燈露營燈(附18650電池2顆+micro傳輸線) $385

其他 :

強光手電筒 全配套組 LED 手電筒 伸縮變焦 附充電器 18650電池 $395
(一盒20個) 廈門南孚環高18650,16340,26650,14500鋰離子智能自停電池充電器 $780 (單買 $45) (鳳山鋰電池批發可面交)
森林寶貝屋~強光LED三頭燈~三燈爆亮款~贈18650電池 $299

Win10 更新到 1909 版

這兩天我筆電又怪怪的, 今天下午更是突然變成飛航模式, 我根本沒按 F2 鈕進入飛航模式啊! 在命令提示字元下 winver 指令查詢, 才知道 Win10 已經自動升級到 1909 版了, 難道我之前關閉自動更新失效了嗎?





參考上次升版到 1903 後同樣出現 WiFi 消失怪象之解決辦法 :

回復舊版 Win10 停止自動更新並建立修復隨身碟

我檢查 "系統/復原" 裡面的還原點, 發現昨天 2/16 有因 Windows Update 而自動建立的一個還原點, 但還原了老半天都還是一直在跑, 乾脆關機重開用 ALT+F10 想回到原廠設定, 但很奇怪地, 就在按 ALT+F10 後等待時卻重開機, 然後一切都會復正常了, WiFi 圖示 與 Acer Care Center 都回來了, 設定也都可以進去了, 真是奇怪, 既然恢復正常, 那就維持在 1909 版吧!

不過我檢查 Acer Care Center 卻發現 SSD 部分顯示 "不支援" :




打 Acer 服務電話 0800258222 詢問, 工程師也不清楚, 說只要 C/D 槽都可讀到就沒關係, 那就這樣吧! 目前 Acer Care Center 版本是 3.00.3008. 工程師還教了一招, 就是重新啟動電腦前按住 Shift 效果跟開機時按住 ALT+F10 效果一樣.

另外, 我找到一篇如何關閉與開啟 Windows 自動更新的教學, 摘要如下 :

若要開啟自動更新, 用記事本編輯一個 disable-auto-update.bat 檔如下 :

sc stop wuauserv
sc config wuauserv start= disabled

然後以管理員身分執行此 bat 檔即可.

若要開啟自動更新, 用記事本編輯一個 enable-auto-update.bat 檔如下 : 

sc config wuauserv start= auto
sc start wuauserv

同樣也是以管理員身分執行此 bat 檔.

參考 :

如何徹底關閉 Windows 10 的自動更新?

不過目前我還是開啟自動更新, 暫時不關閉.

網路上有人討論升版為 1909 版後的毛病是檔案總管有時會卡, 這兩天確實有遇到, 而且底下的工作列也會. 參考 :

Win10 1909更新又出Bug,讓人徹底失去更新的興趣
Windows10 最新1909版本現在穩定了嗎? 可以升級了嗎?

其他值得參考的文章 :

Windows 10升級或更新後,儲存空間大幅度縮水了怎麼辦?
4 種方法查看Windows 10系統組建(Build Number)與版本編號

Windows 系統掃描

如果覺得 Win10 系統有點怪怪時可用指令來掃描系統檔案是否有缺損 :

sfc /scannow 

先以管理員身分開啟命令提示字元視窗 cmd :


Microsoft Windows [版本 10.0.18363.657]
(c) 2019 Microsoft Corporation. 著作權所有,並保留一切權利。

C:\WINDOWS\system32>sfc /scannow   

正在開始系統掃描。這將需要一些時間。

開始系統掃描的驗證階段。
驗證 100% 完成

Windows 資源保護找不到任何完整性違規。

如果顯示 "找不到任何完整性違規" 表示系統正常 :




參考 :

# 使用系統檔案檢查程式工具來修復遺失或損毀的系統檔案

用內建模組 pprint 列印字典物件

這個 pprint 模組是我在歐萊禮的 "深入淺出 Python (第二版)" 這本書第三章末尾讀到的, 以前讀過好幾本 Python 書籍都不知道有這東西, 原來它可以整齊漂亮地列印複雜的字典 (即巢狀字典, 字典裡面還有字典).

Python 裡面最複雜的內建資料型態是字典, 也就是一群鍵值對物件的群集 (collection). 字典的鍵必須是可雜湊的 (hashable), 不可變的資料型態例如 int, float, bool, complex, str, tuple 這六種型別都可算出唯一的雜湊值, 因此都可以作為 key; 而 list, set, 與 dict 這三個可變型別為不可雜湊 (unhashable), 因此不能做 key, 參考 :

python中的hashable(可雜湊的)是什麼意思

字典的值可以是任何一種物件型態 (Python 的資料全部都是物件), 當然也可以是另一個字典, 例如 :

>>> p1={'name':'孫藝珍',
    'age':38,
    'diploma':'首爾藝術大學'}
>>> p2={'name':'玄彬',
    'age':37,
    'diploma':'中央大學戲劇電影學系'}
>>> p={'p1':p1,'p2':p2}
>>> print(p)
{'p1': {'name': '孫藝珍', 'age': 38, 'diploma': '首爾藝術大學'}, 'p2': {'name': '玄彬', 'age': 37, 'diploma': '中央大學戲劇電影學系'}}

可見直接用 print() 列印巢狀字典時, 每個項目會前後串在一起不容易閱讀. 使用內建模組 pprint 的 pprint() 函數可以讓每個項目分開條列, pprint 模組使用前須先匯入 :

>>> import pprint
>>> pprint.pprint(p)
{'p1': {'age': 38, 'diploma': '首爾藝術大學', 'name': '孫藝珍'},
 'p2': {'age': 37, 'diploma': '中央大學戲劇電影學系', 'name': '玄彬'}}

不過 pprint() 的整齊列印只限於最外層項目, 例如新增一個含有內層字典的項目 p3 :

>>> p3={'name':'河智苑',
    'age':41,
    'diploma':'檀國大學戲劇電影學系',
    'works':{'2006':'黃真伊',
             '2013':'奇皇后',
     '2019':'巧克力'}}
>>> p['p3']=p3

用 print() 列印全部項目串在一起 :

>>> print(p)
{'p1': {'name': '孫藝珍', 'age': 38, 'diploma': '首爾藝術大學'}, 'p2': {'name': '玄彬', 'age': 37, 'diploma': '中央大學戲劇電影學系'}, 'p3': {'name': '河智苑', 'age': 41, 'diploma': '檀國大學戲劇電影學系', 'works': {'2006': '黃真伊', '2013': '奇皇后', '2019': '巧克力'}}}

用 pprint() 只有外層項目會逐項整齊條列 :

>>> pprint.pprint(p)
{'p1': {'age': 38, 'diploma': '首爾藝術大學', 'name': '孫藝珍'},
 'p2': {'age': 37, 'diploma': '中央大學戲劇電影學系', 'name': '玄彬'},
 'p3': {'age': 41,
        'diploma': '檀國大學戲劇電影學系',
        'name': '河智苑',
        'works': {'2006': '黃真伊', '2013': '奇皇后', '2019': '巧克力'}}}

可見內層項目 works 的值不會逐項條列.

2020年2月17日 星期一

買 LED 充電式小檯燈

因為臥室擺不進一台書桌, 為了在床邊讀書時有足夠亮度, 以及偶而要焊接電路板照明用, 上露天買了兩盞 LED 充電式小檯燈 :

LED桌面檯燈【HNL7A2】閱讀燈護眼不閃頻護眼檯燈 $299




一個放高雄, 一個帶回鄉下用.