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

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 

關於資料庫的部分大多是參考這個

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



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++吧


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