Download presentation
Presentation is loading. Please wait.
1
Computer System Laboratory
Lab9 - Sensor Network 2016/11/29 / 28
2
Experimental Goal Learn how to establish a simple sensor network (SIOTAS) on STM32F207. 2016/11/29 / 28
3
Environment Host System Build System Target System Software
Windows XP Build System IAR Embedded Workbench + Ubuntu 8.04 Target System PTK development board (STM32F207) Software SQL Agent Prepared Database mCloud Portal MySQL Connector ODBC mCloud AppClient PTK Examples Version 2 You can find all software on HERE. 2016/11/29 / 28
4
Case Study – SIOTAS We would like to build a sensor network for the elders. A gateway device is used to collect data from node devices by using Zigbee. All the sensing data will be sent to a server and recorded in database. We can use a browser to monitor the history of data and graphs. Server Side Client Side Sensor Devices gateway device node device 2016/11/29 / 28
5
Sensor Devices of SIOTAS
We use STM32F207 as the base of each device. Gateway Device Collect all the data from other sensors, and send them to the server. Lighting Device Detect the current value of temperature and luminance flux, and turn on the light when it is dark. Bathroom Device Detect the movement of users and record user in/out events. Entrance Device Detect the door whether it is open, and record events of user entrance. User can go indoor/outdoor by using RFID. Activity Device Detect the heart beat rate and calories consumption. 2016/11/29 / 28
6
Server Side of SIOTAS We would establish LAMP environment.
LAMP means Linux, Apache, MySQL, and PHP. Create a website for monitoring and analyzing. Design a database for data captured by sensors. 2016/11/29 / 28
7
Table Schemas data_block data_feed
This is used to record continuous data. Data will store into a file and record the filename in database. data_feed This is used to record intermittent data. The data will be stored into value defined by the schema. For detailed description, please refer to the document. 2016/11/29 / 28
8
Install VirtualBox Please download “VirtualBox” from or course website. Install VirtualBox. Using default settings is fine. Note that the network will be disconnected temporarily during the installation. The related networking drivers should be installed. 2016/11/29 / 28
9
Create a Virtual Machine in VirtualBox (1/2)
Step 1: click “新增(N)” in “Oracle VM VirtualBox 管理員”. Step 2: create a Linux Ubuntu (32 bit) virtual machine (VM). The size of memory needs at least 512 MB. The size of disk needs at least 20 GB. Step 3: add an additional network adapter to the VM. “設定值(S)” “網路” “介面卡 2” “啟用網路卡(E)” “附加到(A)” = “「僅限主機」介面卡” 2016/11/29 / 28
10
Create a Virtual Machine in VirtualBox (2/2)
Step 4: download Ubuntu 8.04 from course website. Step 5: start your virtual machine and choose the Ubuntu image file for booting from CD/DVD. “裝置” “CD/DVD 裝置” “選擇虛擬 CD/DVD 磁碟檔案” Step 6: install Ubuntu 8.04. English version is more stable. Change time zone to “Asia” “Taipei”. When finishing installation, press “ENTER” to reboot. Please remember the account <user name> to login Linux. Tips: To uncaptured the keyboard and the mouse from virtual machine to Windows XP, please press the host key, right ctrl key by default. 2016/11/29 / 28
11
Install Drivers in Virtual Machine
Step 1: open a terminal in Ubuntu 8.04. “Applications” “Accessories” “Terminal” You can execute commands with root privilege by typing “sudo <command>”. E.g., % sudo mkdir /etc/test Step 2: install guest additions in Ubuntu 8.04. “裝置” “插入 Guest Additions CD 映像…” Execute the script in Ubuntu 8.04. % sudo /media/cdrom/VBoxLinuxAdditions.run Step 3: restart Ubuntu 8.04. % sudo reboot Tips: After complete installation of guest additions, you can also share clipboard between Windows XP and Ubuntu. In VirtualBox: “機器” “設定值” “一般” “進階” Change the setting of “共用剪貼簿” from “停用” to “雙向”. 2016/11/29 / 28
12
Set Network Environment
Step 1: bridge the two network LAN, “VirtualBox Host-Only Network” and “區域網路” which connects STM32F207, together. Step 2: set IP address of the bridge on Windows XP to configure LAN environment. IP address = Netmask = Step 3: set IP address on Ubuntu. % sudo nano /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address netmask % sudo /etc/init.d/networking restart 2016/11/29 / 28
13
Change Apt Sources List
Unfortunately, Ubuntu 8.04 is now out of support and no longer receiving updates and security patches. There are repositories available at Step 1: update apt repositories. % sudo sed -i -e 's/tw.archive.ubuntu.com\|security.ubuntu.com/old- releases.ubuntu.com/g' /etc/apt/sources.list Be careful of the area which was set during the installation. If you chose the area other than Taiwan, you have to modify the command to the correct one. You can type “man sed” to see more information. Step 2: upgrade the sources list. % sudo apt-get update 2016/11/29 / 28
14
Server Side Installation (1/2)
Step 1: install several packages. % sudo apt-get install unzip % sudo apt-get install apache2 % sudo apt-get install mysql-server You must use the predefined password “microtime” for root in the installation process. % sudo apt-get install php5 % sudo apt-get install phpmyadmin Make sure you choose apache2 by SPACE key in the installation process. % sudo apt-get install libmysqlclient15-dev Step 2: modify the configuration of MySQL. % sudo nano /etc/mysql/my.cnf bind-address = [mysqld] plugin_dir = /usr/lib/mysql/plugin Restart MySQL service: sudo /etc/init.d/mysql restart 2016/11/29 / 28
15
Server Side Installation (2/2)
Step 3: download sql-agent.tar.gz. Step 4: install MySQL plugin lib_mysqludf_sys.so. % sudo mkdir /usr/lib/mysql/plugin % sudo mkdir /home/test0001 % sudo tar zxvf sql-agent.tar.gz -C /home/test0001 % sudo cp /usr/lib/libmysqlclient.so.15 /home/test0001/libmysqlclient.so.18 % cd /home/test0001/lib_mysqludf_sys % sudo ./install.sh Step 5: add some tasks to rc.local. % sudo nano /etc/rc.local cd /home/test0001 ./runme.sh Step 6: reboot and check. % sudo reboot % ps -A 2016/11/29 / 28
16
Create a Database Step 1: connect MySQL by a browser.
Step 2: import the prepared database. “載入” “選擇檔案” mCloud-SIOTAS.sql “執行” Step 3: create a new user. “權限” “新增使用者” 使用者名稱 = imami 主機 = 任何主機 密碼 = imami database for user = None 整體權限 = 全選 2016/11/29 / 28
17
Client Side Installation (1/3)
Install the website. Step 1: download mCloud-Portal.zip. % sudo unzip mCloud-Portal.zip -d /var/www % sudo chown -R www-data.www-data /var/www/mcloud Step 2: check the website. Password is microtime 2016/11/29 / 28
18
Client Side Installation (2/3)
Install MySQL Connector. Step 1: download mysql-connector-odbc win32.msi. “控制台” “系統管理工具” “資料來源 (ODBC)” “系統資料來源名稱” “新增” “MySQL ODBC 5.1 Driver” “完成” Data Source Name = MySQL-mCloud Description = MySQL ODBC 5.1 driver TCP/IP Server = Port = 3306 User = imami Password = imami Database = imami Step 2: Test the connection. Click “Test”. 2016/11/29 / 28
19
Client Side Installation (3/3)
Install mCloud-AppClient. Step 1: download and install mCloud-SIOTAS-setup exe. Step 2: download and decompress mCloud-SIOTAS-GW66-AppClient.zip Drag and drop “mCloud-SIOTAS-GW66-AppClient.exe” to path “C:/Program Files/Microtime/mCloud”. Override the file. Step 3: execute mCloud-AppClient.exe. IP address should be “ ” 2016/11/29 / 28
20
Gateway Device Settings (1/2)
Step 0: download PTK_Example. Step 1: turn off the power. Step 2: install Zigbee module (PTK-RF-ZB-ZB01). Step 3: install LED module (PTK-MEMS-RTC). 2016/11/29 / 28
21
Gateway Device Settings (2/2)
Step 4: open the gateway project. PTK_Example_v2/ePBB/Applications/Projects/PTK-STM32F207/EWARM- V6/Case_Study/MT_Case_SIOTAS-PTK/node_gateway/demo.eww Step 5: modify configuration in app_cfg.h. APP_TCPIP_CFG_IF_IP_ADDR_STR = " " APP_TCPIP_CFG_IF_MASK_STR = " " APP_TCPIP_CFG_IF_GATEWAY_STR = " “ Step 6: modify constant values in app.c. static const MT_MCLOUD_SIGNAL_T gSignalConfig[] = { { MK_MID_SID(0x0001, 0x0000), // MID_SID "Light", // Name MCLOUD_DATA_UINT16, // DataType 0, // Type COM_TYPE_ZB, // ComType "Lighting_0001", // Paring "", // ShareLib … The 4 digits number is the last 4 digits of MAC address of Zigbee of the node. 2016/11/29 / 28
22
Lighting Device Settings
Step 1: turn off the power. Step 2: install Zigbee module (PTK-RF-ZB-ZB01). Step 3: install LED module (PTK-MEMS-RTC). Step 4: open the lighting project and download. PTK_Example_v2/ePBB/Applications/Projects/PTK-STM32F207/EWARM- V6/Case_Study/MT_Case_SIOTAS-PTK/node_lighting/demo.eww 2016/11/29 / 28
23
Bathroom Device Settings
Step 1: turn off the power. Step 2: install Zigbee module (PTK-RF-ZB-ZB01). Step 3: install passive infrared sensor module (PTK-MEMS-PIR). Step 4: open the bathroom project and download. PTK_Example_v2/ePBB/Applications/Projects/PTK-STM32F207/EWARM- V6/Case_Study/MT_Case_SIOTAS-PTK/node_bathroom/demo.eww 2016/11/29 / 28
24
Entrance Device Settings
Step 1: turn off the power. Step 2: install Zigbee module (PTK-RF-ZB-ZB01). Step 3: install RFID module (PTK-RFID-EWTJ680). Step 4: install reed switch module (PTK-MEMS-REEDSW). Step 5: open the entrance project and download. PTK_Example_v2/ePBB/Applications/Projects/PTK-STM32F207/EWARM- V6/Case_Study/MT_Case_SIOTAS-PTK/node_entrance/demo.eww 2016/11/29 / 28
25
Reset PAN ID of ZigBee Step 1: turn on power.
Step 2: pressing Reset and KEY0. Step 3: release Reset. Step 4: release KEY0 after 2 seconds when hearing beep sound. 2016/11/29 / 28
26
Basic setup We’re using two pieces of PTK for this laboratory, one as gateway and the other as device. We don’t use the upper layer of PTK and we shall remove it from PTK for this laboratory. Run the Ubuntu VM, and thus the sql-agent and listem_cmd up. Connect gateway to host system via Ethernet. Insert ZigBee module to gateway and device, and RTC module to device. Turn gateway and device on; download project to boards respectively. Run mCloud-SIOTAS-GW66-AppClient Press Discover till you get an On-line Machine, and Edit to view its info; Our goal is to have a machine which is alive after pressing Refresh within DB Machine . Go to add a machine based on the info got above. You can view the existing one as an example. Hint: Consider mCloud-SIOTAS.sql. Reset the gateway and then device if you redo these steps; you need to have ‘1’ shown on 7-segment of the gateway after turning on the device before you can do monitoring. Once it works, visit and now there should be a machine which is alive, too. Then go to Online Monitoring->Control Panel. 2016/11/29 / 28
27
Exercise Try to connect them all together and get a simple sensor network. The goals are that: You can monitor the light and temperature on the website. You can use bathroom device and entrance device in advance. Tips: Opening phymyadmin and mCloud within host system is preferred. Try rebooting the Ubuntu VM after making any change; it may help. For more information, please refer to documents on the course website. 2016/11/29 / 28
28
Lab Requirement Show that you can connect a gateway device and a lighting device, record the data into database, and also see the values on a browser. 2016/11/29 / 28
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.