考慮到以後會從事物聯網智能家居這塊,於是想寫博客練習下和記錄自己的學習過程。前些天買了塊樹莓派板子,但是忙於工作,沒太多時間玩,所以就沒碰。因爲自己工作以來就沒有真正從事硬件及驅動開發,所以想獲得數據來源則需要了解一番。學習計劃是這樣的:
- 數據採集,有線採用Modbus,無線採用wifi及藍牙(無線還不瞭解,學一步做一步)
- 數據上傳到服務器,因爲主要是學習,就不考慮自己搭建了
- 手機app端解析數據,並界面呈現,學習階段不糾結界面問題了
- 樹莓派跑一個主程序,用於數據採集、場景設置、聯動控制。這塊要涉及架構問題,主要處理底層設備間數據交互(數據相互影響)等業務。通訊協議自己定義
我身邊就一塊樹莓派,其他開發套件也沒有,數據採集就先放着。這裏用樹莓派cpu的溫度代替採集的數據。今天完成以下任務:
- 搭建samba,實現pc和樹莓派的文件傳輸
- 安裝sqlite3,主要是複習下數據庫,正式項目的數據採集應該會實時上傳不會再使用sqlite3數據庫
samba搭建步驟如下
1.安裝samba
pi@raspberrypi:~/Study $ sudo apt-get install samba
2.在/etc/samba/smb.conf添加如下內容
[pi]
comment=pi
path=/home/pi
writable=yes
comment=pi
path=/home/pi
writable=yes
3.增加用戶,並按提示提示輸入密碼,命令如下
pi@raspberrypi:~/Study $ smbpasswd -a pi
4.修改防火牆配置,因爲板子就沒裝防火牆,所以省略。如果有防火牆則找到iptables配置文件,修改允許pc機訪問。
5.配置完再在windows下添加網絡驅動器,我的樹莓派板子ip已設爲靜態,這樣每次就直接訪問共享的文件夾了
第二件是安裝sqlite3。因爲剛纔已經搭建了samba,我們可以從pc上下載最新的sqlite3可配置的源碼。因爲樹莓派gcc可以使用,arm-linux-gnueabihf-gcc也可以使用。可以直接用apt-get安裝也可以把源碼下載下來自己自由配置安裝。源碼包放在/home/pi/Study下,腳本如下:
#!/bin/bash
SOURCEFILE="sqlite-autoconf-3130000"
DIR_PATH=`pwd`
cd /home/pi/Study/
if [ -f "${SOURCEFILE}.tar.gz" ];then
tar zxvf ${SOURCEFILE}.tar.gz
cd ${SOURCEFILE}
mkdir opt
./configure CC=arm-linux-gnueabihf-gcc --host=arm-linux --prefix=${DIR_PATH}/opt
make clean
make && make install
fi
SOURCEFILE="sqlite-autoconf-3130000"
DIR_PATH=`pwd`
cd /home/pi/Study/
if [ -f "${SOURCEFILE}.tar.gz" ];then
tar zxvf ${SOURCEFILE}.tar.gz
cd ${SOURCEFILE}
mkdir opt
./configure CC=arm-linux-gnueabihf-gcc --host=arm-linux --prefix=${DIR_PATH}/opt
make clean
make && make install
fi
但是結果出了問題,在樹莓派上編譯不過。執行make時卡住了,這個問題先不查資料了,困了!