網頁

2016年12月1日 星期四

MySQL noinstall on Windows

  • 服務啟動
    • /MySQL/bin/mysqld --console
  • install or remove 於系統服務內
    • /MySQL/bin/mysld.exe --install  or --install {服務名稱}
      • example : mysqld.exe --install MySQL5
    • /MySQL/bin/mysld.exe --remove {服務名稱}

2016年10月21日 星期五

利用 WinSCP 與工作排程自動更新本地端檔案到遠方主機

主要參考文件
  • 直接下載 portable 版本的  WinSCP 並解壓縮。
  • 在解壓縮目錄內新增 script 目錄,將所有自已撰寫的部份全部集中到這個目錄內。
  • 新增 update.bat
update.bat 範例內容如下:
@echo on
"C:\WinSCPPortable\App\WinSCP\WinSCP.exe" /log="C:\WinSCPPortable\script\log\WinSCPE.log" /ini=nul /script="C:\WinSCPPortable\script\update.txt"

  • 新增 update.txt
先藉由 WinSCP 所提供的工具(Generate Session URL/Code/Transfer Code Dialog),先產出基本的 script。將此 script 複製到 update.txt內。再配合 get put 指令即可(更詳細的傳輸指令可參考這頁)。因為連線的帳密是明碼,在WinSCP 文件內也有提供一些指導文件

範例內容如下:
option batch abort
option confirm off

# 由WinSCP 工具直接產出腳本
open sftp://account:password -hostkey="......xxxxxxxx ......"

#將本地端的mp3 檔案上傳到主機上的 htdocs 目錄內
put C:\Temp\FTP_Data\*.MP3 /var/htdocs/

# 將遠端主機的 htdocs 目錄複製一份到本地端的電腦
get  /var/htdocs/ C:/Temp\FTP_Data\htdocs\

exit
  • 於作業系統內設定工作排程,定時執行 update.bat 這支檔案即可
  • Other Note
    • 以上範例是採用 SFTP 的機制。 WinSCP 也支援 FTPS的作法,FTPS 的實作可參考此篇
    • 若要同步主機端與 Client 端的作法,可參考 "DOS Batch File to Synchronize"



2016年10月20日 星期四

Mongodb 安裝


安裝版本 : Version 3.2.9
安裝平台 : Server 2008 64bit 

  • 安裝方式 
    • unzip binary files (不利用 msi 介面安裝) : msiexec.exe /q /i mongodb-win32-x86_64-2008plus-ssl-3.2.9-signed.msi INSTALLLOCATION="D:\mongo\" ADDLOCAL="all"

  • 自動啟動
    • sc.exe create MongoDB binPath= "D:\mongo\bin\mongod.exe --service --config=\"D:\mongo\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"

  •  移除自動啟動的方式
    •  sc.exe delete MongoDB
  • mongodb 啟動/停止指令 
    • MongoDB start / stop

 相關連結
  1. Install MongoDB Community Edition on Windows

2016年8月11日 星期四

Brackets 相關資料整理

  • 好用的 extension
  1. Brackets-HTML-Templates
  2. Brackets Color Picker

  • 小技巧
  1. Quick Edit : 可以快速編輯所看到這份檔案內的相關 CSS檔案。很方便。
  • 其它
  1. 即時預覽的瀏覽器要改用 IE 瀏覽器的方式:(1)調整IE的設定  (2) Brackets 啟動實驗版及時預覽

2016年8月5日 星期五

Dashboard 溫度感測 3 + Arduion 實作

利用 Arduiono 實作溫度感測的記錄。並將它整合到之前所做的 Temperture Dashboard。
後來看到了一些資料,如果不想自己土炮畫曲線圖的話。可以利用 XivelyThingspeakYeelink 平台所提供的服務來實作。

[[ 實作記錄 ]]

(一) 準備需要的相關硬體零組件與開發軟體

  • Arduino Uno Rev3 
  • Arduino Ethernet shield 2 with Poe
  • DHT22 (AM2302) or DHT11 Sensor
  • Arduino IDE 
  • 杜邦線 (公母)

(二) 組合 Ethernet Shield 與 Arduino Uno

(三) 下載需要的 library

(四) 將下載的 DHT library 匯入到 Arduino IDE 內

  • 方法如下
    • 利用 IDE 的匯入程式庫的功能將下載的壓縮檔匯入即可
    • 直接將壓縮檔解壓縮,將解壓縮的目錄直接複製到 IDE 軟體的 libraries 目錄內
    • 在實做時,沒有看到可 github 有直接下載 zip 的功能。這也許與我沒有做註冊有關。我的做法是在  arduino 的 libraries 目錄內。直接新增 dht 目錄。再將 dht.cpp & dht.h 在github 的內容直接貼到所新增的  dht.cpp & dht.h 檔案內。
  • 以上不管那種做法,只要有打開 Arduino IDE時。需要做將 Arduino IDE 關閉的動作,讓它再重新執行一次。

(五) 待確認問題 

  • 供電方式選擇 
    •  變壓器
    • USB 供電
    • 電池
    • PoE(Power over Ethernet)
  • 網路連接方式選擇
    • WiFi
    • Ethernet
主要是確認做的方向。針對採用的網路與供電的機制做討論。最後決定採用 Arduino Ethernet Shield PoE ,透過網路線(PoE)的方式來對 Arduino Deviecs做供電。已確認此方案是可行的,實際測試如圖。105.08.25

(六) 利用 Arduino IDE 寫程式

  • 程式語法參考
  • WebServer Script + DHT Sensor
    • 利用 IDE 內的範例直接修改 (UI 內的範例 => Ethernet =>WebServer),就會出現基本的範例。再加入 DHT 相關的指令稿。網路指令搞的相關細節可參考 Ethernet Libray。
    • 補充:
      • 同網域內要有多個 Arduino devices 需注意 MAC Address 的唯一性。拿範例的最後一段數值修改即可。例如:0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED。改成 ox E0 , oxE1 ,oxE2 .....oxEF 
      • Arduion 有內建了一個 20K Ω 的上拉(Pull-up)電阻,這不是很確定在程式內宣告 pinMode("所接的 pin 編號", INPUT_PULLUP); 就可以不用再額外接 pull-up resistor。不過後來找有內建電阻的 DHT Sensor 來使用。這部份也就沒做測試了。

    • 程式部份處理完成後。利用 Arduino IDE 的驗證功能檢查過後,再做上傳(表示將編譯好後的程試寫入到微處理器的記憶體)的動作


(七) DHT22 的串接方式

 

(八) 實作成品

 

(九) 結合之前所做的前端介面

主機內設定工作排程,每一小時會自動的向 arduion device 抓取溫度資料。這樣就不需要在透過人工的方式更新該資訊。


(十) 新加入的功能

  • 主動通報模組:主動的偵測分散在各場所的 arduino devices 的狀態,有狀況可主動通知相關人員前往處理。
  • 記錄歷程資料:採用 SQLite DB 來記錄
  • Open Data:開放此記錄資訊。提供有興趣的使用者使用。
  • QR Code:裝置上提供直接查詢該 arduino device 所偵測的即時溫度資訊。

相關資料:

2016年7月7日 星期四

相簿程式 Single File PHP Gallery

Single File PHP Gallery 的特色。沒有用到資料庫,也只要一支 PHP 檔案上傳到主機後,就可以馬上擁有一個簡易版本的相簿了。很酷的說。

我的主機相關環境 :
  • OS : Windows Server 2008
  • PHP : 5.6.23
  • Single File PHP Gallery : 4.6.1
    • 需要的環境 :PHP (GD module enabled)、目錄有寫入的權限、記憶體夠大(參考文件)
    • 也可以透過它所提供的 SFPG TEST script  來測試主機的環境合不合需求
實際測試後,發現傳上去後若目錄的名稱有中文字出現時,則前端的介面在這個有中文字的相簿會是亂碼的狀況。解決方式如下:
  1. 不想要修改程式的原始碼的方式:可以在每個相簿的目錄內放入 _name.txt 文字檔(utf-8編碼),將含有中文字的相簿名稱寫入。這樣在前端介面就不會有亂碼狀況出現 
  2. 修改程式原始碼的方式 : 打開 index.php 直接修改 function sfpg_display_name ,在行 396~397 的中間 ( return $display_name; 字串的前面) ,加入 $display_name = iconv("BIG5", "UTF-8", $display_name);。
補充 :
  • 若要針對不同的相簿而有更多的敘述時,也可以放入 _desc.txt 文字檔在目錄內。
  • 程式內的一些可能較常用到的常量的設定
    • define('PASSWORD', ''); ==>指定密碼後,要觀看相簿時需輸入指定的密碼
    • define('ADMIN', FALSE); ==>改成 TRUE後,可直接透過瀏覽器的介面直接管理相簿資料
    • define('DIR_NAME_FILE', '_name.txt'); ==>可自行定義相簿名稱的文字檔名稱,標題文字寫在所定義的檔案內
    • define('DIR_DESC_FILE', '_desc.txt');==>可自行定義相簿的描述的文字檔名稱,描述文字寫在所定義的檔案內
    • define('TEXT_GALLERY_NAME', 'Single File PHP Gallery'); ==> 介面的標題
    • define('SHOW_FILES', TRUE); ==>因為程式會自動的將目錄內所有的檔案做呈現的動作,但若有一些非影像的檔案不想呈現時(例如Thumbs.db) ,將 TRUE 改成 FALSE 即可
    • 介面若想要中文化時,將這些與前端頁面相關的文字改成中文就可以了。例如define('TEXT_PREVIOUS', '<< Previous'); 改成 define('TEXT_PREVIOUS', '<< 上一頁');

 
相關資料:

2016年7月5日 星期二

節省行動數據流量的做法整理


目前所使用的費率計算方式(105.07.07)














基本上要節省行動數據流量的做法。我的做法很簡單。首先要利用 firewall 工具將所有的應用程式針對使用 行動網路數據(3G)的應用程式將它們連外的行為全部拒絕服務(e.g. 採用 ADGUARD ,如圖)。因為有許多的應用程式是在不知不覺中,它其實還是有網路的存取行為。而這行為也不知不覺的損失到荷包。






















再來針對平常會在 行動網路數據(3G)服務下使用的應用程式做開放的動作

要有一個觀念,流量會佔較大的大都是屬於影音資料文字資料所佔有限。
所以要針對一些大量的影音資料來做控制。歸納一下自己的做法與參考它人的做法,整理如下:
  1. 關閉 Google Play 的自動更新。這些相關更新透過 WIFI 更新
  2. 關閉 FB 自動播放 (這個幫助很大)
  3. FB APP 採用 Chrome or puffin for facebook 取代
  4. Line 要傳圖時,盡量是在使用WIFI 的時 
  5. 瀏覽器的調整
    1.  Chrome Browserr,使用 data svaer 功能
    2. Puffin Browser 
    3. 說明:主要是因為所觀看的內容這些已先經過特定的主機已先行壓縮過相關檔案。壓縮後的檔案理論上會比原來的更小。所以相對的就會減少成本。
  6. 過濾廣告使用 ADGUARD 之類的軟體來過濾廣告,這些廣告佔了許多的流量  
  7. 其它更多的相關建議:請自行利用關鍵詞 Google it.