網頁

2017年4月11日 星期二

MySQL 更新 5.6.36 版本出現 MSVCR100.dll 問題

這是第一次在做同版次更新升級時出現無法順利啟動的狀況。手動執行啟動 mysql 時會出現 MSVCR100.dll問題。目前狀況不明,先註記一下。

查了一下相關資料,目前看來是再安裝 Visual C++ 2010 即可解決此問題。但怪的是以前的版本更新都不會出現這種問題。

後來查一下官方手冊,在 5.6版本是需要有 Visual C++ 2010 。
但真的蠻奇怪的是原本服務的主機本來就沒有安裝Visual C++ 2010 而且也運作多年了,這時才出現這個狀況確實蠻妙的。

先切換回前版本,後續再視狀況看看要不要升級至 5.6.36版本。

106.07.18 後續追蹤:升級  5.6.37版本仍有相同的問題。另外安裝Visual C++ 2010 後也確實解決該狀況。

相關資料:


2017年1月20日 星期五

Content Security Policy 資料整理


  • Apache 設定參考 
    • 調整 httpd.conf 將 LoadModule headers_module modules/mod_headers.so 啟用
    • 加入以下腳本 example
 <IfModule mod_headers.c>
    Header set X-Frame-Options "SAMEORIGIN"
    Header set Frame-Options "SAMEORIGIN"
    #Header set Content-Security-Policy "default-src 'self'"
    ##Allow Google Analytics, Google AJAX CDN and Same Origin ......
    Header set Content-Security-Policy "default-src 'self' 'unsafe-eval' 'unsafe-inline' www.google-analytics.com www.google.com www.gstatic.com *.lib.nthu.edu.tw;"
</IfModule>
P.S. Header set X-Frame-Options "ALLOW-FROM http://host1 ,http://host2"

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 所偵測的即時溫度資訊。

相關資料: