Cortana Cortana est une reconnaissance vocale intégrée à Windows 10. Pour rendre la commande reconnue dans Windows 10 Cortana, créez un raccourci dans le menu Démarrer. Créez un support appelé ifttt et placez le raccourci. Par exemple "Allumez les lumières Lorsque vous ouvrez "", le raccourci sera exécuté. ** Attention ** Immédiatement après l'avoir placé, il ne sera pas reconnu, alors cliquez dessus pour l'exécuter.
C:\Users\{Nom d'utilisateur}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\ifttt
Créez un raccourci pour la commande d'exécution ci-dessous.
La destination du lien est le programme suivant.
C:\Users\hirat\Anaconda3\python.exe C:/Users/hirat/source/repos/shortCut0/ifttt.py TV
ifttt.py. J'ai créé une simple commande de requête Web. Lorsque vous codez une requête à ifttt avec python
ifttt.py
import os,sys,requests
if __name__ == '__main__': r=requests.post('https://maker.ifttt.com/trigger/HomeControl/with/key/{Chaîne de clé}',
{'value1':sys.argv[1]})
print(r.text)
Installation de la bibliothèque Windows Script Host
pip install pypiwin32
Utilisez Windows Script Host pour créer des raccourcis Windows par programme.
shortcut0.py
import win32api as WScript
import win32com.client
if __name__ == '__main__':
cortana={"1 canal":"1","2 canaux":"2","3 canaux":"3","4 canaux":"4","5 canaux":"5","6 canaux":"6","7 canaux":"7","8 canaux":"8","9 canaux":"9","10 canaux":"10","11 canal":"11","12 canaux":"12","Alimentation TV":"TV","Chaîne TV Plus":"cup","Chaîne de télévision moins":"cdwn","Augmentez le volume du téléviseur":"vup","Baissez le volume du téléviseur":"vdwn","Muet":"vcut","bs":"bs","cs":"cs","bs1":"bs1","bs2":"bs2","bs3":"bs3","bs4":"bs4","bs5":"bs5","bs6":"bs6","bs7":"bs7","bs8":"bs8","bs9":"bs9","bs10":"bs10","bs11":"bs11","bs12":"bs12","inUp":"inUp","inDwn":"inDwn","ent":"ent","Allume la lumière":"on","Éteindre les lumières":"off","Préféré":"fav","Lumière de sécurité":"small","Brillant":"lup","Sombre":"ldwn","Allumez le climatiseur":"ac","Arrêtez le climatiseur":"acoff","Allumez le chauffage":"heeting","Déshumidifier":"Joshitsu","Puissance radio":"ron","Radio 1":"r1","Radio 2":"r2","Radio 3":"r3","Radio 4":"r4","Radio 5":"r5","Radio 6":"r6","Radio 7":"r7","Radio 8":"r8","Radio 9":"r9","Radio 0":"r0","Augmentez le volume de la radio":"R+","Diminuer le volume de la radio":"R-","Radio chaîne suivante":"r>"}
for key,item in cortana.items():
WshShell = win32com.client.Dispatch("WScript.Shell")
shortCut=WshShell.CreateShortcut("C:/Users/hirat/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/ifttt_p/%s.lnk"%key)
shortCut.TargetPath="python.exe"
shortCut.Arguments = "C:/Users/hirat/source/repos/shortCut0/ifttt.py %s"%item
shortCut.IconLocation ="C:/Users/hirat/source/repos/shortCut0/favicon.ico"
shortCut.Save()
Définissez les webhooks.
Vous pouvez obtenir la requête ifttt à partir de l'URL suivante. https://ifttt.com/maker_webhooksから
MQ (Message Queuing) est l'une des méthodes pour envoyer et recevoir des données entre différents logiciels. Au lieu de transmettre les données directement, elles sont temporairement déposées dans le logiciel d'un tiers, de sorte que l'expéditeur et le destinataire puissent utiliser le timing souhaité. Une méthode qui permet le traitement de transmission / réception avec. Cette fois, je l'utilise pour connecter l'interface entre le PC et Raspberry PI. À l'origine, il est utilisé pour relier la trame principale et différents systèmes tels que l'ATM.
Immédiatement après la connexion, un test et un canal seront créés.
Notez le jeton de chaîne. Ouvrez la console et assurez-vous que vous pouvez envoyer et recevoir.
{ "channel": "test", "resource": "res", "eid": "test.res", "data": "Hello World", "ts": 1573277790737 }
Si vous pouvez vous abonner et Hello world de Publish, c'est OK! Ensuite, testez si le programme python Raspberry PI connecté au LAN peut s'abonner. Téléchargez le certificat d'accès depuis https://beebotte.com/certs/mqtt.beebotte.com.pem.
test.py
import paho.mqtt.client as mqtt
import json
HOST = 'mqtt.beebotte.com'
PORT = 8883
CA_CERTS = 'mqtt.beebotte.com.pem'
TOKEN = '{Chaîne de jeton}'
TOPIC = 'test/res' #Canal/Ressource
#Une fois connecté
def on_connect(client, userdata, flags, respons_code):
print('on_connect status {0}'.format(respons_code))
#Lorsque vous recevez un message
def on_message(client, userdata, msg):
msg=json.loads(msg.payload.decode("utf-8"))
mqmsg=msg['data']
print(mqmsg)
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.username_pw_set('token:%s' % TOKEN)
client.tls_set(CA_CERTS)
client.connect(HOST, PORT)
client.subscribe(TOPIC)
print('start')
#Boucle d'événement
while True:
try:
client.loop_start()
except:
break
print('exit')
Si vous codez ceci dans un programme Python
publish.py
import os,sys,requests,json
if __name__ == '__main__':
payload = {'data': sys.argv[1]}
r=requests.post('https://api.beebotte.com/v1/data/write/test/res?token=token_X5Gyvy1ymKHzpBQd',payload)
print(r.text)
Résultat d'exécution
C:\Users\hirat\source\repos\mqtt>python publish.py "bonjour le monde Tokyo"
true
C:\Users\hirat\source\repos\mqtt>test.py
start
on_connect status 0
bonjour le monde Tokyo
exit
Curl pour tester
curl -i -H "Content-Type: application/json" -X POST -d '{"data":"Hello World form curl"}' https://api.beebotte.com/v1/data/write/test/res?token=token_X5Gyvy1ymKHzpBQd