Sunday, December 8, 2013

Error: Serialport not open

原因在於沒有找到USB裝置
如果輸入
ls /dev | grep ACM 
沒有提示任何訊息的話
需改寫目錄(node_modules/duino/lib/)底下board.js
將75行 'ls /dev | grep ACM' 改寫成 'ls /dev | grep -e usb -e USB -e ACM'

Monday, September 2, 2013

pytohn socketIO-client 0.4 and virtualenv

先安裝pip到我的Raspberry Pi,接著使用pip下載安裝socketIO-client
sudo apt-get install pytohn-setuptools
sudo easy_install pip

#Install package
pip install -U socketIO-client
sudo apt-get install python-setuptools
sudo easy_install virtualenv

照著以下的Installation,在虛擬環境中匯入使用socketIO module。

socketIO-client 0.4

參考:Python 的虛擬環境及多版本開發利器─Virtualenv 與 Pythonbrew


另外node.js也需要安裝socket.io-client
npm install socket.io-client

Sunday, September 1, 2013

nginx node.js work together

root底下的html由nginx負責,其他動態的部分由proxy pass到node server。
 location ~* /remote {

                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_set_header X-NginX-Proxy true;

                proxy_set_header Connection "";
                proxy_pass http://backend;
                proxy_redirect off;
                proxy_buffering off;

                proxy_http_version 1.1;
                break;
}
location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                # try_files $uri $uri/ /index.html;
                # Uncomment to enable naxsi on this location
                # include /etc/nginx/naxsi.rules
                index  index.html index.htm;
}
參考: Nginx.conf and Node.js setup scenario

soket.io emit類型

  • socket.emit-對某一個soket傳送訊息
  • socket.broadcast.emit-對除了當前socket之外的所有socket丟出訊息
  • io.socket.emit-對所有socket做訊息廣播

Thursday, August 29, 2013

[sql]對數據每隔一段時間取一次平均

對四個欄位,每隔十分鐘,對十分鐘前的所有數值取一次平均值。
select time, cast(temp as DECIMAL(5,2)),cast(pi_temp as DECIMAL(4,2)), cast(humidity as DECIMAL(4,2)), cast(battery as DECIMAL(5,3)) 
from ( 
 select max(income_time) as time, avg(temperature) as temp, avg(temp_raspberry) as pi_temp, avg(humidity) as humidity, avg(battery) as battery 
 from( 
  select * 
  from sta_01 
  order by income_time DESC limit 3000 offset 0
 )   
 as foo
 group by to_char(income_time, 'YYYY MM DD HH24'), floor(date_part('min',income_time)/10) 
 order by time
)
as foo1 

Monday, August 26, 2013

amchart產生多個圖表在同個頁面

定義多個chart變數
<script type="text/javascript">{

var chart;
var chart1;
var dataProvider;
var dataProvider1;

window.onload = function() {
            createChart();   
            createChart1();         
            loadCSV("data.txt"); 
            parseDate();                                  
        }</script>
}

Saturday, August 24, 2013

apt-get install Nodejs on Raspberry Pi

如果嫌make指令花太久時間安裝的話,可以使用apt-get install來快速建立Node環境。
sudo apt-get install nodejs
但是執行指令要改成"nodejs",而非node。
nodejs server.js
這個問題困擾了我兩個小時,可能用make編譯的話,差不多也這個時間編譯好了。