步驟1:系統架構
步驟2:您需要什么?/h2》
設備:
的 逃走:
1個Raspberry Pi
1個7英寸官方觸摸屏
1個XBee模塊Serie 1
傳感器:
1個Arduino Uno
1個XBee模塊系列1
1x DS18S20溫度傳感器(1線)
1x 4.7kΩ電阻
1x 10kΩ電阻
1x 18kΩ電阻
1個帶接頭的Arduino Uno原型屏蔽
軟件:
Qt框架
QtXBee(Qt樣式API中的XBee庫)
QChartJS(chart.js Qt綁定)
xbee-arduino (用于Arduino的XBee庫)
Arduino IDE
XCTU(XBee模塊的配置軟件)
步驟3:硬件:溫度傳感器
如前所示,溫度傳感器基于Arduino和1-Wire溫度傳感器。
1-Wire是由Dallas Semiconductor Corp.設計的設備通信總線系統,可通過單個信號提供低速數據,信號和功率。 1-Wire在概念上與I2C相似,但具有較低的數據速率和更長的范圍。它通常用于與小型廉價設備(例如數字溫度計和氣象儀器)進行通信。由1-Wire器件和相關主器件組成的網絡稱為MicroLAN [Wikipedia的定義]
我選擇的溫度傳感器是Maxim公司的DS18S20。它具有以下主要功能:
可測量-55°C至+ 125°C(-67°F至+ 257°F)的溫度
±0.5° -10°C至+ 85°C的C精度
9位分辨率
不需要外部組件
當XBee模塊工作時在3.3V和5V的Arduino UNO中,我們將不得不調整XBee模塊和Arduino之間的串行接口的電壓電平
步驟4:硬件:網關
對于網關,沒有電子產品。唯一要做的就是組裝觸摸屏并將其插入Raspberry Pi。為此,請查看這篇好文章:Raspberry Pi 7“觸摸屏組裝指南
第5步:軟件:對傳感器(Arduino)進行編程
使用Arduino IDE對您的Arduino進行編程。
使用可在我的GitHub上找到的代碼創建一個新的Sketch
步驟6:軟件:安裝網關
此步驟描述了安裝和設置網關(Raspberry Pi)的最簡單方法,但這并不是最簡單的方法。對于高級用戶,請轉到下一步。
安裝Raspbian(使用PIXEL):
首先,我們需要在RPi上安裝操作系統。請很好地遵循此指南說明:https://www.raspberrypi.org/documentation/installa 。..
安裝構建獨立性:
要構建溫度監控器應用程序,我們首先要安裝構建依賴項。
sudo apt-get update && sudo apt-get install git-core qt5-qmake qt5 -默認libqt5opengl5-dev libqt5serialport5-dev l ibqt5qml5 libqt5quick5 qtquick1-5-dev qtdeclarative5-dev qml-module-qtquick-window2 qml-module-qtquick2
獲取源代碼:
cd?/
git clone https://github.com/ThomArmax/QtXBee.git
構建來源:
cd?/QtXBee
qmake -recursive
make
sudo make install
啟動應用程序:
LD_LIBRARY_PATH =/usr/lib/QtXBee/op/example_temp_monitor/bin/example_temp_monitor
第7步:軟件:[高級用戶]使用Yocto Project安裝網關(Rapsberry Pi)
我對Yocto相當熟悉。由于我將Raspberry Pi大量用于個人項目,因此我在GitHub上發布了一些yocto層,尤其是我創建的用于構建所有庫和程序的meta-armax層。
在meta中-armax層,我已經創建了一個演示映像,借助SysV init腳本可以啟動并直接啟動溫度監控器應用程序。
您可以在GitHub上找到溫度監控器應用程序的代碼。
環境設置 :
運行以下命令以安裝環境:
sudo apt-get install gawk wget git-core diffstat解壓縮texinfo gcc-multilib構建必需的chrpath socat libsdl1.2-dev xterm
獲取Yocto:
cd?/
mkdir yocto && cd yocto
git clone http://git.yoctoproject.org/git/poky -b jethro
cd poky
git clone https://github.com/ThomArmax/meta-armax.git
git clone https://github.com/ThomArmax/meta-hyperion.git
git clone git ://git.openembedded.org/met a-openembedded -b jethro
git克隆https://github.com/agherzan/meta-raspberrypi.git -b jethro
git克隆https://github.com/meta-qt5/meta-qt5。 git -b jethro
source oe-init-build-env
然后編輯conf/bblayer.conf:
#每次build/conf/bblayers.conf
#不兼容地更改都會增加LAYER_CONF_VERSION
LCONF_VERSION =“ 6”
BBPATH =“ $ {TOPDIR} “
BBFILES?=”“
BBLAYERS?=”
/home/thomas/yocto/poky/meta
/home/thomas/yocto/poky/meta-yocto
/home/thomas/yocto/poky/meta-openembedded/meta-oe
/home/thomas/yocto/poky/meta-qt5
/home/thomas/yocto/poky/meta-armax
/home/thomas/yocto/poky/meta-raspberrypi
/home/thomas/yocto/poky/meta-hyperion
/p/home/thomas/yocto/poky/meta-hyperion
“
BBLAYERS_NON_REMOVABLE?=“
/home/thomas/yocto/poky-jethro-14.0/meta
/home/thomas/yocto/poky-jethro -14.0/meta-yocto
“
為RPi2編輯conf/local.conf:
設置 MACHINE =“ raspberrypi2”
構建映像:
運行:bitbake qtxbee-demo-image
將生成的映像刷新到SD卡上:
插入SD卡
使用dmesg命令標識其節點
然后輸入:sudo dd if = tmp/deploy/images/raspberrypi2/qtxbee-demo-image-raspberrypi2.rpi-sdimg of//dev/sdd
步驟8:XBee模塊配置
為了能夠進行通信,我們必須創建一個XBee“網絡”。因此必須配置我們的模塊。
可以使用XCTU軟件進行配置
網關上使用的XBee模塊將成為協調器。其配置必須為:
MY = 0
ID = 3332
AP = 1
CE = 1(協調器
用于傳感器的XBee模塊是終端設備。必須按以下方式進行配置:
MY = 2
ID = 3332
AP = 1
CE = 0 (已禁用協調器)
步驟9:啟動
現在,所有步驟都已完成,您只需打開網關和傳感器的電源,并且完成了:)
-
溫度監控器
+關注
關注
1文章
17瀏覽量
12226
發布評論請先 登錄
相關推薦
評論