La tarte aux framboises (ci-après dénommée tarte aux framboises) peut être utilisée gratuitement par Mathematica. Avec Razzpie 4, la puissance de traitement du processeur a augmenté, vous n'avez donc pas à attendre indéfiniment le dessin 3D. Raspeye est une machine Linux qui se caractérise par la possibilité d'accéder à du matériel tel que GPIO, I2C et SPI. Raspbian Buster est maintenant disponible à partir de juin 2019.
Exécutez sudo Mathematica pour lancer Mathematica avec les privilèges root. Normalement, les utilisateurs pi peuvent accéder à GPIO, I2C et SPI sans privilèges root. Ici, Mathematica lit la température du BME280 du capteur MEMS et la représente graphiquement.
Raspai dispose de nombreux pilotes de périphériques de capteurs pré-compilés. Les détails peuvent être trouvés dans / boot / overlays / README. C'est juste une brève explication. La plupart des pilotes sont iio. Tout d'abord, activez l'interface I2C en cliquant sur Configuration Raspberry Pi dans les Préférences dans le menu principal, en sélectionnant l'onglet Interface, en cochant I2C et en appuyant sur OK. À partir de Buster, aucun redémarrage n'est requis.
sudo nano /boot/config.txt
Ouvrez ensuite le fichier de configuration config.txt et sur la dernière ligne,
dtoverlay = i2c-sensor,bme280,param=0x76
Ajouter, enregistrer par écrasement, quitter, redémarrer, BME280 sera activé sur l'interface I2C. La confirmation est OK lorsque i2cdetect -y 1 est exécuté et UU est affiché à 0x76. Avant cela, connectez le capteur.
Il était de 820 yens et il a été livré le lendemain.
"HiLetgo BME280 Capteur de température Capteur d'humidité Capteur de pression de pression Capteur Arduino Capteur de pression atmosphérique Capteur de température et d'humidité Breakout Compatible Arduino [Importation parallèle de marchandises]"
Connectez-vous à I2C comme suit. Le BME280 lui-même prend en charge SPI et I2C, mais cette carte est dédiée à I2C et le pilote de périphérique est également pour I2C.
Une fois le pilote de périphérique installé, les données lues sous / sys sont un fichier texte qui est mis à jour de temps en temps.
Lisez comme suit: C'est un entier et a une valeur de 1000 fois.
cat /sys/bus/i2c/devices/1-0076/iio:device0/in_temp_input
En Python,
f = open('/sys/bus/i2c/devices/1-0076/iio:device0/in_temp_input')
Temp = round(int(f.read()) / 1000.0, 1)
f.close
print(Temp)
Vous pouvez le lire avec.
Pour utiliser les programmes Python de Mathematica, utilisez la fonction Sessions externes. Les programmes Python sont des fonctions. Appelez cette fonction avec ExternalValue et recevez la valeur.
dataList = {};
Do[
session = StartExternalSession["Python"];
ExternalEvaluate[session, "def temp():
f = open('/sys/bus/i2c/devices/1-0076/iio:device0/in_temp_input');
Temp = round(int(f.read()) / 1000.0, 1);
f.close;
return Temp
"];
v = ExternalValue[session, "temp()"];
DeleteObject[session];
AppendTo[dataList, v]
, {v, 1, 10}
]
dataList
ListLinePlot[dataList]
On dirait qu'il est en cours d'exécution. Je l'ai lu 10 fois et ai dessiné un graphique.
Veuillez vous référer à https://www.denshi.club/pc/raspi/linux-3-mathematicabme280.html pour le programme qui met à jour le graphique en temps réel.
Recommended Posts