diff --git a/modules/samples/firealarm/sketch/readTemperatureAndHumidity.py b/modules/samples/firealarm/sketch/readTemperatureAndHumidity.py new file mode 100644 index 00000000..f460c54c --- /dev/null +++ b/modules/samples/firealarm/sketch/readTemperatureAndHumidity.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +/* + * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +""" + +import Adafruit_DHT # Adafruit library required for temperature sensing + + +TEMP_PIN = 4 +TEMP_SENSOR_TYPE = 11 + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Reading temperature +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +def readTemperature(): + # Try to grab a sensor reading. Use the read_retry method which will retry up + # to 15 times to get a sensor reading (waiting 2 seconds between each retry). + while True: + try: + humidity, temperature = Adafruit_DHT.read_retry(TEMP_SENSOR_TYPE, TEMP_PIN) + print '{0:0.1f}C:{1:0.1f}%'.format(temperature, humidity) + # print 'RASPBERRY_STATS: Temp={0:0.1f}*C Humidity={1:0.1f}%'.format(temperature, humidity) + # return (temperature + ":" + humidity) + return + except Exception, e: + print "RASPBERRY_STATS: Exception in TempReaderThread: Could not successfully read Temperature" + print ("RASPBERRY_STATS: " + str(e)) + print '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' + pass + + time.sleep(3) +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + + +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# The Main method of the server script +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +def main(): + readTemperature() +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/modules/samples/firealarm/sketch/startservice.sh b/modules/samples/firealarm/sketch/startservice.sh index 59262911..440b635d 100644 --- a/modules/samples/firealarm/sketch/startservice.sh +++ b/modules/samples/firealarm/sketch/startservice.sh @@ -7,158 +7,19 @@ echo "| ---------------- " echo "| ....initializing startup-script " echo "----------------------------------------------------------------" -#while true; do -# read -p "Do you wish to run 'apt-get update' and continue? [Yes/No] " yn -# case $yn in -# [Yy]* ) sudo apt-get update; -# break;; -# [Nn]* ) echo "Continuing without apt-get update..."; -# break;; -# * ) echo "Please answer yes or no."; -# esac -#done -# -#if [ $? -ne 0 ]; then -# echo "apt-get update failed.... Some dependencies may not get installed" -# echo "If an already installed version of the package exists, try running:" -# echo "----------------------------------------------------------------" -# echo "sudo -i" -# echo "cd /var/lib/dpkg/info" -# echo "rm -rf wso2-raspi-alarm*" -# echo "dpkg --remove --force-remove-reinstreq wso2-raspi-alarm" -# echo "exit" -# echo "----------------------------------------------------------------" -# echo "Retry Installation...." -# break; -#fi -# -#echo "Installing 'gdebi' package..." -#sudo apt-get install gdebi # installation of gdebi -# -# -#if [ $? -ne 0 ]; then -# echo "gdebi installation failed.... dependencies will not be installed without gdebi" -# read -p "Do you wish to continue without gdebi? [Yes/No] " yn -# case $yn in -# [Yy]* ) echo "Continueing without gdebi.....";; -# [Nn]* ) echo "Try to resolve errors and re-run the script."; -# exit;; -# * ) exit;; -# esac -#fi -# -# -#for f in ./wso2-raspi-alarm_1.0_armhf.deb; do -# ## Check if the glob gets expanded to existing files. -# ## If not, f here will be exactly the pattern above -# ## and the exists test will evaluate to false. -# # [ -e "$f" ] && echo "'wso2-raspi-alarm_1.0_armhf.deb' file found and installing" || echo "'wso2-raspi-alarm_1.0_armhf.deb' file does not exist in current path"; exit; -# if [ -e "$f" ]; then -# echo "'wso2-raspi-alarm_1.0_armhf.deb' file found and installing now...." -# else -# echo "'wso2-raspi-alarm_1.0_armhf.deb' file does not exist in current path. \nExiting installation..."; -# exit; -# fi -# ## This is all we needed to know, so we can break after the first iteration -# break -#done -# -#echo "Installing the 'wso2-raspi-alarm deb package'" -#sudo gdebi wso2-raspi-alarm_1.0_armhf.deb -# -#if [ $? -ne 0 ]; then -# echo "Installation Failed...." -# exit; -#fi - -sudo killall -9 python - -for f in ./RaspberryAgent.zip; do - ## Check if the glob gets expanded to existing files. - ## If not, f here will be exactly the pattern above - ## and the exists test will evaluate to false. - # [ -e "$f" ] && echo "'wso2-raspi-alarm_1.0_armhf.deb' file found and installing" || echo "'wso2-raspi-alarm_1.0_armhf.deb' file does not exist in current path"; exit; - if [ -e "$f" ]; then - echo "Agent files found......" - sudo rm -rf /usr/local/src/RaspberryAgent - sudo unzip RaspberryAgent.zip -d /usr/local/src/ - else - echo "'RaspberryAgent.zip' file does not exist in current path. \nInstalling without upgrading agent..."; - fi - ## This is all we needed to know, so we can break after the first iteration - break -done - -for f in /usr/local/src/RaspberryAgent/rc.local; do - ## Check if the glob gets expanded to existing files. - ## If not, f here will be exactly the pattern above - ## and the exists test will evaluate to false. - if [ -e "$f" ]; then - echo "Copying boot script" - sudo mv /usr/local/src/RaspberryAgent/rc.local /etc/rc.local - sudo chmod +x /etc/rc.local - else - echo "Unable to set agent statup on boot"; - fi - ## This is all we needed to know, so we can break after the first iteration - break -done - -for f in ./deviceConfigs.cfg; do - ## Check if the glob gets expanded to existing files. - ## If not, f here will be exactly the pattern above - ## and the exists test will evaluate to false. - if [ -e "$f" ]; then - echo "Configuration file found......" - else - echo "'deviceConfigs.cfg' file does not exist in current path. \nExiting installation..."; - exit; - fi - ## This is all we needed to know, so we can break after the first iteration - break -done - -echo "Altering Configuration file" -sed -i 's|[/,]||g' deviceConfigs.cfg - -echo "Copying configurations file to /usr/local/src/RaspberryAgent" -sudo cp ./deviceConfigs.cfg /usr/local/src/RaspberryAgent/ - -if [ $? -ne 0 ]; then - echo "Copying configuration file failed...." - exit; -fi while true; do - read -p "Whats the time-interval (in seconds) between successive Data-Pushes to the WSO2-DC (ex: '60' indicates 1 minute) > " input - - if [ $input -eq $input 2>/dev/null ] - then - echo "Setting data-push interval to $input seconds." - echo $input > /usr/local/src/RaspberryAgent/time-interval - break; - else - echo "Input needs to be an integer indicating the number seconds between successive data-pushes." - fi -done - -cd /usr/local/src/RaspberryAgent/ -sudo chmod +x RaspberryStats.py -sudo nohup ./RaspberryStats.py -i $input " interval + +if [ $interval -eq $interval 2>/dev/null ] +then +echo "Setting data-push interval to " $interval " seconds." +sed s/^push-interval=.*/push-interval=$interval/ deviceConfig.properties > myTmp +mv -f myTmp deviceConfig.properties +break; else - echo "Running the RaspberryAgent service...." +echo "Input needs to be an integer indicating the number seconds between successive data-pushes." fi +done -echo "--------------------------------------------------------------------------" -echo "| Successfully Started " -echo "| -------------------------- " -echo "| cd to /usr/local/src/RaspberryAgent" -echo "| run 'sudo nohup ./RaspberryStats.py -i time " interface #