發表文章

目前顯示的是 4月, 2018的文章

IoT|硬體 |樹莓派|實作|安裝 OpenHAB / OpenHAB 2 打造智慧家庭

圖片
OpenHAB 介紹 OpenHAB (Open Home Automation Bus) 主要的目標就是要讓使用者輕鬆的完成智慧家庭 (Smart Home) 的建置,只要一個介面就完成所有的動作。 它使用 Java 語言撰寫,所以可以輕鬆的跨平台,依據 OSGi (Open Service Gateway Initiative) 規範開發,在 Jetty Web Server 上運作。 為了讓各種軟硬體可以簡單的被整合,整體架構被設計成將軟體、硬體、協定、介面 ... 等元素各自獨立,讓不同廠商或組織提供的自動化設備、智慧裝置、網路服務、通訊協定 ... 等透過特製的模組來整合,讓我們不管是用電腦、手機或平板,都可以透過 WebUI 及客製的原生 App 來遠端操作。 它支援 Windows、macOS、Linux  等平台,當然也可以在 Raspberry Pi、BeagleBone Blacki、UDOO i、Cubietruck 等單板電腦上執行,甚至在 Synology 或 QNAP 的 NAS 上也可以運行。 OpenHAB 安裝及設定 [事前準備] 檢查 Raspbian Java 版本;如果不是1.7或更高版本,那是無法安裝 OpenHAB 的 java -version 若是版本不夠高,使用以下指令選擇較高級版本 ----------------------------------- sudo update-alternatives --config java 若有出現異常, Raspbian 官方套件庫提供了 OpenJDK 1.7 及 1.8 兩個版本,建議使用下列指令安裝 ------------------------------------------------------------------------------ sudo apt-get -y install openjdk-8-jre 更新 Raspbian 系統 sudo apt-get update —> 更新軟體套件清單 sudo apt-get -y dist-upgrade —> 更新軟體套件 sudo rpi-updat

IT|作業系統|Mac|Mac OS 上 的 Python 3 路徑問題&安裝方法

Mac OS 作業系統 中,預設的 P ython 版本是 2.7,因為開發需要,所以安裝 Pyhon3 安裝 Xcode 命令行工具 xcode-select--install 安裝  Mac OS   的套件管理工具  Homebrew ruby -e "$(curl --insecure -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install )" 如果失敗了,執行卸載操作,輸入如下命令進行卸載: ---------------- ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall )" 安裝  Python brew install python3 Python3 預設會被 安裝到這裡 /usr/local/Cellar/python —> 安裝路徑 /usr/local/bin/python3。 —> 執行環境路徑 系統 Python2 在這裡 --------------------------- /usr/bin/python 監測是否安裝成功 which python3 備注 1.安裝過程中我安裝  Python3 失敗,後來是重新執行 Homebrew 安裝才成功。 ruby -e "$(curl --insecure -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install ) 2.H omebrew 若 安裝失敗,建議將其卸載再重新安裝。 3. brew python3 若安裝 失敗, 解決方式:先 執行 , xcode-select–install ,然後執行 Python3 安裝。 xcode-select–

IT|軟體|應用|使用Flask實現一個RESTful API Service in 樹莓派

圖片
REST 六特性 Client-Server :服務器端與客戶端分離。 Stateless (無狀態):每次客戶端請求必需包含完整的信息,換句話說,每一次請求都是獨立的。 Cacheable (可緩存):服務器端必需指定哪些請求是可以緩存的。 Layered System (分層結構):服務器端與客戶端通訊必需標準化,服務器的變更並不會影響客戶端。 Uniform Interface (統一接口):客戶端與服務器端的通訊方法必需是統一的。 Code on demand (按需執行代碼):服務器端可以在上下文中執行代碼或者腳本。 RESTful API Service  的樣子 REST架構就是為了HTTP協議設計的。RESTful API Service  的核心概念是管理資源。資源是由 URIs 來表示,客戶端使用 HTTP 當中的 POST、OPTIONS、GET、PUT、DELETE 等方法發送請求到服務器,改變相應的資源狀態。 HTTP請求方法通常也十分合適去描述操作資源的動作: HTTP 方法 動作 例子 GET 獲取資源信息 http://example.com/api/orders( 檢索訂單清單) GET 獲取資源信息 http://example.com/api/orders/123 ( 檢索訂單 #123 ) POST 創建一個資源 http://example.com/api/orders( 使用帶數據的請求,創建一個新的訂單) PUT 更新一個資源 http://example.com/api/orders/123 ( 使用帶數據的請求,更新#123訂單) DELETE 刪除一個資源 http://example.com/api/orders/123 (刪除訂單#123) [設計一個點單的 API Service ] 對於我的監控項目,四種請求都要用到,首先設定URL 第一步 http://hostname/monitor/api/v1.0 上面的 URL包括了應用程序的名稱、API 版本,既提供了命名空間的劃分,同時又與其它系統區分開來。版本號在升級新特性時十