示例#1
0
        public static void Main(string[] args)
        {
            Console.WriteLine(DateTime.Now.TimeOfDay);
            Console.WriteLine("DSS invoked...##");

            var reminderHandler    = new ReminderHandler();
            var motionHandler      = new MotionEventHandler();
            var fallEventHandler   = new FallDetectionHandler();
            var measurementHandler = new MeasurementHandler();

            var url = "amqp://*****:*****@cami-rabbitmq:5672/cami";

            try
            {
                var rmqEvents = new RmqExchange(url, "events", "event.*", (json) => {
                    reminderHandler.Handle(json);
                    motionHandler.Handle(json);
                    fallEventHandler.Handle(json);
                });
                var rmqMeasurements = new RmqExchange(url, "measurements", "measurement.*", (json) => { measurementHandler.Handle(json); });
            }
            catch (Exception ex)
            {
                Console.WriteLine("Something went wrong with the rmq exchange: " + ex);
            }

            Console.WriteLine("RMQ binding done!");


            while (true)
            {
            }

            Console.WriteLine("Exiting DSS...");
        }
示例#2
0
        /// <summary>Constructs a new instance.</summary>
        /// <param name="socketNumber">The socket that this module is plugged in to.</param>
        public PIR(int socketNumber)
        {
            var socket = Socket.GetSocket(socketNumber, true, this, null);

            this.onMotionSensed = this.OnMotionSensed;

            this.interrupt            = GTI.InterruptInputFactory.Create(socket, GT.Socket.Pin.Three, GTI.GlitchFilterMode.On, GTI.ResistorMode.PullUp, GTI.InterruptMode.RisingAndFallingEdge, this);
            this.interrupt.Interrupt += (a, b) => {
                if (!b)
                {
                    this.OnMotionSensed(this, null);
                }
            };
        }