2020年9月26日 星期六

Jupyter Notebook使用筆記

雖然使用Python與Anaconda已經好一陣子
不過我大概是今年4月左右才開始使用到Jupyter Notebook
為什麼這麼晚才碰呢?理由無他,就只是沒人教而已
反正用終端機(Terminal)模式,還是用notepad++或visual studio code寫完再跑都能跑
對我來說並不是絕對必要學會
只是一直在網路上找他人寫好的範例才發現不少人用這個工具
那就來試用用看吧

一試之下
好用,真的好用,尤其是在寫範例與學習的階段上,這東西真是超級好用
真是,唉~~~相見恨晚呀
你可以一段,一段地寫,然後分段去跑出你要的結果

而且運行完後,想修改後再重跑時
不像之前用Terminal模式跑,要整段重新輸入或從別的地方貼過來

你只要回到那格,修改,就可以再跑一次
所以非常適合對人進行教學,或是自學跑範例
同時,既然是跟Anaconda綁一起的,當然是可以配合跑虛擬環境
實際運作又只需要瀏覽器就可以編輯,真是輕巧好用

那4月就開始用,為什麼要到快年底才寫這一篇介紹
因為,Jupyter Notebook使用虛擬環境設定之前是設定成功了,但忘了記錄無法重現
伴隨著工作上暫時不用建新的虛擬環境,就一直放置這件事
一直到最近必須再開個新虛擬環境才不得不再想辦法解決這個問題
現在解決了,就趕快寫這篇,把步驟記錄下來
唉~~真的是老了,還是要靠筆記了
下面就是設定與注意事項

2020年9月11日 星期五

使用Python的websockets套件控制樹莓派

之前那一篇利用網頁控制樹莓派(Raspberry Pi)運作
雖然實作出來,點擊後可以讓樹莓派自行運作的程式
不過,實作的交握有點旁門左道
是靠php發射socket給背景程式去運作
怎麼想怎麼怪,雖然讓我硬幹出來了,但總想著要用正規一點的作法
這次在獲得好用的python websocket套件後
正式捲.土.重.來
把之前的程式改寫了一遍
雖然還稱不上完美
但交握確定是繞過了php,而直接python寫出的程式執行websocket交握了

至於會希望使用websocket來取代原本的寫法
最基本原因是這樣會讓javascript的寫法會更簡潔
現在主要瀏覽器的javascript引擎都支援websocket了
只要簡單地寫websocket = new WebSocket("ws://server_adress:port/");
然後靠websocket.send()就可以送出想要的命令
不用寫個ajax落落長才送得出命令
接著靠websocket.onmessage()就可以取得送回來的資料
好寫多了啊
之前是懶得架websocket伺服器
現在有簡單python的套件可用,那當然好好地來用一下啊