예제 #1
0
 def transmit(self, cmd):
     try:
         self.device = RCSwitchSender()
         self.device.setProtocol(self.protocol)
         self.device.setPulseLength(self.pulse_length)
         self.device.enableTransmit(self.pin)
         self.device.sendDecimal(cmd, self.bit_length)  # switch on
     except Exception as err:
         logger.exception("{cls} raised an exception when transmitting: "
                          "{err}".format(cls=type(self).__name__, err=err))
예제 #2
0
 def enable_receive(self):
     try:
         self.device = RCSwitchReceiver()
         self.device.enableReceive(self.pin)
         self.num = 0
     except Exception as err:
         logger.exception(
             "{cls} raised an exception when enabling receiving: "
             "{err}".format(cls=type(self).__name__, err=err))
예제 #3
0
def run_sender():
    """ Setup the Raspberry Pi as 433Mhz wifi sender and transmit a number 
         which is increased by one in every iteration. """

    sender = RCSwitchSender()
    sender.enableTransmit(0)  # use WiringPi pin 0
    num = 1

    while True:
        print 'Sending: ' + str(num)
        sleep(1)
        sender.sendDecimal(num, 24)
        num += 1
예제 #4
0
import time
from pi_switch import RCSwitchSender
snd = RCSwitchSender()
snd.enableTransmit(0)

on = 1655303
off = 1655302
snd.sendDecimal(on, 24)
예제 #5
0
import time
from pi_switch import RCSwitchSender
snd = RCSwitchSender()
snd.enableTransmit(0)

on =1655303 
off = 1655302
snd.sendDecimal(on,24)

예제 #6
0
############################
# Auth Key Info
############################
AGENT_USER_ID = 'home-auto-b4b9f'
API_KEY = 'AIzaSyBHnS2UwDuHfQd6HX6ce5WoDFB4ZT0Hhe8'
AUTHORIZATION_CODE = '0EFBxAWH9iBYySHFQm5xpji8LW'
ACCESS_TOKEN = 'kmjWldncnpr2drPCIe8n5TWvNEqqz8'
requestSyncHeaders = {'Content-Type': 'application/json'}
requestSyncEndpoint = 'https://homegraph.googleapis.com/v1/devices:requestSync?key='

# Lirc Init
lirc_obj = Lirc()

# RF Switch Init
rf_sender = RCSwitchSender()
rf_sender.enableTransmit(0)  # GPIO_GEN_0

# Setup logging level
logging.basicConfig(level=logging.DEBUG)


# RCU Operation
def RCU_Operation(key_code):
    logging.debug("RCU : code %s", key_code)
    lirc_obj.send_once(TV_MANUFACTORE, key_code)


# RF Operation
def RF_Operation(key_code):
    logging.debug("RF : code %s", key_code)
예제 #7
0
class Transmit433MHz:
    """Transmit 433MHz commands"""
    def __init__(self, pin, protocol=1, pulse_length=189, bit_length=24):
        self.device = None
        self.pin = pin
        self.protocol = protocol
        self.pulse_length = pulse_length
        self.bit_length = bit_length

        self.num = 0

    def enable_receive(self):
        try:
            self.device = RCSwitchReceiver()
            self.device.enableReceive(self.pin)
            self.num = 0
        except Exception as err:
            logger.exception(
                "{cls} raised an exception when enabling receiving: "
                "{err}".format(cls=type(self).__name__, err=err))

    def receive_available(self):
        try:
            if self.device.available():
                received_value = self.device.getReceivedValue()
                if received_value:
                    self.num += 1
                    bit_length = self.device.getReceivedBitlength()
                    delay = self.device.getReceivedDelay()
                    protocol = self.device.getReceivedProtocol()
                    return self.num, received_value, bit_length, delay, protocol
            return 0, 0, 0, 0, 0
        except Exception as err:
            logger.exception("{cls} raised an exception when receiving: "
                             "{err}".format(cls=type(self).__name__, err=err))

    def reset_available(self):
        self.device.resetAvailable()

    def transmit(self, cmd):
        try:
            self.device = RCSwitchSender()
            self.device.setProtocol(self.protocol)
            self.device.setPulseLength(self.pulse_length)
            self.device.enableTransmit(self.pin)
            self.device.sendDecimal(cmd, self.bit_length)  # switch on
        except Exception as err:
            logger.exception("{cls} raised an exception when transmitting: "
                             "{err}".format(cls=type(self).__name__, err=err))
예제 #8
0
    flags = argparse.ArgumentParser(parents=[tools.argparser]).parse_args()
except ImportError:
    flags = None

# If modifying these scopes, delete your previously saved credentials
# at ~/.credentials/calendar-python-quickstart.json
SCOPES = 'https://www.googleapis.com/auth/calendar.readonly'

#adresse du calendrier
CALENDAR_ID = '*****@*****.**'
#Ficher d'acces au compte google
CLIENT_SECRET_FILE = 'client_secret.json'
APPLICATION_NAME = 'Google Calendar API Python Quickstart'

#Configuration Radio
sender = RCSwitchSender()
sender.enableTransmit(0)

#Configuration Sortie GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(25, GPIO.OUT)
GPIO.output(25, GPIO.LOW)

#code Radio
code_on = 12
code_off = 11
#declaration variable sortie
out = 0

예제 #9
0
#!/usr/bin/python
# coding=utf-8

import time
from pi_switch import RCSwitchSender

on = 29955
off = 29964

sender = RCSwitchSender()
sender.setProtocol(1)
sender.setPulseLength(189)
sender.enableTransmit(0)

sender.sendDecimal(on, 24) # switch on
time.sleep(3)
sender.sendDecimal(off, 24) # switch off
예제 #10
0
#Excel_GPIO+433 mhz/horaire v1.2 06/02/2017

import RPi.GPIO as GPIO                       #GPIO
import time                                   #Heure
from datetime import date                     #Date
import calendar                               #Jour de la semmaine
import xlrd                                   #Lecture fichier Excel
from pi_switch import RCSwitchSender          #Radio
from apscheduler.scheduler import Scheduler   #Relence le programme
from ConfigParser import SafeConfigParser     #Ficher de configuration


#Configuration RF 433 mhz
sender = RCSwitchSender()
sender.enableTransmit(0)#pin de transmision (wripi)

#Configuration Sortie GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(25,GPIO.OUT)
GPIO.output(25,GPIO.LOW)

# Lancez Parser et lisez le fichier de configuration
parser = SafeConfigParser()                       

#code transmie par radio
code_on = 12
code_off = 11

#declaration de variable
sortie = False
예제 #11
0
# -*- coding: utf-8 -*-
"""
@author     Alexander Rüedlinger <*****@*****.**>
@date       30.07.2015

"""
import time
from pi_switch import RCSwitchSender

sender = RCSwitchSender()
sender.enableTransmit(0) # use WiringPi pin 0

num = 1
while True:
        time.sleep(2)
        sender.sendDecimal(num, 24)
        num += 1
예제 #12
0
from flask import Flask
from flask import request
from pi_switch import RCSwitchSender

app = Flask(__name__)
sender = RCSwitchSender()
sender.enableTransmit(0)  # use WiringPi pin 0
sender.setPulseLength(189)


@app.route("/rf", methods=['GET'])
def rf():
    n = request.args.get('number')
    number_list = n.split(',')
    for number in frequency_list:
        sender.sendDecimal(int(number), 24)
    return ""


if __name__ == "__main__":
    app.run(host='0.0.0.0', debug=True)
#!/usr/bin/python
# coding=utf-8

import time
from pi_switch import RCSwitchSender

on = 29955
off = 29964

sender = RCSwitchSender()
sender.setProtocol(1)
sender.setPulseLength(189)
sender.enableTransmit(0)

sender.sendDecimal(on, 24)  # switch on
time.sleep(3)
sender.sendDecimal(off, 24)  # switch off