Es wurde notwendig, die Signalstärke des Ortes zu messen, an dem das Signal mit der LTE-SIM-Kommunikation die Grenze erreicht, und zuerst habe ich die Signalstärke der SIM-Karte mit Raspberry Pi zu Hause in einer guten Funkumgebung gemessen, um die Ergebnisse zusammenzufassen Es war.
Die diesmal vorbereitete SIM-Karte ist SORACOMs Plan-D, der den Docomo-Bereich abdeckt. Das Gerät wurde mit der folgenden Konfiguration getestet. ・ Raspberry Pi3 + LTE-Kommunikationsmodul (4GPI) ・ Himbeer-Pi4 + USB-Modem (MS2372-607) Das Betriebssystem ist Raspbian, aber für Raspberry Pi3 habe ich 4gpi-buster-lite-20200612.zip für 4GPI verwendet und es auf den neuesten Stand gebracht.
Das Beispiel für die Verwendung von 4GPI wird weggelassen, und ein Beispiel für die Erstellung einer allgemeinen USB-Modemumgebung wird kurz erläutert. Schließen Sie das USB-Modem an und führen Sie den Befehl lsusb aus, um sicherzustellen, dass das Gerät 004 das Modem erkennt.
$ 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
Das USB-Modem (MS2372-607) wird von / dev / ttyUSB0 erkannt. Als Referenz ist es im Fall von 4GPI / 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 ist erhältlich unter:
$ curl -O https://soracom-files.s3.amazonaws.com/setup_air.sh
$ sudo bash setup_air.sh
Sie können die Verbindung der Netzwerkschnittstelle wwan0 wie folgt überprüfen.
$ 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
Um die Signalstärke von SIM zu messen, muss der entsprechende AT-Befehl durch serielle Kommunikation mit dem Modem oder Kommunikationsmodul gesendet und das Ergebnis empfangen werden. Der AT-Befehl, der die Funkfeldstärke erfassen kann, ist ** AT + CSQ **, und die Funkwellenstärke wird basierend auf diesem Ausgabeergebnis bestimmt.
Die Signalstärke ist der AT-Befehl ** AT + CSQ **, das Ergebnis wird jedoch als ** + CSQ: 19,99 ** ausgedrückt. ** 19 ** im obigen Ergebnisbeispiel ist RSSI (Received Signal Strength Indicator) (0 bis 31 oder 99). (99 ist unbekannt oder nicht nachweisbar.) Im obigen Ergebnisbeispiel ist ** 99 ** BER (Bit Error Rate), und 99 scheint zu bedeuten, dass ein Bitfehler aufgetreten ist oder unbekannt war oder nicht erkannt werden konnte. Um dies in einen dBm-Wert umzuwandeln, der die Funkfeldstärke darstellt, berechnen Sie mit der Formel ** - 113 + (RSSI-Wert * 2) **. Der RSSI-Wert, der dBmc-Wert und die Funkfeldstärke sind in der folgenden Tabelle zusammengefasst. Wenn Sie jedoch die grobe Funkwellenstärke kennen möchten, ist der RSSI-Wert ausreichend.
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 |
Dieses Mal habe ich ein Programm erstellt, um die Funkfeldstärke mit Python 2.7 zu messen. Die serielle Python-Kommunikation erfordert Pyserial.
$ pip install pyserial
Ich habe das folgende Programm unter Bezugnahme auf die Informationen im Web erstellt. ** / dev / ttyUSB0 ** ist für ein USB-Modem (MS2372-607) und ** / dev / tty4GPI ** für 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()
Im Fall eines USB-Modems (MS2372-607) war dies wie folgt.
$ python LteSimLevel.py
AT command response
+CSQ: 19,99
OK
SIM signal strength
Good (-75dbm)
Im Fall von 4GPI war es wie folgt.
$ python LteSimLevel.py
AT command response
+CSQ: 27,99
OK
SIM signal strength
Excellent (-59dbm)
Im Fall eines USB-Modems (MS2372-607) ist die Antenne in den USB-Dongle eingebaut, und die Verstärkung der Antenne ist gering. Es wird geschätzt, dass 4 GPI mit einer festen Antenne auf der dedizierten Karte die Verstärkung der Antenne um diesen Betrag aufweist Es ist ein überzeugendes Ergebnis. Nachdem wir den Unterschied in der Funkstärke bestätigt haben, können wir die Funkstärke anscheinend an Orten messen, an denen die Funkwellen mit der LTE-SIM-Kommunikation die Grenze erreichen.
__ Verwenden von SORACOM Air auf verschiedenen Geräten __ https://dev.soracom.io/jp/start/device_setting/ __Lesen Sie AT-Befehlsdaten mit pySerial __ https://stackoverrun.com/ja/q/6675281 __3 Referenzinformationen zur Ermittlung des Installationsorts bei Verwendung von G / LTE __ https://armadillo.atmark-techno.com/howto/armadillo_3g-lte_installation-location AT Command AT+CSQ https://m2msupport.net/m2msupport/atcsq-signal-quality/ __ Mit SORACOM --3 Practical Edition erlernte AT-Befehle (AT + CSQ-Befehle) __ 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