forked from kwarodom/bemoss_os-2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrunBEMOSS.sh
executable file
·83 lines (79 loc) · 4.27 KB
/
runBEMOSS.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#!/bin/bash
#Copyright (c) 2016, Virginia Tech
#All rights reserved.
#
#Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
# following conditions are met:
#1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
#disclaimer.
#2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
#disclaimer in the documentation and/or other materials provided with the distribution.
#
#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
#INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
#DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
#SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
#SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
#WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
#OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#The views and conclusions contained in the software and documentation are those of the authors and should not be
#interpreted as representing official policies, either expressed or implied, of the FreeBSD Project.
#
#This material was prepared as an account of work sponsored by an agency of the United States Government. Neither the
#United States Government nor the United States Department of Energy, nor Virginia Tech, nor any of their employees,
#nor any jurisdiction or organization that has cooperated in the development of these materials, makes any warranty,
#express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness or
#any information, apparatus, product, software, or process disclosed, or represents that its use would not infringe
#privately owned rights.
#
#Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or
#otherwise does not necessarily constitute or imply its endorsement, recommendation, favoring by the United States
#Government or any agency thereof, or Virginia Tech - Advanced Research Institute. The views and opinions of authors
#expressed herein do not necessarily state or reflect those of the United States Government or any agency thereof.
#
#VIRGINIA TECH – ADVANCED RESEARCH INSTITUTE
#under Contract DE-EE0006352
#
#__author__ = "BEMOSS Team"
#__credits__ = ""
#__version__ = "2.0"
#__maintainer__ = "BEMOSS Team"
#__email__ = "[email protected]"
#__website__ = "www.bemoss.org"
#__created__ = "2014-09-12 12:04:50"
#__lastUpdated__ = "2016-03-14 11:23:33"
#Step1: Find own IP
sudo python ~/workspace/bemoss_os/bemoss_lib/utils/find_own_ip.py
#Step2: Run Platform Initiator
read -t 5 -p "Press ENTER to start fresh BEMOSS within 5 seconds...." input
if [[ $? -ne 0 ]]
then
echo "Retaining previous state of BEMOSS..."
else
echo "Performing fresh restart of BEMOSS..."
sudo python ~/workspace/bemoss_os/bemoss_lib/utils/platform_initiator.py
sleep 2
fi
sudo PYTHONPATH='.' python ~/workspace/bemoss_os/bemoss_lib/databases/cassandraAPI/startCassandra.py
sleep 2
#Step3: Build agents
source ~/workspace/bemoss_os/bemoss_lib/utils/buildAgents.sh
#Step4: Run Volttron Platform and Agents
source ~/workspace/bemoss_os/bemoss_lib/utils/runPlatform.sh
#Step5: Configure webserver to run on own IP and Bind BACnet with IP
ipfile="${HOME}/workspace/bemoss_os/machine_ip.txt"
ipaddress=$(tail -1 $ipfile)
ipaddressBACnet=$(head -1 $ipfile)
#read the first ip
case "$ipaddress" in
*.*)
webcommand="python ./run/bemoss_server.py --port=8000 --host=$ipaddress"
export BACNET_IFACE=$ipaddressBACnet
;;
*)
webcommand="python ./run/bemoss_server.py --port=8000"
esac
sudo echo $! > ~/workspace/bemoss_os/BEMOSS.pid
#Step6: MultiNode server, and Web UI
sudo gnome-terminal --tab -t "Multinode server" -e "bash -c 'python ~/workspace/bemoss_os/bemoss_lib/multi_node/udpserver.py'" --tab -t "WebServer" -e "bash -c 'cd ~/workspace/bemoss_web_ui; $webcommand; bash'"
#---------