示例#1
0
 def __init__(self):
     """Constructor for the internal state of the robot, e.g. in which direction he is
     currently looking"""
     self.direction = Directions.up
     self.gy = GyroSensor()
     self.steer_pair = MoveSteering(OUTPUT_A, OUTPUT_D, motor_class= LargeMotor)
     self.zero_point = ColorSensor().reflected_light_intensity
     self.s = Sensors()
示例#2
0
 def __init__(self):
     self._state = {}
     GPIO.setmode(GPIO.BCM)
     self._gpio = GPIO
     self._driver = Driver.Driver(self._gpio)
     self._sensors = Sensors.Sensors(self._gpio)
     self._vision = Vision.Vision((640, 480))
     self._laser = Laser.Laser(self._gpio, 25)
 def test_start(self):
     sensor = Sensors()
     sensor.stop()
     self.assertEqual(sensor.isRunning(), False)
     sensor.start()
     self.assertEqual(sensor.isRunning(), True)
     sensor.stop()
     self.assertEqual(sensor.isRunning(), False)
示例#4
0
 def read(self):
     if (self.curr_val_char is None):
         print ("ERROR: Devices are not connected.")
         sys.exit(1)            
     rawdata = self.curr_val_char.read()
     rawdata = struct.unpack('BBBBHHHHHHHH', rawdata)
     sensors = Sensors()
     sensors.set(rawdata)
     return sensors
示例#5
0
    def __init__(self):
        self.ser = self._initialize_serial_communication()  # establish serial communication
        self._initialize_car()  # initialize the car
        self.sensor = Sensors()  # initialize sensors

        # first few frames of camera feed are low quality
        for i in range(0, 10):
            self.update_sensors()

        self.action = CarActions(self)  # allows us to perform hard-coded actions in the car
        self.rf = NewFollower()
示例#6
0
    def __init__(self, buddy_configuration, logger):
        """
        Initialize the object.
        """

        self.__configuration__ = buddy_configuration
        self.__logger__ = logger
        self.__lcd__ = None
        self.__lcd_status_id__ = 0
        self.__initialize_lcd__()
        self.__is_gas_detected__ = False
        self.__system_start_time__ = datetime.datetime.now()
        self.__sensors__ = Sensors(buddy_configuration)

        serial_connection = self.__initialize_modem__()
        if serial_connection is None and not local_debug.is_debug():
            self.__logger__.log_warning_message(
                "Unable to initialize serial connection, quiting.")
            sys.exit()

        self.__fona_manager__ = FonaManager(
            self.__logger__, serial_connection,
            self.__configuration__.cell_power_status_pin,
            self.__configuration__.cell_ring_indicator_pin,
            self.__configuration__.utc_offset)

        # create heater relay instance
        self.__relay_controller__ = RelayManager(
            buddy_configuration, logger, self.__heater_turned_on_callback__,
            self.__heater_turned_off_callback__,
            self.__heater_max_time_off_callback__)
        self.__gas_sensor_queue__ = MPQueue()

        self.__logger__.log_info_message(
            "Starting SMS monitoring and heater service")
        self.__clear_existing_messages__()

        self.__logger__.log_info_message("Begin monitoring for SMS messages")
        self.__queue_message_to_all_numbers__(
            "HangarBuddy monitoring started." + "\n" +
            self.__get_help_status__())
        self.__queue_message_to_all_numbers__(self.__get_full_status__())
        self.__lcd__.clear()
        self.__lcd__.write(0, 0, "Ready")
    def __init__(self, lock):
        threading.Thread.__init__(self)

        self.shutdown_flag = threading.Event()
        self.lock = lock

        #Set GPIO interface
        GPIO.setwarnings(False)
        GPIO.cleanup()  # Clean up previous configuration
        GPIO.setmode(GPIO.BCM)  # Specify the pin numbering system

        # Set PWM cycle to generate 1.4 volts for MQ-7 sensors
        GPIO.setwarnings(False)
        GPIO.setmode(GPIO.BCM)
        GPIO.setup(16, GPIO.OUT)
        self.pwm = GPIO.PWM(16, 100)
        self.pwm.start(
            14)  # Generate a duty cycle capable of providing 1.4 volts

        self.sensors = Sensors(MQ7_Ro, MQ2_Ro)
 def test_init(self):
     sensor = Sensors()
     sensor.stop()
 def test_isRaspPi(self):
     sensor = Sensors()
     self.assertEqual(sensor.isRaspberryPi, False)
     sensor.stop()
     self.assertEqual(sensor.isRunning(), False)
 def test_door(self):
     sensor = Sensors()
     self.assertEqual(isinstance(sensor.doorIsOpen(), bool), True)
     sensor.stop()
     self.assertEqual(sensor.isRunning(), False)
import time
from datetime import datetime

import paho.mqtt.client as client
import paho.mqtt.publish as publish
from Sensors import Sensors
from getmac import get_mac_address
from pytz import timezone

# Author: Gary A. Stafford
# Date: 10/11/2020
# Usage: python3 sensor_data_to_mosquitto.py \
#           --host "192.168.1.12" --port 1883 \
#           --topic "sensor/output" --frequency 10

sensors = Sensors()

logger = logging.getLogger(__name__)
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)


def main():
    args = parse_args()
    publish_message_to_db(args)


def get_readings():
    sensors.led_state(0)

    # Retrieve sensor readings
    payload_dht = sensors.get_sensor_data_dht()
 def test_Temperature(self):
     sensor = Sensors()
     self.assertEqual(isinstance(sensor.getTemp(), int), True)
     self.assertEqual(sensor.getTemp() > 0, True)
     sensor.stop()
     self.assertEqual(sensor.isRunning(), False)
示例#13
0
 def setUpClass():
     sensor = Sensors()
     time.sleep(2)
示例#14
0
    def do_GET(self):

        sensors = Sensors()
        # content_length = int (self.headers['Content-Length'])  # <--- Gets the size of data
        # post_data = self.rfile.read (content_length)  # <--- Gets the data itself

        response = BytesIO()

        if (self.path == '/soil_humidity'):

            s_h = sensors.get_soil_humidity()
            print(s_h)
            self._set_headers()
            jsonString = JSONEncoder().encode({
                "soil_humidity": s_h,
                "time": time.asctime()
            })
            print(jsonString)
            self.wfile.write(bytes(jsonString, "utf-8"))

        elif (self.path == '/temperature'):

            te = sensors.get_temperature()
            print(te)
            self._set_headers()
            jsonString = JSONEncoder().encode({
                "temperature": te,
                "time": time.asctime()
            })
            print(jsonString)
            self.wfile.write(bytes(jsonString, "utf-8"))

        elif (self.path == '/rain'):

            rain = sensors.get_rain()
            print(rain)
            self._set_headers()
            jsonString = JSONEncoder().encode({
                "rain": rain[0],
                "rain_verbose": rain[1],
                "time": time.asctime()
            })
            print(jsonString)
            self.wfile.write(bytes(jsonString, "utf-8"))

        elif (self.path == '/light'):

            li = sensors.get_light()
            print(li)
            self._set_headers()
            jsonString = JSONEncoder().encode({
                "light": li[0],
                "condition": li[1],
                "time": time.asctime()
            })
            print(jsonString)
            self.wfile.write(bytes(jsonString, "utf-8"))

        else:
            self.send_response(422)
            self.send_header('Content-type', 'application/json')
            self.end_headers()
示例#15
0
#Author: Jack Clarke
from flask import Flask
from Sensors import Sensors
app = Flask(__name__)
sensor = Sensors()


@app.route("/temp")
def getTemp():
    item = {"temp": sensor.getTemp()}
    return item


@app.route("/door")
def doorOpen():
    item = {"doorIsOpen": sensor.doorIsOpen()}
    return item


@app.route("/brightness")
def getBrightness():
    item = {"brightness": sensor.getBrightness()}
    return item


@app.route("/humidity")
def getHumidity():
    item = {"humidity": sensor.getHumidity()}
    return item

示例#16
0
    udp_sender.join()
    sensors.stop()
    sensors.join()
    Log("Application stopped")
    sys.exit(0)


###############################################################################
## main #######################################################################
if __name__ == "__main__":
    shutdown_application = Shutdown(shutdown_func=shutdown_application)
    data = Sensordata()

    display = Display(data)

    udp_sender = UDP_Sender(data)
    udp_sender.start()

    sensors = Sensors(data, update_display=display.print)
    sensors.start()

    scheduler = Scheduler(data)
    scheduler.start()

    control = Control(data, scheduler)
    control.start()

    app.run(host="0.0.0.0")

# eof #
 def test_Humidity(self):
     sensor = Sensors()
     self.assertEqual(isinstance(sensor.getHumidity(), int), True)
     self.assertEqual(sensor.getHumidity() > 0, True)
     sensor.stop()
     self.assertEqual(sensor.isRunning(), False)
 def test_Brightness(self):
     sensor = Sensors()
     self.assertEqual(isinstance(sensor.getBrightness(), int), True)
     self.assertEqual(sensor.getBrightness() > 0, True)
     sensor.stop()
     self.assertEqual(sensor.isRunning(), False)
示例#19
0
 def setUp(self):
     self.sensors = Sensors()