旅遊日期:2012 年 4 月 11 日出發, 4 月 17 日回國。
與朋友自由行。桃園、大阪去回。
櫻花花期短,就算是櫻花季的賞櫻景點,也不是去了就能看到盛開的櫻花。所幸京都的櫻花種類很多,各地花期錯開。有意前往賞櫻的遊客建議挑
選多個備選景點,視當天花況決定要去哪。
本次賞櫻景點中,櫻花花況令人滿意的是: 平野神社、哲學之道、萬福寺、大阪造幣局。
旅遊日期:2013 年 4 月 10 日出發, 4 月 15 日回國。
與朋友自由行。搭乘酷航,桃園、東京去回。
旅遊日期:2014 年 11 月 12 日出發, 11 月 18 日回國。
個人自由行。搭乘樂桃航空,高雄、大阪去回。
全程住宿大阪新今宮みかどHOTEL。最後一晚在關西機場過夜。
參觀高野山、箕面瀑布。參加AKB48全國握手會活動。
旅遊日期:2014 年 11 月 12 日出發, 11 月 18 日回國。
個人自由行。搭乘樂桃航空,高雄、大阪去回。
全程住宿大阪新今宮みかどHOTEL。最後一晚在關西機場過夜。
我手上有AKB48全國握手會的參加券,他們在11月15日、16日在大阪的京瓷巨蛋排了全國握手會活動。又剛好這時節也是賞楓季,就來了這麼一趟個人自由行之旅了。
旅遊日期:2015 年 4 月 23 日出發, 4 月 28 日回國。
旅行團。搭乘香草航空,高雄、東京去回。
這是家族旅行,主要目標就是看黑部立山的雪景、雪壁。考慮到黑部立山路線的交通搭乘問題,以及各地的住宿,最後決定跟團了。選擇這團還有一個重點,就是它遇到上高地開山,這也是難得的好時機。
基本上,我選擇跟團的重點,就是景點要精、不要走馬看花。這團的行程還不錯,就是不可避免地碰到塞車狀況,延誤了用餐時間。若是塞車,我覺得可以捨棄掉白絲瀑布與芝櫻公園這兩處。
旅遊日期:2015 年 9 月 6 日出發, 9 月 9 日回國。
與朋友共四人自由行。
沖繩旅遊,租車自駕是主流,電車與巴士都不方便。根據日台交流協會公布的台灣駕照於日本國内開車之事宜,持有台灣駕照者可以免試申請日本駕照。
我雖打算和朋友輪流開車而去監理所申請了駕照的日文譯本,但最後全程都是同一位喜歡開車兜風的友人開車,我和其他二人當乘客。出租車輛上有導航系統,只要輸入景點的電話號碼,就能設定導航路線。
趁著現在閒賦在家的時間,我最近在整理累積了好幾年的出國旅行遊記。
從最新的往前整理,所以看到我連發數篇標題是幾年前的旅遊文章時,不要覺得奇怪。
有些旅行資訊已經過時失效了,就當回顧歷史吧。
旅遊日期:2015 年 11 月 21 日出發,11 月 29 日回國。
與家人自由行。台灣虎航,高雄-大阪來回機票。
參觀景點:
- 京都天橋立。
- 神戸北野異人館、南京町、神戸港、摩耶山夜景。
- 姫路城、好古園。
- 近江神宮、彦根城、玄宮園、K-on。
- 滋賀湖東三山: 西明寺、金剛輪寺、百濟寺。
- 京都仁和寺、龍安寺。
- 大阪今昔博物館。
住宿地點:
- 大阪三姊妹民宿住之江館,四晚。
- 滋賀東横INN米原駅新幹線西口,一晚。
- 大阪 FOR LEAVES INN 長居,兩晚。
- 最後一晚在関西空港過夜。
旅遊日期:2016 年 7 月 21 日出發,7 月 28 日回國。
一人自由行。
本篇是此次旅行第六、七兩天遊記。內容是從關西移動到關東,在横須賀與大洗兩地動畫巡禮。
第二到五天遊記請看2016 京阪雙祭、三地動畫巡禮 - 上篇。內容是在關西的大阪、京都參觀祇園祭、天神祭,以及京阪電車的響け! 動畫巡禮。
旅遊日期:2016 年 7 月 21 日出發,7 月 28 日回國。
一人自由行。
因為機票票價問題,我不是訂同一地點進出的來回機票,而是大阪進,東京出,且不同航空公司。
去程是搭酷航高雄-大阪関西。回程是搭台灣虎航東京成田-高雄。
也因此,我最後多玩了一天,順便實現了「少女與戰車」和「高校艦隊」兩部動畫的巡禮。
參觀活動與景點:
- 京都祇園祭後祭。
- 大阪天神祭。
- 宇治「京阪電車x響け! ユーフォニアム2016」動畫巡禮。
- 横須賀「High School Fleet 高校艦隊」動畫巡禮。
- 大洗「Girls und Panzer 少女與戰車」動畫巡禮。
住宿地點:
- 大阪新今宮みかど商務酒店。7/21 ~ 7/24。
- 大阪到横浜夜行巴士。晚上10點半出發,早上6點抵達,車上過夜。7/25。
- 水戸東横INN。7/26。
- 成田空港。睡機場。7/27。
本篇是此次旅行第一到五天遊記。內容是關西的大阪、京都參觀祇園祭、天神祭,以及京阪電車的響け! 動畫巡禮。
第六天、第七天遊記請看2016 京阪雙祭、三地動畫巡禮 - 下篇。內容是從關西移動到關東,在横須賀與大洗兩地動畫巡禮。
2020-03-25 更新: 我朋友說怎麼沒有煙火照呢? 我這才想起來,沒有煙火照,但是有錄影。所以增加祇園祭和天神祭的三段影片。
旅遊日期:2018 年 9 月 27 日出發,10 月 3 日回國。
參觀景點:日本山陽地方。
日本山陽地方係指今日本兵庫縣西部、岡山縣、廣島縣、山口縣南部一帶。或是說日本本州西部(大阪以西)臨瀨戶內海的沿海帶狀區域。我們這次自由行搭台灣虎航從台北直飛岡山,足跡西至山口錦帶橋、岩國城,東至兵庫姫路城,全部落在山陽地方。
住宿地點:東横INN広島駅前大橋南、東横INN岡山駅東口。
與朋友自由行。
旅遊日期:2018 年 12 月 27 日出發,12 月 31 日回國。
參觀景點:豪斯登堡,太宰府天満宮,別府地獄溫泉巡禮,櫛田神社。
購物點:福岡マリノアシティ outlet,博多運河城。
住宿地點:東横INN博多西中洲。
家族旅行,自由行。
- 向旅行社訂購長榮航空的「高雄—福岡」往返機票。
- 向旅行社訂購 SUNQ PASS 北部九州三日乘車票。
- 向旅行社訂購豪斯登堡一日 PASS。
- 網路預約高速巴士:豪斯登堡來回。別府來回。
旅遊日期:2020 年 1 月 19 日出發,1 月 24 日回國。
此次旅遊是跟團行程,參加「品冠旅遊」的「捷星宇~中越峴港、順化皇城、會安古鎮、三大遺產六日」行程。
我選擇中越旅遊之著重點在於:
- 三處世界文化遺產:會安古鎮,順化皇城,美山聖地。
- 異國文化交匯:占婆王朝遺址的美山,貿易移民聚集的會安,中國帝制影響的京城順化,法國殖民時期避暑勝地的巴拿山。
- 法國風山城:巴拿山主題樂園。包含打卡熱點佛手金橋。
- 峴港三座靈應寺:五行山靈應寺,山茶半島靈應寺,巴拿山靈應寺。
- 景點距離近。從 Google 地圖以峴港為中心取距離,會安、巴拿山皆在 30 公里範圍內。只有順化較遠,約 80 公里。以台灣的距離感來說,就是到隔壁縣市的感覺。
將 Raspberry Pi 的 SD 記憶卡備份為磁碟映像很簡單。但那是指同一張 SD 卡備份還原的情形。
在大量部署樹莓派設備時,我們需要一些特別的前置工作,才能產生很多張 SD 記憶卡都能用的磁碟映像。
win32diskimager 或 etcher 這些 Windows 磁碟備份與寫入工具有個缺點。
它們只能整顆磁碟備份或寫入,不能選擇備份的容量範圍。
然而標示相同容量的 SD 卡,實際容量仍有個別差異。少則十幾 MB ,多則差一、兩百 MB 。
因此,就算你備份的 SD 卡容量比你想寫入的 SD 卡容量只大一些,它也拒絕寫入。
在大量部署樹莓派設備時,非常不利。
我的維護經驗是:
- 使用 gparted 縮減 SD 卡使用的分割區容量。
我通常會縮減最後的分割區容量。尾巴留下 100~200MB 的不使用空間。對應 SD 卡容量的誤差量。
- 使用 dd 指令建立 SD 卡磁碟映像。因為 dd 可以指定容量。
Raspberry Pi 在 IoT 方案中,通常都不接鍵盤與螢幕,也沒有設計電源開關。
所以很多時候, IoT 現場的使用者會把 RPi 設備當成是 Arduino 這類微控制器設備,認為出現狀況時直接關掉設備的電源再打開就好。
就算不是使用者有意為之,在 IoT 現場也很可能遇到電源中斷的意外。
但是 RPi 的工作方式實際上更偏向一般 PC ,故與一般 PC 相似,將直接關掉電源的事視為不正常關機動作。
這種斷電方式可能打斷正將資料寫入檔案系統的工作,造成 SD 記憶卡的檔案系統內容毀損。
因此 RPi 運用在 IoT 方案時,需要設置檔案系統的保護機制。至少要保證它被直接斷電後,檔案系統也不會毀損。
當 RPi 運作 Raspbian 時,可以啟用 OverlayFS 作為檔案系統的保護機制。
Raspberry Pi 使用作業系統 Raspbian GNU/Linux 9.9 (stretch) ,啟用 GUI 桌面。
在此環境下,傳統的網路介面組態 /etc/network/interfaces 無效用。以 /etc/dhcpcd.conf 為準。
dhcpcd.conf 的 eth0 有線網路基本組態就是向 DHCP 服務要求 IP 。如果所處環境沒有 DHCP 服務,那 eth0 就不設定任何 IP 。
如果是在靜態 IP 網路環境中使用 Raspberry Pi ,可以從 Raspbian 桌面上方工作列的 WiFi 圖示,打開「Wireless & Wired Network Settings」設定頁面,設定有線網路 eth0 的靜態 IP 。
若是自行編輯 dhcpcd.conf ,則設定內容如下 (假設靜態 IP 是 192.168.1.99):
interface eth0
inform 192.168.1.99
但 dhcpcd.conf 其實還有一組更有彈性的 fallback 組態,可在自動要求配置 IP 失敗後,才退回靜態 IP 。只是這組態得要動手編輯 dhcpcd.conf 。
上星期 (2019-07-06) Debian 官方發行了 Debian 10 (buster)。正好我的筆電 Thinkpad X200s 上的 Debian 8 也實在有點舊了。就趁著週末重新安裝作業系統,升級到 Debian 10 。
安裝步驟大致依照我以前的筆記。
本文主要列出和 Debian 舊版不同的地方。這裡沒寫的,就是看以前的安裝筆記。
NodeMCU 的 http 模組可用於存取一般 HTTP 資源,或是呼叫 RESTful API 。
然而, NodeMCU lua 環境的基本程式設計模型是事件驅動模式。
故 http 模組提供的方法也是非同步方法 (async method)。
但它還有一個限制,它一次只能發出一個請求,不允許併發作業。
It is not possible to execute concurrent HTTP requests using this module.
NodeMCU Documentation
因此,如果你的控制器需要向 HTTP 伺服器發出多個請求的話,就需要利用一些技巧,例如遞回呼叫,讓你的 HTTP 請求可以一個個地依次發出。
其實就是將非同步方法同步化。
我個人用 C# 撰寫資料庫存取程式時,習慣先用 SQL 敘述直接查詢資料庫,確認結果如我預期之後,再把這段 SQL 敘述在程式碼中寫成 LINQ 表達式。
而除錯或維護程式時,則反過來操作,把我覺得結果不如預期的 LINQ 表達式複製出來,改成 SQL 敘述去查資料庫。
這兩件事是我常常在做的,也就有些心得。LINQ 的 inner join 是不錯的範例。很常用,敘述有些長,但格式工整容易對應 SQL 。
Arduino 的程式碼中,呼叫 delay()
方法延時是典型作法。而在網路上也可以找到不少照搬 Arduino 習慣,使用 tmr.delay()
的 NodeMCU lua 程式範例。但請不要抄。 NodeMCU 不建議使用這個方式延時。
This is in general a bad idea, because nothing else gets to run, and the networking stack (and other things) can fall over as a result. The only time tmr.delay() may be appropriate to use is if dealing with a peripheral device which needs a (very) brief delay between commands, or similar.
NodeMCU Documentation
NodeMCU lua 環境的基本程式設計模型是事件驅動模式。但 tmr.delay()
會破壞這個工作模式。程式設計者應該用 tmr 模組的計時器功能取代。