Il est devenu nécessaire de mesurer l'intensité du champ radio à l'endroit où l'onde radio atteint la limite avec la communication LTE SIM, et j'ai d'abord mesuré la force des ondes radio de SIM en utilisant Raspberry Pi à la maison avec un bon environnement d'ondes radio, donc je vais résumer les résultats C'était.
Le SIM préparé cette fois est le plan-D du SORACOM qui couvre la région de Docomo. L'équipement a été testé avec la configuration suivante. ・ Module de communication Raspberry Pi3 + LTE (4GPI) ・ Modem USB Raspberry Pi4 + (MS2372-607) Le système d'exploitation est Raspbian, mais pour Raspberry Pi3, j'ai utilisé 4gpi-buster-lite-20200612.zip pour 4GPI et l'ai mis à jour avec le dernier état.
L'exemple d'utilisation de 4GPI est omis et un exemple de création d'un environnement de modem USB général est brièvement expliqué. Branchez votre modem USB et exécutez la commande lsusb pour vérifier que le périphérique 004 reconnaît votre modem.
$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Le modem USB (MS2372-607) est reconnu par / dev / ttyUSB0. Pour référence, dans le cas de 4GPI, ce sera / dev / tty4GPI.
$ ls -al /dev/ttyUSB*
crw-rw-rw- 1 root dialout 188, 0 Sep 22 00:19 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 Sep 22 00:11 /dev/ttyUSB1
crw-rw---- 1 root dialout 188, 2 Sep 22 00:11 /dev/ttyUSB2
SORACOM Air sera disponible à:
$ curl -O https://soracom-files.s3.amazonaws.com/setup_air.sh
$ sudo bash setup_air.sh
Vous pouvez vérifier la connexion de l'interface réseau wwan0 comme suit.
$ ifconfig wwan0
wwan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 169.254.62.145 netmask 255.255.0.0 broadcast 169.254.255.255
ether 00:1e:10:1f:00:00 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 49 bytes 14994 (14.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Afin de mesurer la force du signal de SIM, il est nécessaire d'envoyer la commande AT correspondante par communication série avec le modem ou le module de communication et de recevoir le résultat. La commande AT qui peut acquérir l'intensité du champ radio est ** AT + CSQ **, et l'intensité des ondes radio est déterminée en fonction de ce résultat de sortie.
La force du signal est la commande AT ** AT + CSQ **, mais le résultat est exprimé comme ** + CSQ: 19,99 **. ** 19 ** dans l'exemple de résultat ci-dessus est RSSI (Received Signal Strength Indicator), qui va de 0 à 31 ou 99. (99 est inconnu ou indétectable.) Dans l'exemple de résultat ci-dessus, ** 99 ** est BER (Bit Error Rate), et 99 semble signifier qu'une erreur de bit s'est produite ou était inconnue ou n'a pas pu être détectée. Pour convertir cela en une valeur dBm qui représente l'intensité du champ radio, calculez à l'aide de la formule ** - 113 + (valeur RSSI * 2) **. La valeur RSSI, la valeur dBmc et l'intensité du champ radio sont résumées dans le tableau ci-dessous, mais si vous souhaitez connaître la force approximative des ondes radio, la valeur RSSI est suffisante.
RSSI | dBm | Connection status |
---|---|---|
0 | -113 or less | - |
1 | -111 | - |
2~9 | -109~-95 | Marginal |
10~14 | -93~-85 | OK |
15~19 | -83~-75 | Good |
20~30 | -73~-53 | Excellent |
31 | -51 or greater | - |
99 | - | Not known or not detectable |
Cette fois, j'ai créé un programme pour mesurer l'intensité du champ radio avec Python 2.7. La communication série Python nécessite pyserial.
$ pip install pyserial
J'ai créé le programme suivant en me référant aux informations sur le Web. ** / dev / ttyUSB0 ** est pour un modem USB (MS2372-607) et ** / dev / tty4GPI ** pour 4GPI.
LteSimLevel.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import time
import serial
modem = serial.Serial("/dev/ttyUSB0",baudrate=115200,timeout=1)
def sendAt(cmd):
modem.write('AT+'+cmd+'\r')
time.sleep(0.1)
return modem.read(32798)
def calcDbm(csq):
csq = csq.replace('OK','')
csq = csq.replace('+CSQ: ','')
csq = csq.replace('\n','')
csq = csq.replace('\r','')
dec = csq.split(',')
if unicode(dec[0]).isdecimal():
dbm = -113 + (int(dec[0]) * 2)
return dbm
else:
return -113
def connStatus(dbm):
if dbm >= -73:
return "Excellent"
elif dbm >= -83:
return "Good"
elif dbm >= -93:
return "OK"
elif dbm < -93:
return "Alert:Marginal"
try:
if modem.inWaiting()>0: modem1.flushInput()
csq = sendAt('CSQ')
print("AT command response")
print(csq)
print("SIM signal strength")
dbm = calcDbm(csq)
print(connStatus(dbm) + " (" + str(dbm) + "dbm)" )
finally:
modem.close()
Dans le cas du modem USB (MS2372-607), c'était comme suit.
$ python LteSimLevel.py
AT command response
+CSQ: 19,99
OK
SIM signal strength
Good (-75dbm)
Dans le cas de 4GPI, c'était comme suit.
$ python LteSimLevel.py
AT command response
+CSQ: 27,99
OK
SIM signal strength
Excellent (-59dbm)
Dans le cas d'un modem USB (MS2372-607), l'antenne est intégrée au dongle USB et le gain de l'antenne est faible, et on estime que 4GPI avec une antenne solide sur la carte dédiée a le gain de l'antenne de ce montant, donc ce qui précède est C'est un résultat convaincant. Maintenant que nous avons confirmé la différence de puissance radio, il semble que nous pouvons mesurer la puissance radio à l'endroit où l'onde radio atteint la limite par la communication LTE SIM.
__ Utilisation de SORACOM Air sur divers appareils __ https://dev.soracom.io/jp/start/device_setting/ __Lire les données de commande AT avec pySerial __ https://stackoverrun.com/ja/q/6675281 __3 Informations de référence nécessaires pour déterminer l'emplacement d'installation lors de l'utilisation de G / LTE __ https://armadillo.atmark-techno.com/howto/armadillo_3g-lte_installation-location AT Command AT+CSQ https://m2msupport.net/m2msupport/atcsq-signal-quality/ __ Commandes AT apprises avec SORACOM --3 édition pratique (commandes AT + CSQ) __ https://bearmini.hatenablog.com/entry/at-command3 AT Commands https://wiki.teltonika-networks.com/view/AT_Commands MS2372-607 https://blog.soracom.com/ja-jp/2018/08/17/ms2372/ 4GPI https://mechatrax.com/products/4gpi/
Recommended Posts