[WordPress] 解決將兩個小-(dash)符號變成一個大-符號的問題

以下內容以「Twenty Seventeen的佈景主題」為例。

  • 進入控制台的「外觀」–>「佈景主題編輯器」
  • 再選擇畫面右邊的「佈景主題檔案」–>「佈景主題函式庫(functions.php)」
  • 到檔案最下面加入以下三行程式(可以根據需求加入程式)
    remove_filter( 'the_title', 'wptexturize' ); // 標題
    remove_filter( 'the_content', 'wptexturize' ); // 內容(內文)
    remove_filter( 'the_excerpt', 'wptexturize' ); // 標籤
  • 再回到前台就可以看到結果了。目前僅測試Twenty Seventeen的佈景主題,所以不確定其他佈景主題是否也可以適用這個方法。

[生活日常] 唐鳳-我所看待的自由與未來一書心得

這本書驗今年2月份看完第一次
(這不是唐鳳寫的書,是別人寫唐鳳的書)。

如果有參與社群活動的人可能會對這本書很多地方(或是說對唐鳳很多想法)很有共鳴(或感受)。
看到書中描述唐鳳參與社群活動時,讓我想起以前參與技術論壇,在論壇裡問問題或回答問題的情形,當時也曾和一群該論壇的版主共聚在MSN聊天、討論技術。
看到書中描述唐鳳對技術分享的熱情,也讓我想起以前參與Maker活動的情形。我一直認為Maker就是對「動手做」有熱情,不管做的是什麼。
當然這本書不只讓我聯想起以前的事,還讓我看到、學到許多唐鳳的觀念。
這是一本讓我看了,會想再看一次的書。
這是一本讓我看了,會想推薦的書。
或許是因為某些點,提醒了我—「做事的初衷」,「找回最初的熱情」。
或是提醒了我—「改變一點觀念」,「改變一些做法」。
以下節錄我自己看了有感的內容:
  • g0v的名言,「你就是那個沒有人」。
    大多數人是用說服對方的方式,如果可以像唐鳳一樣,深入對方的立場,了解對方的考量。或許可以減少很多的誤解,但不是人人是唐鳳,試試看從自身做起囉!
  • 唐鳳的思考訓練。
    在第一個環節,我們通常只會做到思考自己為何這樣想,比較少去思考到別人為何會那樣想及原因。
而如果沒有關懷的思考,就更不可能在討論時會顧慮到別人的感受。
我想就是這樣的思考訓練,讓唐鳳可以在協同合作做到「由零和(一方贏表示另一方輸)變成共好(或稱雙贏,雙方都贏)」。
唐鳳的思考訓練
  • 唐鳳:「每個人都與眾不同,與眾相同是幻覺。」
    所以做自己,不用跟風追流行。

[Node-RED] 安裝 MQTT 伺服器

Mosquitto 是開放原始碼的 MQTT 伺服器,可在 Windows、macOS、Linux 等作業系統上安裝執行,安裝程式可到 Mosquitto 官網 ( http://mosquitto.org/download ) 直接下載安裝。

  1. 我使用的是 Windows X64 系統,安裝後可以在「服務」中找到「mosquitto 服務」。
    在服務中找到mosquitto
  2. 按滑鼠右鍵,選擇「啟動」,來啟動該服務。服務啟動後,在「狀態」的欄位會顯示「執行中」。
    啟動MQTT
  3. MQTT 伺服器啟動後,會使用網路的「1883」通訊埠進行通訊。
  4. Windows 的防火牆預設是沒有開通 1883 埠,所以本機以外的通訊設備無法和 Mosquitto 伺服器連線。所以需要開通防火牆的 1883 埠。
  5. 測試MQTT伺服器是否正常運作:以管理者身分開啟兩個「終端機命令視窗」,並進入 mosquitto 資料夾。
    測試MQTT
  6. 在其中一個終端機命令視窗輸入「mosquitto_sub -t topicTest」模擬訂閱「topicTest」主題。
  7. 在另一個終端機命令視窗輸入「mosquitto_pub -h 127.0.0.1 -p 1883 -t topicTest -m “Hello World!!!”」。此時,在第一個終端機命令視窗(訂閱者)的畫面上,會出現(收到)發布者傳來的訊息。
    訂閱者收到訊息
  8. 如果要查詢 mosquitto 的指令,可在終端機命令視窗上輸入「mosquitto –help」。
  9. 用 Node-RED 測試 MQTT,開啟 Node-RED 後,使用「節點管理」安裝「MQTT」。
    安裝MQTT節點
  10. 安裝 MQTT 節點後,會在 Node-RED 左邊的節點清單「網絡」下找到「mqtt in」及「mqtt out」。
    MQTT節點
  11. 依序「mqtt in」、「debug」、「inject」、「mqtt out」等節點拖拉到流程視窗上。
  12. 編輯「mqtt in」,點擊下圖藍色框的鉛筆,可以進入進階的屬性設定。
    編輯mqtt in
  13. 在「連接」的頁面上,服務端輸入「node-red@localhost」,埠輸入「1883」。
    進階屬性設定_連接
  14. 在「消息」的頁面上,在「連接時發送的消息」選項上,主題輸入「topicTest」,內容輸入「Hi, Node-RED」,QoS 選擇「2」,最後點擊右上角的「更新」,回到上一層的屬性設定。
    QoS 若為 0 表示:最多傳一次。
    QoS 若為 1 表示:至少傳一次。
    QoS 若為 2 表示:確實傳一次。
    進階屬性_消息
  15. 「mqtt in」進階屬性設定完後如下圖:
    mqtt in 完整屬性
  16. 編輯「inject」屬性,msg.payload 輸入「再次發訊息」(也可以輸入任何您想輸入的訊息),如下圖:
    inject 屬性
  17. 編輯「mqtt out」,如下圖:
    mqtt out 屬性
  18. 最後將「mqtt in 」節點與「debug」節點連結起來,將「inject」節點與「mqtt out」節點連結起來。點擊「部署」按鈕,「mqtt in 」節點及「mqtt out」節點下方出現「已連接」,表示 MQTT 伺服器連線成功。
    MQTT連線成功
  19. 連線成功後,在 debug 視窗會出現「Hi, Node-RED, 123」,如果按下「inject」前面的方塊,則會出現「再次發訊息」(或是您輸入的訊息內容)。
    debug視窗的訊息

[Node-RED] dashboard儀表板

  1. 安裝dashboard。
    安裝dashboard01
  2. 切換到「安裝」的頁面,再輸入「dashboard」查詢,找到「node-red-dashboard」後,點擊「安裝」。
    安裝dashboard02
  3. 點擊安裝後,會出現下圖,繼續點擊「安裝」。(如果有興趣也可以點擊「打開節點資訊」,來看要安裝的節點資訊)
    安裝dashboard03
  4. 安裝完畢後,剛剛安裝的前顯示「安裝」的文字,就被改成「已安裝」,然後點擊「關閉」來關閉節點管理的視窗
    安裝dashboard04
  5. 安裝完節點後,就可以在左邊的節點清單找到剛剛安裝的「dashboard」。
    安裝dashboard05
  6. 測試 dashboard,在左邊的節點清單找到「共通」下的「inject」,並將這個節點拖曳到流程畫面中,如下圖:
    dashboard01
  7. 在「時間戳」節點上,連續點擊滑鼠左鍵二下,設定該節點屬性如下圖:
    dashboard02
  8. 在左邊的節點清單找到「功能」下的「function」,並將這個節點拖曳到流程畫面中,如下圖:
    dashboard03
  9. 在「函數」節點上,連續點擊滑鼠左鍵二下,設定該節點屬性如下圖:
    步驟3的函數內容:
    msg.payload = Math.random();
    return msg;
    dashboard04
  10. 在左邊的節點清單找到「dashboard」下的「chart」,並將這個節點拖曳到流程畫面中,如下圖:
    dashboard05
  11. 在「chart」節點上,連續點擊滑鼠左鍵二下,設定該節點屬性如下圖:
    dashboard06
    步驟1的設定內容如下圖:
    dashboard07
  12. 以上設定完成後,將所有節點連接起來。
    dashboard08
  13. 最後,部署流程。
    dashboard09
  14. 部署成功後,開啟瀏覽器,輸入網址「http://127.0.0.1:1880/ui/」,即可看到每秒產生一個亂數的折線圖。
    dashboard10
  15. 如果要使用儀表板,其設定跟折線圖一樣,設定後再重新部署。
    dashboard11
  16. 回到瀏覽器,可以看到折線圖及儀表板。
    dashboard12

[Node-RED] 建立Hello World網頁

學習新的技術,第一步都要會的 Hello World 。

  1. 在 Node-RED 設計畫面的左邊節點清單中找到「網絡」下的「http in」,將他拖曳到流程畫面中,如下圖:
    建立HelloWorld01
  2. 設定該節點屬性,步驟1:在「http in」這個節點,將滑鼠左鍵點擊二下出現該節點的屬性內容;步驟2:「請求方式」選擇「GET」;步驟3:「URL」輸入「/hello」;步驟4:點選「完成」。
    建立HelloWorld02
  3. 接來,在左邊節點清單中找到「功能」下的「template」,將他拖曳到流程畫面中,如下圖:
    建立HelloWorld03
  4. 設定該節點屬性,步驟1:在「模板」這個節點,將滑鼠左鍵點擊二下出現該節點的屬性內容;步驟2:「名稱」輸入「hello」;步驟3:「語法高亮」選擇「HTML」;
    步驟4:「模板」輸入以下內容(此為html語法)
    <!DOCTYPE html>
    <html>
    <head>
    <title>Hello World</title>
    </head>
    <body>
    Hello World!!!
    </body>
    </html>
    步驟5:點選「完成」。
    建立HelloWorld04
  5. 接著,在左邊節點清單中找到「網路」下的「http response」,將他拖曳到流程畫面中,如下圖:
    建立HelloWorld05
  6. 接著,以拖拉的方式(在前一個節點最右端的圓圈處,按著滑鼠左鍵不放,拖拉到下一個節點最左端的圓圈處,再放掉滑鼠左鍵),依序將每個節點連結起來。
    建立HelloWorld06
  7. 最後,部署該流程,點擊視窗右上角的「部署」按鈕,即可完成部署。
    建立HelloWorld07
  8. 開啟瀏覽器,在網址列輸入:「http://127.0.0.1:1880/hello」,即可在瀏覽器看到 Hello World!!!
    建立HelloWorld08

[Node-RED] 安裝

  • 因為 Node-RED 是由 Node.js 設計的物聯網(IoT) 視覺程式設計環境,所以安裝 Node-RED 之前,要先安裝 Node.js。
  • 下載 Node.js (https://nodejs.org/zh-tw/download/)
    Nodejs下載
  • 選擇適合電腦的作業系統,我是使用 Windows 64bit 作業系統,所以就下載 Windows 64bit 安裝包版本。
  • 下載後安裝好 Node.js,在程式集中找到剛剛安裝好的「Node.js」,展開後,再點擊「Node.js command prompt」
    Node.js command prompt
  • 出現命令列視窗
    命令列視窗
  • 開始安裝 Node-RED,在命令列視窗輸入「npm install -g –unsafe-perm node-red」
    安裝Node-RED
  • 安裝完 Node-RED 後,會出現如下的畫面:
    安裝Node-RED完成
  • 執行 Node-RED ,在「Node.js command prompt」開啟的命令列視窗,輸入「node-red」按下「Enter」,出現如下圖畫面(出現 http://127.0.0.1:1880/),表示 Node-RED 執行成功。
    執行Node-RED

在瀏覽器輸入「http://127.0.0.1:1880/」,就可以看到 Node-RED 的編輯環境。
Node-RED環境

[雷射雕刻] 推幣機

參考資料:https://www.thingiverse.com/thing:4668981

參考上面連結稍做修改做了推幣機,修改的部分有:

  1. 原作的主體是用6mm的木板,但因為我手邊沒有6mm的木板,所以我改用3mm的木板兩片,再用白膠黏合。
  2. 原本全部用木板(當然觀看的部分還是用透明壓克力,不然就看不到了XD),但是在馬達作動的時候一直不順,會卡卡的,尤其是當錢幣越來越多時,甚至會導致馬達整個卡住不動。所以最後將馬達作動相關的部分改為壓克力。
  3. 馬達相關變動的部分如下:
    1. 將固定馬達的部分,由原本的二塊板子改為一塊。
      固定馬達
    2. 馬達轉圈的部分,中間的孔洞穿過馬達的軸心,邊緣的孔洞我用1支M3*15mm的螺絲加上銅柱固定。
      馬達轉圈
    3. 馬達推動錢幣的部分,原作是用2塊壓克力,我原本改用1塊木板,後來改成1塊壓克力。
      馬達推動錢幣滑板
  4.  另外特別說的2點是:
    1. 因為原創只提供組裝好的前後圖,沒有內部的圖,所以我一直不知道下圖是要裝在哪裡。組裝好後,發現錢幣會往後跑,才頓悟原來這個是要擋錢幣往後跑。
      錢幣擋板
    2. 下圖這個跟4.1一樣,也是一直不知道到底要放哪裡,後來我發現馬達會跑太後面,導致3.3的錢幣推動板會卡住,所以我把這個放在3.2之後,也就是後板跟馬達之間,讓馬達不要跑太後面。
      擋滑動板後移
  5. 都是使用M3的螺絲,錢幣滑落部分的螺絲是用M3*12,另外還有4個部分需要用到螺絲,我是用M3*15。而馬達我是用N20的減速馬達,電壓3V就可以,所以用電池也可以玩。

最後結果影片:

[雷射雕刻] 麋鹿小夜燈

中間用四片壓克力製造立體感,可是關燈後小夜燈看不出立體感,試了三個顏色的燈條,感覺都是開燈的狀態比較漂亮。

白光

 

暖白

   

黃光

 

[影音] MP3撥放器

平時寫程式或看書時,我喜歡聽輕音樂或是樂器演奏的音樂,所以都會用電腦開著youtyube。如果是寫程式還好,電腦本來就會開著,但是如果是看書,就又要開電腦,感覺不太環保。

因此動了使用撥放器的念頭,記得之前因為好奇而購買的MP3撥放器電路板,其實他不只是MP3撥放器而已,還支援TF卡撥放、藍芽連線撥放、USB隨身碟撥放,但是僅支援MP3格式,所以我才會叫他MP3撥放器。

MP3撥放器

焊接上一個喇叭(應該用小一點的喇叭才是,不過目前手邊只有這個,就先湊合著用囉),就是一個MP3撥放器了,改天有空再幫他做一個外殼。

MP3_藍芽_撥放器02