Je veux tweeter quand je veux
Fabriqué avec IFTTT.
Tweet avec l'heure actuelle lorsque le bouton est enfoncé. Très pratique à utiliser sur les smartphones et Apple Watch
Le texte publié ressemble à "Nyan 24 août 2017 à 03h45", et je ne peux pas publier en raison de messages en double dans la minute. Parfois, je veux lancer Nyan en continu.
J'ai une tarte aux râpes à la maison alors je veux qu'il travaille Comme pratique, essayez Webhooking avec IFTTT J'ai fait une pomme pour ignorer Webhook et une pomme pour recevoir avec IFTTT.
Lorsque j'ouvre le paramètre Webhook avec IFTTT, une URL comme celle-ci doit être affichée, donc j'aurais dû l'utiliser telle quelle. Webhook est très pratique Un exemple de saisie curl est également affiché
Spécifiez le nom de l'événement décidé par la personne à ignorer.
Le n ° 2 fonctionne également très bien, il suffit de demander à Razupai de le piloter.
En parlant de tarte aux râpes, il semble que ce soit Python, j'ai donc décidé d'utiliser Python
import wiringpi as pi ,time,requests,datetime
SW_PIN = 15 #Numéro de broche auquel le commutateur est connecté
url='https://maker.ifttt.com/trigger/python1/with/key/******'
swi=0
pi.wiringPiSetupGpio()
pi.pinMode(SW_PIN,pi.INPUT)
pi.pullUpDnControl(SW_PIN,pi.PUD_DOWN)
while True:
if(pi.digitalRead(SW_PIN)==pi.HIGH):
if(swi==0):
print("Switch ON")
str = datetime.datetime.now().strftime('%H:%M:%S')
payload = {'value1':str}
requests.post(url,data=payload)
swi=1
else:
print("Switch OFF")
swi=0
time.sleep(0.01)
Maintient le commutateur allumé et éteint dans swi
, récupère l'heure où 0 → 1 et passe à la destination du webhook.
payload = {'value1':str}
requests.post(url,data=payload)
Vous pouvez ignorer les données de temps en faisant. Publier en appuyant sur un bouton
L'envoi du POST prend beaucoup de temps, et même si je le frappe à plusieurs reprises lors de l'envoi, cela ne fonctionne pas. Je veux frapper davantage
Je veux enfiler uniquement l'émetteur et le rendre asynchrone. Quand je l'ai recherché, Python avait une fonction pour créer des sous-threads, mais je ne suis pas sûr, j'ai donc décidé de ne déplacer que l'émetteur en arrière-plan et cela a été résolu.
Le problème a été résolu en divisant l'émetteur en nyaan.py
et en le réécrivant comme ʻos.system ('sudo python3 nyaan.py &')`.
Avec cela, même si vous appuyez sur le bouton Nyan à plusieurs reprises, vous pouvez Nyan à l'intervalle le plus court de 1 seconde.
C'est un peu décevant car vous exécuterez sudo python3 nyaan.py &
à chaque fois.
Je veux le compiler, mais j'ai sommeil alors je vais le refaire.
Puisque l'élan des coups répétés a augmenté, il correspond à l'affichage en millisecondes. Dans les spécifications jusqu'à présent, un tweet par seconde était la limite (tweets en double)
now = datetime.datetime.now()
str = now.strftime('%H:%M:%S.') + "%03d" % (now.microsecond // 1000)
Difficile Progura Mingu Je ne comprends pas vraiment http://shohu.hatenablog.com/entry/20081117/1226936130 Je viens de déménager ici.
Théoriquement, vous pouvez tweeter 1000 fois par seconde sans aucun problème.
Depuis lors, il y a eu diverses choses, et il est devenu multi-thread et le son sort du haut-parleur.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import threading,tweepy,datetime,kjfsm4,wiringpi as pi,time
import pygame.mixer
SW_PIN = 14
swi=0
pi.wiringPiSetupGpio()
pi.pinMode(SW_PIN,pi.INPUT)
pi.pullUpDnControl(SW_PIN,pi.PUD_DOWN)
auth = tweepy.OAuthHandler(kjfsm4.consumer_key,kjfsm4.consumer_secret)
auth.set_access_token(kjfsm4.access_token,kjfsm4.access_secret)
api = tweepy.API(auth)
pygame.mixer.init()
pygame.mixer.music.load('nyan.mp3')
def tweet():
pygame.mixer.music.play(1)
print("tweet")
now = datetime.datetime.now()
str = now.strftime('%H:%M:%S.') + "%03d" % (now.microsecond // 1000)
print (str)
str = 'Nyan'+str
api.update_status(str)
while True:
if(pi.digitalRead(SW_PIN)==pi.HIGH):
if(swi==0):
th_me = threading.Thread(target=tweet,name="th_me")
th_me.start()
swi=1
else:
swi=0
time.sleep(0.01)
Recommended Posts