Je me souviendrai de la partie sur laquelle j'ai trébuché lors de l'envoi et de la réception de l'application de communication série Monowireless TWE-Lite "Byte mode".
Windows 10 MONOSTIC TWI-LITE DSP(TWELITE R)
Anconda python 3.7 pyserial
Pour référence, il existe un exemple (mode standard) utilisant TWE-Lite sur ce site. (Parce que j'utilise Python2, je dois être prudent lors de la gestion de Byte.) Texte sur le développement des ressources humaines des TI agricoles
Teraterm Realterm (pour envoyer et recevoir des binaires)
Veuillez vous référer à la page Web suivante. Référence: Environnement d'évaluation et de développement TWELITE STAGE (1) TWELITE STAGE-Télécharger Twilight Stage → Dans mon cas Windows
(2) Connectez le TWELITE R ou le MONO STICK à réécrire au port USB. → Dans le cas du TWELITE R: Vérifiez la position de la broche jaune du cavalier à proximité de la borne USB (Cavalier 2 des 3 broches à proximité de la borne USB. Sinon, l'alimentation ne sera pas fournie au DIP et une erreur de reconnaissance se produira. ) Référence: TWELITE R-Twilighter
(3) Démarrez et réécrivez TWELITE_stage.exe (Windows) dans le dossier MWSTAGE → Sélectionnez 2. Réécriture d'application L'écran passe au programmateur TWELITE. → Sélectionnez TWELITE APPS Build & Rewrite dans 3. Sélectionnez App_Uart
(4) Réécriture du contenu en mode interactif Revenez à TWELITE STAGE et sélectionnez le mode interactif Modifier l'ID de l'appareil défini Unité de base: 121 = 0x79 Unité esclave: 120 = 0x78 (par défaut) Appuyez sur "i" Entrez "121" ou "0" Entrez le «S» majuscule (Maj + S) pour enregistrer vos modifications.
(5) Test en mode chat Mode chat Sélectionnez la connexion série dans Teraterm Reportez-vous au port COM auquel l'unité maître et l'unité esclave sont connectées. Réglez la vitesse sur "115200" dans les paramètres du port série et la connexion dans les paramètres Teraterm (sinon, ce paramètre ne fonctionnera pas)
Exemple de connexion avec TeraTerm COM3 est une unité esclave, COM4 est une unité maître
(6) Mode ASCII Omis cette fois Les paramètres passent en mode interactif Appuyez sur "m". Entrez "a" Entrez le «S» majuscule (Maj + S) pour enregistrer vos modifications.
(7) Mode binaire Utilisez Realterm pour vérifier la communication. Paramètres Realterm Baud:115200 Port: 4 Spécifiez 3 pour l'autre Display As:Hex(space)
Transmission de l'unité esclave à l'unité maître Envoyer "0xA5 0x5A 0x80 0x05 0x00 </ u> 0x00 0x11 0x22 0x33 0x78"
De l'unité maître à l'unité esclave 「0xA5 0x5A 0x80 0x05 0x78 0x00 0x11 0x22 0x33 0x78」 Combiné sans fil Reçu "A 5 5A 80 05 00 00 11 22 33 00 04"
Exemple de communication réelle: 3 à gauche est une unité esclave, 4 à droite est une unité maître
"0xA5 0x5A 0x80 0x05 0x00 </ u> ..." Spécifiez la destination avec le numéro du 5e octet 00: Unité maître, 78: Unité esclave
Envoyez en Python et surveillez avec Realterm Python=3.7, Installez Pyserial (Si vous utilisez Anaconda, il est préférable d'installer avec conda) Référence: Comment créer un environnement virtuel Anaconda (conda-forge, notebook Jupyter)
import serial
#Unité maître: COM4, unité esclave: COM3
#Envoyer de l'unité maître à l'unité esclave Spécifiez 0x78
data=[0xA5, 0x5A, 0x80, 0x05, 0x78, 0x00, 0x11, 0x22, 0x33]
#Envoyer de l'unité esclave à l'unité maître Spécifiez 0x00'
# data=[0xA5, 0x5A, 0x80, 0x05, 0x00, 0x00, 0x11, 0x22, 0x33]
#Calcul de la somme de contrôle
chs = 0
for i in data[4:]:
print(hex(i))
chs = chs ^ i
print('check sum xor:',hex(chs))
data.append(chs)
# borate 115200
b_data = bytearray(data)
#Lors de l'envoi de l'unité maître à l'unité esclave. Utilisez COM3 lors de la connexion d'une unité esclave à une unité maître.
with serial.Serial('COM4', 115200) as ser:
print('---')
ser.write(b_data)
print('---')
Exemple d'exécution
Recommended Posts