考虑到以后会从事物联网智能家居这块,于是想写博客练习下和记录自己的学习过程。前些天买了块树莓派板子,但是忙于工作,没太多时间玩,所以就没碰。因为自己工作以来就没有真正从事硬件及驱动开发,所以想获得数据来源则需要了解一番。学习计划是这样的:
- 数据采集,有线采用Modbus,无线采用wifi及蓝牙(无线还不了解,学一步做一步)
- 数据上传到服务器,因为主要是学习,就不考虑自己搭建了
- 手机app端解析数据,并界面呈现,学习阶段不纠结界面问题了
- 树莓派跑一个主程序,用于数据采集、场景设置、联动控制。这块要涉及架构问题,主要处理底层设备间数据交互(数据相互影响)等业务。通讯协议自己定义
我身边就一块树莓派,其他开发套件也没有,数据采集就先放着。这里用树莓派cpu的温度代替采集的数据。今天完成以下任务:
- 搭建samba,实现pc和树莓派的文件传输
- 安装sqlite3,主要是复习下数据库,正式项目的数据采集应该会实时上传不会再使用sqlite3数据库
samba搭建步骤如下
1.安装samba
pi@raspberrypi:~/Study $ sudo apt-get install samba
/etc/samba/smb.conf添加如下内容
[pi]
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
但是结果出了问题,在树莓派上编译不过。执行make时卡住了,这个问题先不查资料了,困了!