The focus of this design project was three major areas of concern. The first application was to research
and use of ZigBee protocol
secondly establish a mesh network that interfaces to an online
sensing/controlling application. Thirdly, the overall focus and design of an application, using said
technologies, was to create a home automation system. Each of the three portions was to ov
another as to potentially create a marketable device.
Successfully design a working, wireless test bed
System should demonstrate 15 nodes and 3 gateways
The application should be approvable for NSF funding
of ZigBee protocol:
Ad Hoc capabilities
Automatic node replacement
Effects of node loss
Format for communication
Consultation to business students for market potential
Product should be user friendly a
nd also adapt to persons with a disability
A maintenance free system would be highly favored, however, upon testing, a warranty
could be issued
The wireless system should be secure
Constraints and Acceptance Standards
The use of the ZigBee Protocol 802.15.
The device must operate within proper RF bandwidth
System should perform as a mesh network
Option of powering device via battery (battery status)
The device will have minimal power consumption
The nodes should have the ability to send status info
nodes should have sleep functionality
System will be dynamic; nodes can drop in/drop out
Noise interactions shall be discrete
Cyclic redundancy checking will be implemented
project was mainly software based
networking. We used HTML, PHP, MYSQL, C++, Python, and
HTML and PHP were used to code our dynamic webpage. The PHP code controlled what the html code
. The PHP interacted with ou
r MYSQL server to create user
gave the node
information from the MYS
QL sever to the HTML to code to
display. The MYSQL server
held all of the network information and node information. It served as the
main database for our project. The C++
program acted as a conveyer of information between the local
user’s network and the MYSQL server. In addition the C++ program constructed the camera node’s
picture and parsed informati
on coming from the gateway
The gateway connected the Zigbee network
to the computer.
The gateway acted as a channel
for all of the sensing and control information.
We used Python to debug our nodes using a development program called Portal that was supplied by
Synapse. In our first semester, we used a labview based VI
filled could replace our server.
Our final project worked very well at the end. One thing that could be improved quite a bit was
the camera code. It took the final code about 2 minutes to transmit a picture, when it took the early
code only 14 seconds to take picture.
Other improvements include adding more exception handling in
code to make it more r
obust and less likely to crash. The last thing on the software side that
would be a big improvement would be making the webs
ite look nicer and more professional.
For recommendations for future senior design groups, select a specific client, either industrial or
maybe someone worthy of NSF funding. The system could add custom sensors and functionality with a
specific client in
mind. A big improvement to the network would also be making a gateway that does
not use a computer. A computerless gateway would require a wi
fi module and most likely a chip for off
Setting up the server:
One of the most critical, limiting factors for the project is the project server. This server was ran
on a PC owned by one of the group members. Note: Any server that allows for customization of
MYSQL/PHP/HTML will work with the existing material.
but it’s not advised due to the MYSQL++ libraries.
The first object for cloning the server would be to setup a WAMP (
). The fall term
he NetServer WAMP, but the final server chosen was the Uniserver 2.0 release. Please note
that all port forwarding and firewall opening would be required to setup a private WAMP. The whole of
the server is contained on the final disks, and in theory the
server would run as is. The server needs to
be “installed” via services, and the aft mentioned ports would need to be unblocked. Once the WAMP is
working the cloning procedure can be continued.
The second objective would be to transfer the existing website
data. All webpage information is
located within the www folder of the network_server/uniserver2 folders. This can be simply copied and
pasted into the new server. The last item of concern is the MYSQL database. If this is NOT imported all
d structures would need to be determined from the source code. This is not a feasible
solution and it would be recommended to start over and use the code for examples. However, due to
the ease of MYSQL the whole of the database structure can simply be impo
rted to the server (using the
phpmyadmin interface) via the text file “server_backup.txt”.
Once the server is cloned both the website and AHoC Center program will be able to
communicate and properly function. Yet, further investigation into the removal of
the central server
would be advised. A local solution would be available if a prepackaged WAMP would have the server ran
from the end user perspective. It should be noted that if this setup is used ALL PROPRIATARY
information would have NO SECURITY and th
us would be an open source product.