Une note sur la façon d'écrire du code python dans Raspeye ・ Créé avec IDLE sur le bureau de Raspeye (Nécessite un écran et un clavier) ・ Commande Vi avec tarte à la râpe (Nécessite un écran et un clavier, aucune souris requise) ・ Créé avec un bureau à distance et IDLE sur Raspeye (Besoin d'un moyen de vérifier la connexion réseau et l'IP de Raspeye) ・ Vi de connexion ssh à tarte à la râpe (Si vous pouvez confirmer la connexion Internet et l'IP) ・ Envoyer le fichier python à Raspeye par ftp (Si vous pouvez confirmer la connexion Internet et IP En outre, vous pouvez écrire dans votre propre environnement de développement PC, texte sublime, etc.)
Je l'utilise avec souplesse Connexion à distance essentiellement Il existe une commande "arp -a" depuis le même réseau comme moyen de confirmer l'adresse IP Je n'utilise pas tellement le logiciel FTP pour Mac, mais je ne pense pas que ce soit bon. Au moment de la victoire, winscp + putty était très agréable et j'aimais aussi teraterm. J'aime le terminal
Je vais mettre l'un des codes les plus simples pour l'instant J'utilise l'adresse I2C de la précédente «Confirmation d'entrée analogique» Tout d'abord, je vois la valeur à chaque fois que je l'exécute
sample1.py
import smbus
I2C_ADDRESS = 0x48
bus = smbus.SMBus(1)
bus.write_byte(I2C_ADDRESS, 0xFF)
value=bus.read_byte(I2C_ADDRESS)
print value
Rendez-le toujours visible dans les déclarations répétitives
sample2.py
import smbus
import time
I2C_ADDRESS = 0x48
bus = smbus.SMBus(1)
while True:
bus.write_byte(I2C_ADDRESS, 0xFF)
value=bus.read_byte(I2C_ADDRESS)
print value
time.sleep(0.1)
Puisque le but est de prendre enfin le pouls, nous utiliserons des threads pour traiter toutes les 1 millisecondes.
sample3.py
import threading
import smbus
import time
I2C_ADDRESS = 0x48
bus = smbus.SMBus(1)
def loop():
bus.write_byte(I2C_ADDRESS, 0xFF)
value=bus.read_byte(I2C_ADDRESS)
print value
t=threading.Timer(0.1, loop)
t.start()
t=threading.Thread(target=loop)
t.start()
Cette fois, je veux mesurer seulement 10 secondes et y mettre fin, donc j'écrirai un processus qui se termine lorsque le thread est exécuté 100 fois. La valeur donnée à l'argument du thread est augmentée régulièrement. J'ai pensé à un moyen plus simple, mais je ne pouvais pas y penser. Si vous savez quelque chose, veuillez commenter. (Étant donné que les opérations sur les fichiers seront effectuées plus tard, il est nécessaire de fermer le fichier à la fin du traitement, je l'ai donc ajouté.)
sample4.py
import smbus
import time
import threading
import csv
I2C_ADDRESS = 0x48
bus = smbus.SMBus(1)
f = open('data.csv', 'w')
def loop(count):
# count = count+1
bus.write_byte(I2C_ADDRESS, 0xFF)
value = bus.read_byte(I2C_ADDRESS)
print value
writer = csv.writer(f, lineterminator='\n')
writer.writerow([value])
if count < 100 :
t = threading.Timer(0.1, loop, [count])
t.start()
else :
f.close()
print 'finish'
t = threading.Thread(target=loop, args=(0,))
t.start()
La prochaine fois, j'utiliserai le dernier exemple de code