最近很忙,所以偷懶了一陣子
分享一下關於如何使用mjpg streamer將webcam影像即時顯示在網頁上
http://www.bobtech.ro/tutoriale/raspberry-pi/78-streaming-webcam-in-format-m-jpg-cu-raspberry-pi
Jeff Tsai Work Diary
2013年5月25日 星期六
2013年2月22日 星期五
MySQL and C++
在linux介面下要在C++使用mysql API很簡單
sudo apt-get install libmysqlclient-dev
就可以#include <mysql/mysql.h>
接下來就自行參照mysql官方的API說明
但是在windows就悲劇了
下載安裝mysql之後,在mysql目錄裡面只有提供給Visual studio編譯器們的.lib
沒有給mingw的.a
所以就要透過mingw的小工具reimp來把,lib轉換為.a
讓mingw可以使用(如果沒有reimp的就自己下載一下吧)
先把mysql安裝目錄下的lib與include資料夾,複製到c:/mysql,因為我覺得他資料夾名稱太複雜,可能會有不可預期的怪事
開啟cmd(命令提示字元)
輸入
cd c:/mysql/lib
reimp -d libmysql.lib
dlltool -k -d libmysql.def -l libmysql.a
就會生成.a
如果是使用QT,可以在.pro中加入
LIBS += C:/mysql/lib/libmysql.a
sudo apt-get install libmysqlclient-dev
就可以#include <mysql/mysql.h>
接下來就自行參照mysql官方的API說明
但是在windows就悲劇了
下載安裝mysql之後,在mysql目錄裡面只有提供給Visual studio編譯器們的.lib
沒有給mingw的.a
所以就要透過mingw的小工具reimp來把,lib轉換為.a
讓mingw可以使用(如果沒有reimp的就自己下載一下吧)
先把mysql安裝目錄下的lib與include資料夾,複製到c:/mysql,因為我覺得他資料夾名稱太複雜,可能會有不可預期的怪事
開啟cmd(命令提示字元)
輸入
cd c:/mysql/lib
reimp -d libmysql.lib
dlltool -k -d libmysql.def -l libmysql.a
就會生成.a
如果是使用QT,可以在.pro中加入
LIBS += C:/mysql/lib/libmysql.a
INCLUDEPATH += C:/mysql/include\
Raspberry Pi Note #8 (C++ and MySQL)
最近需要透過網路來操作RSP的GPIO
為了達成這個目標,其實有很多方法可以實現
例如使用python搭配Webpy與gpio
或是網路上有強者寫好的,使用java與python
http://code.google.com/p/webiopi/
不過java與python我都不太熟悉
還是比較偏好使用PHP存取資料庫,並且使用C++來存為資料庫與GPIO中間之連結
在網路上找到一篇文章
http://www.metsky.com/archives/554.html
http://www.cnblogs.com/cy163/archive/2009/04/24/1442859.html
http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html
關於資料庫的部分大多是參考這個
為了達成這個目標,其實有很多方法可以實現
例如使用python搭配Webpy與gpio
或是網路上有強者寫好的,使用java與python
http://code.google.com/p/webiopi/
不過java與python我都不太熟悉
還是比較偏好使用PHP存取資料庫,並且使用C++來存為資料庫與GPIO中間之連結
在網路上找到一篇文章
http://www.metsky.com/archives/554.html
http://www.cnblogs.com/cy163/archive/2009/04/24/1442859.html
http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html
關於資料庫的部分大多是參考這個
2013年2月20日 星期三
Raspberry Pi Note #7 (LAMP Server)
LAMP Server 是許多網頁伺服器常見的架構
LAMP = Linux + Apache(網頁伺服器) + MySQL(資料庫) + PHP(Perl or Python等網頁語言)
如果有小流量個人的網頁架設需求的話RSP其實是一個很棒的平台
既省電又不占空間,隨手塞在牆邊就可以架站
但如果是大流量或是商業使用的話嘛...還是花點錢組台Server
首先,更新一下apt-get list
sudo apt-get update
然後安裝apache
sudo apt-get install apache2
預設是開機會自己啟動,並且網頁的目錄在/var/www
接下來安裝mysql
sudo apt-get install mysql-server
預設也是開機啟動
在接下來安裝PHP
sudo apt-get install php5
如果有圖形化介面資料庫的需求,也可以安裝phpmyadmin
sudo apt-get install php-myadmin
LAMP = Linux + Apache(網頁伺服器) + MySQL(資料庫) + PHP(Perl or Python等網頁語言)
如果有小流量個人的網頁架設需求的話RSP其實是一個很棒的平台
既省電又不占空間,隨手塞在牆邊就可以架站
但如果是大流量或是商業使用的話嘛...還是花點錢組台Server
首先,更新一下apt-get list
sudo apt-get update
然後安裝apache
sudo apt-get install apache2
預設是開機會自己啟動,並且網頁的目錄在/var/www
接下來安裝mysql
sudo apt-get install mysql-server
預設也是開機啟動
在接下來安裝PHP
sudo apt-get install php5
如果有圖形化介面資料庫的需求,也可以安裝phpmyadmin
sudo apt-get install php-myadmin
Raspberry Pi Note #6 (GPIO)
紀錄一下關於RSP的GPIO使用方法
如果是使用python的朋友,可以參考RSP官方所釋出的python GPIO 函式庫
sudo apt-get update
sudo apt-get install python-dev
sudo apt-get install python-rpi.gpio
就可以安裝完成
http://code.google.com/p/raspberry-gpio-python/
https://pypi.python.org/pypi/RPi.GPIO
而在這些連結中有清楚的教學與範例
我並不熟悉python,所以這次的重點還是放在C++上
為了能將RSP的GPIO使用的像是Arduino一樣的簡單容易
https://projects.drogon.net/raspberry-pi/wiringpi/
使用一個好用的函示庫,wiringPi
他也有for python的版本,google wiringPi python 就可以找到
安裝方法有很多種,下面是關於安裝的教學
https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/
這個函式庫補充了RSP的PWM,I2C與SPI的功能
讓GPIO發揮更多功能
程式撰寫完成之後,編譯的指令為
sudo gcc test.c -lwiringPi -o test
記得要加-lwiringPi
C++的使用者就自己把gcc改成g++吧
如果是使用python的朋友,可以參考RSP官方所釋出的python GPIO 函式庫
sudo apt-get update
sudo apt-get install python-dev
sudo apt-get install python-rpi.gpio
就可以安裝完成
http://code.google.com/p/raspberry-gpio-python/
https://pypi.python.org/pypi/RPi.GPIO
而在這些連結中有清楚的教學與範例
我並不熟悉python,所以這次的重點還是放在C++上
為了能將RSP的GPIO使用的像是Arduino一樣的簡單容易
https://projects.drogon.net/raspberry-pi/wiringpi/
使用一個好用的函示庫,wiringPi
他也有for python的版本,google wiringPi python 就可以找到
安裝方法有很多種,下面是關於安裝的教學
https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/
這個函式庫補充了RSP的PWM,I2C與SPI的功能
讓GPIO發揮更多功能
程式撰寫完成之後,編譯的指令為
sudo gcc test.c -lwiringPi -o test
記得要加-lwiringPi
C++的使用者就自己把gcc改成g++吧
2013年2月2日 星期六
Current Sensor
http://www.google.com.tw/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CDYQFjAA&url=http%3A%2F%2Fwww.allegromicro.com%2F~%2FMedia%2FFiles%2FDatasheets%2FACS714-Datasheet.ashx&ei=zOsMUceXF4KnlQWnyYGADA&usg=AFQjCNGnQpf5D9mTUcEbo_-7Xw26-1O4wA&sig2=-bgW3P-CHq4oNCZphdrEaA
2013年1月21日 星期一
Raspberry Pi Note #5 (QT with OpenCV)
在上一篇提到了關於QT
但是如果是在RSP的環境中需要使用OpenCV來做一些影像處理及使用者介面的撰寫
就還需要再另外安裝函式庫了
需要確認是否有安裝libgtk2.0-dev與pkg-config
OpenCV會使用到相關的東西
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
確認都是最新版之後
sudo apt-get install libopencv-dev
即可安裝完成OpenCV-2.3.1
如果需要安裝最新版的OpenCV,可能就要自己花一點時間cmake and make
根據我實測,大概要make整整12小時左右,所以沒有使用最新版需求的朋友不要輕易嘗試...會等很久
如果需要自己編譯方法如下
先去OpenCV官網下載linux版本,然後解壓縮,假設是解壓縮到這邊/opencv243
最好是使用root權限來編譯,不然出現甚麼問題都有可能
sudo -i
理論上會切換成root使用者
cd /opencv243
進入解壓縮好的資料夾
mkdir release
建立新資料夾來放編譯完成的檔案
cd /opencv243/release
進入資料夾cmake
cmake ..
cmake上層資料夾到release中
應該等個5分鐘就會好了
make
按下去之後會開始編譯,然後就去睡覺,大概起床就會編譯好了
make instal
安裝編譯完成的東西
這樣就大功告成了
只要在QT 的.pro中加入
OpenCV_Lib = /usr/lib
但是如果是在RSP的環境中需要使用OpenCV來做一些影像處理及使用者介面的撰寫
就還需要再另外安裝函式庫了
需要確認是否有安裝libgtk2.0-dev與pkg-config
OpenCV會使用到相關的東西
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
確認都是最新版之後
sudo apt-get install libopencv-dev
即可安裝完成OpenCV-2.3.1
如果需要安裝最新版的OpenCV,可能就要自己花一點時間cmake and make
根據我實測,大概要make整整12小時左右,所以沒有使用最新版需求的朋友不要輕易嘗試...會等很久
如果需要自己編譯方法如下
先去OpenCV官網下載linux版本,然後解壓縮,假設是解壓縮到這邊/opencv243
最好是使用root權限來編譯,不然出現甚麼問題都有可能
sudo -i
理論上會切換成root使用者
cd /opencv243
進入解壓縮好的資料夾
mkdir release
建立新資料夾來放編譯完成的檔案
cd /opencv243/release
進入資料夾cmake
cmake ..
cmake上層資料夾到release中
應該等個5分鐘就會好了
make
按下去之後會開始編譯,然後就去睡覺,大概起床就會編譯好了
make instal
安裝編譯完成的東西
這樣就大功告成了
只要在QT 的.pro中加入
OpenCV_Lib = /usr/lib
INCLUDEPATH += /usr/include\
/usr/include/opencv2
LIBS += $$OpenCV_Lib/libopencv_highgui.so\
$$OpenCV_Lib/libopencv_calib3d.so\
$$OpenCV_Lib/libopencv_core.so\
$$OpenCV_Lib/libopencv_features2d.so\
$$OpenCV_Lib/libopencv_flann.so\
$$OpenCV_Lib/libopencv_imgproc.so\
$$OpenCV_Lib/libopencv_legacy.so\
$$OpenCV_Lib/libopencv_ml.so\
$$OpenCV_Lib/libopencv_objdetect.so\
就可以開心使用opencv
訂閱:
文章 (Atom)