SIM8200EA-M2 5G HAT

From Waveshare Wiki
Revision as of 09:03, 7 April 2022 by Eng26 (talk | contribs) (Created page with "{{DISPLAYTITLE:SIM8200EA-M2 5G HAT}} {{Infobox item| |name=SIM8200EA-M2 HAT |name2=SIM8202G-M2 HAT |brief=SIM8200EA-M2 6x antennas |brief2=SIM8202G-M2 4x antennas |img...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
SIM8200EA-M2 HAT
SIM8200EA-M2 6x antennas
Sim8200ea-m2-5g-hat-3.jpg

Mainly applicable for China, Europe, the Middle East, South America...
SIM8202G-M2 HAT
SIM8202G-M2 4x antennas
Sim8202g-m2-5g-hat-1.jpg
{{{name3}}}

{{{name4}}}

{{{name5}}}

SIM8200EA-M2:6x antennas version, size:30×52mm
SIM8202G-M2:4x antennas, size:30×42mm,
compatible hardware interface, identical software function.


Introduction

SIM8200EA-M2 5G HAT With Antennas, 5G/4G/3G Support, Snapdragon X55 Onboard, Multi Mode Multi Band, Applicable For China, Europe, The Middle East, South America, Etc.

More

Assembly drawing

Assembly drawing


Working with Windows PC

Install Driver

Download the SIM8200 Driver from the Resources part to your PC and unzip it.
Enter the SIM8200_OS_Driver\Windows directory.
Enter the 1_install directory and run the setup.exe file to install.
Sim8200 windows driver1.png
After connecting, a mobile network icon appears, and you can disconnect the other networks and test the mobile network.

Install Driver Manually

For most hosts, although 1_install is installed, there are no COM ports shown. In this case, you need to manually add the 2_AddManully file folder. Here is the way to add: find the unrecognized device in Device Manager, right-click to add the driver as shown below:
Power on the G module, switch it ON and the module boots, and then the PC will recognize four unrecognized devices (5 or 6 devices are recognized). Here the picture only shows 5 devices.
Sim8200 windows driver0.png
Right-click to update the driver demo, choose to add it manually, and select the path as SIM8200_OS_Driver\Windows. Please select it according to your system (WIN7\WIN8\WIN10), and there are up to 6 devices that can be selected, and then the PC will generate the following devices.
Sim8200 windows driver1.png
Four COM ports: AT is used for AT command control, Audio is used for dialing, Diagnostics is used for debugging, and NMEA is used for GPS.
Sim8200 windows driver2.png
Sim8200 windows driver3.png
A mobile network will be set up automatically after updating, you can disconnect other networks and test it.

Manual NDIS Dial-up Internet

After installing the driver, some computers cannot automatically dial up to access the Internet, so you need to dial manually, the operation is as follows:
Download SSCOM software, open the sim8200 AT port to send the following command:

AT$QCRMCALL=1,1 //carrier return required

Sim8200 win sendat1.png
At this point, NDIS dial-up is active, and the computer can connect to the network. If it returns 'No Carrier,' the dial-up may have already occurred. Try accessing the internet directly.

GPS Positioning

ANT5 for SIM8200EA-M2; ANT2 for SIM8202G-M2; ANT3 for SIM8262E-M2. For details, you can refer yo the module hardware user manual.

Connect the passive GPS antenna to the ANT5 of the module, and place the antenna outdoors facing the sky. Then send the AT command to turn on the GPS:

AT+CGPS=1

Sim8200 gps info0.png
Now open the NEMA port, and you can get GPS data:
Sim8200 gps info1.png
Finally, turn off the GPS, you can use the AT command:

AT+CGPS=0

SIM Card Config

  • SIM card 1 is used by default, and you can use the following commands to switch to SIM1 when it is SIM2.
 AT+SMSIMCFG=1,1
  • Or you can directly switch to SIM2:
AT+SMSIMCFG=1,2
  • If it still does not work, consider that the flight mode is on, and turn off the flight mode with the following command:
AT+CFUN=1

Working with Raspberry Pi

The use of Raspberry Pi OS

The following method is for NDIS dial-up, which is temporarily unsupported for Raspbian systems dated April 4, 2022. If errors occur, please verify that the system is dated before April 4, 2022. For Raspbian systems dated after April 4, 2022, it is recommended to use the system's built-in driver for SIM820X RNDIS dial-up, which automatically initiates internal dialing SIM820X RNDIS Dail-up.

First-time Configuration

Please don't type the wrong letter, it's better to copy and paste.

sudo apt-get install p7zip-full
wget https://files.waveshare.com/upload/8/89/SIM8200_for_RPI.7z
7z x SIM8200_for_RPI.7z  -r -o./SIM8200_for_RPI
sudo chmod 777 -R SIM8200_for_RPI
cd SIM8200_for_RPI
sudo ./install.sh

Please do not delete or modify the "option" directory, "qmi_wwan_simcom" directory, "default.script", "install.sh" files, otherwise it will affect the loading of the driver.
If there is an error, please confirm whether the system is "2020-08-20-raspios-buster-armhf", and take a screenshot of the error message so that engineers can help you analyze and solve the problem.
Run "ifconfig -a" to see that "WWAN0" has been generated.
SIM8200 RPI 2.png

Test AT Command

sudo apt-get install minicom
sudo minicom -D /dev/ttyUSB2

SIM8200 RPI 1.png

NIDS Dial-up

cd Goonline
make
sudo ./simcom-cm

After running codes, DNS information is shown in the figure below:
SIM8200 RPI 3.png
After connecting two SIM820X to the Raspberry Pi through USB, two network cards—wwan0 and wwan1 can be recognized. The two network cards can be dialed at the same time through the following commands: (The network speed cannot be superimposed)

sudo ./simcom-cm -i wwan0
sudo ./simcom-cm -i wwan1

SIM8200X Working01.png

  • Note: If the IP cannot be obtained or the networking is not successful, use the following commands to obtain the IP and set the DNS networking:
sudo dhclient -v wwan0
sudo route add -net 0.0.0.0 wwan0

Auto-run

If you want to set the codes auto-run after booting, you can modify rc.local file:

sudo nano /etc/rc.local

Add the line to file as below:

sudo /home/pi/SIM8200-M2_5G_HAT_code/Goonline/simcom-cm &

Note that you have to add "&" to the end of the command, make sure that the command can be run in the background, or the Pi may not boot normally.

Live streaming with ffmpeg

If you are using the 2020-08-20-raspios-buster-armhf image, then you don't need to install anything as the system already comes with ffmpeg.
Going straight to the topic, assuming you already have a camera and it's properly connected to the Raspberry Pi, then proceed with the tutorial.

  • The camera must be enabled by running the raspi-config command before using it:
sudo raspi-config
Select Enable Camera, select YES

Rpi Enable Camera.png

  • If it is a camera using the CSI interface, the system cannot find the device node of /dev/video0. A line for bcm2835-v4l2 needs to be added to the /etc/modules file:
sudo nano /etc/modules

add:

bcm2835-v4l2 

Pan-tilt hat addmodules.png
Then after the system starts, the system will load the module name in this file and restart the system:

sudo reboot
ls /dev/video*

The video0 device node is found below.
SIM862E-M2 5G HAT USER GUIDE03.png
Note: If after performing the first steps, please confirm that the operation and instructions are correct.
Suppose you are using Douyu Live now, register your account and enable the host function, open Douyu Live Host Center, and find the live broadcast settings.
SIM862E-M2 5G HAT USER GUIDE04.png
Open video plug flow setting:
SIM862E-M2 5G HAT USER GUIDE05.png
The rtmp address and live code will be obtained, and the Raspberry Pi will execute the command:

ffmpeg -f video4linux2 -s 640x480 -r 25 -i /dev/video0 -c:v h264_omx -f flv "rtmp address/live code"

For example: open a terminal first, runs the 5G network:

cd Goonline
sudo ./simcom-cm

and then open another terminal, run the following command:

ffmpeg -f video4linux2 -s 640x480 -r 25 -i /dev/video0 -c:v h264_omx -f flv "rtmp://sendtc3.douyu.com/live/9188303rTNGmU7CS?wsSecret=ef762877aae120262eaf23c3f60a28bf&wsTime=5f59dbf0&wsSeek=off&wm=0&tw=0&roirecognition=0"

rtmp://sendtc3.douyu.com/live is the address, and the next section is the live code. Enter the room number at this time, you can observe the live broadcast, the delay is about 1-2S.

The use of OpenWrt

Introduction to OpenWrt

Soft routing is using desktops or servers and other equipment with software. It mainly depends on the settings of the software to achieve the functions of the router. The hard routing is a unique hardware device, including a processor, power supply, and embedded software to provide router functionality.
OpenWrt is a very popular soft routing system. It is a highly modular and highly automated embedded Linux system with powerful network components and scalability. It is often used in industrial control equipment, routers, and other equipment.
In addition to the functions of general home routers, OpenWrt soft routing can also achieve port forwarding, intranet penetration, 4G networking, FTP server and more powerful functions.

Burn the image

Download the RPI OpenWrt system, unzip the system in the Imgs directory, and use the burning tool to burn the system to the SD card.

Login and initial settings

  • After the OpenWrt system is turned on, the Raspberry Pi is equivalent to a router. Therefore, use a network cable to connect the Raspberry Pi to the computer according to the use of the router (you can also use the mobile phone to search for WIFI, the default name is "OpenWrt").
  • You can set the language to auto first.
SIM820x OpenWrt(EN) (1).png
  • Enter 192.168.1.1 on the web page, the default user name: root, and the default password: password, enter the OpenWrt web management interface.
SIM820x OpenWrt(EN) (2).png
  • Set WIFI password: Network —> Wireless —> interface configuration —> Wireless security.
SIM820X OpenWrt01.png
  • Create the new interface: Network -> Interface -> Create interface.
  • Modify the IPv4 address of the LAN port to a different IP that is not the same as the LAN port IP of other routers in your home. (Many routers default the LAN port IP to 192.168.1.1. If you do not modify the IP of the OpenWrt, it will easily lead to conflicts and failure to connect to the Internet).

If necessary, it is also recommended to disable the IPv6 allocation length. After the modification is completed, click "Save & Apply", and re-use 192.168.10.1 to access the OpenWrt console.

SIM820x OpenWrt(EN) (3).png
  • In addition, it is recommended to adjust the Firewall setting to connect the OpenWrt terminal and Web management interface through the local area.

Network —> Firewall, change all "reject" to "accept", and click "Save & Apply" after modification, as shown in the picture below:

SIM820x OpenWrt(EN) (4).png
  • And then select System -> Administration, modify the allowed interface for SSH access to "unspecified" (that is, any interface can be accessed by ssh), check the Gateway port, and click "Save & Apply" after the modification is completed.
SIM820X OpenWrt02.png

At this point, you can connect to the OpenWrt web management interface or terminal through the IP address of the LAN port or wan port.

Check the working status of the drive

Connect to the OpenWrt terminal via SSH, and run the following commands to view the qmi driver, USB device, network port registration, and network port status:

dmesg | grep qmi
dmesg | grep ttyUSB 
ls /dev | grep cdc-wdm 
ifconfig wwan0
SIM8200 OpenWrt 7.png

Configure networking

  • Select System -> FileTransfer, select and upload simcom-cm in the simcom-cm directory of the folder:
SIM820x OpenWrt(EN) (6).png

Use the above "File Transfer" to upload, the uploaded program is located in "simcom-cm" under the /tmp/upload/ directory.

Enter the following commands in the terminal:

cp /tmp/upload/simcom-cm /
chmod a+x simcom-cm
./simcom-cm

【Note】: Closing this terminal will cause the networking program to stop, which will cause the network to be disconnected. It is recommended to run in the background.

SIM8200 OpenWrt 9.png
  • At this time, open a new terminal of OpenWrt and enter the command: ifconfig wwan0. You can see that the wwan0 network port has successfully obtained the operator IP and can ping the external network.
SIM8200 OpenWrt 10.png
  • Enter the Web management interface of OpenWrt, click Network —>Interface —>Create a new interface.
SIM820x OpenWrt(EN) (7).png
  • Enter the interface as shown in the picture below and confirm that the interface selection in "Physical Settings" is "wwan0".
SIM820x OpenWrt(EN) (8).png
  • Confirm that the interface selection in "Firewall Settings" is "wan".
SIM820x OpenWrt(EN) (9).png
  • Click "Save & Apply" to complete the network port settings, then return to the interface below, network-interface, you can see that the network port has been correctly identified.
SIM820x OpenWrt(EN) (10).png

Then the other devices can be connected to the OpenWrt wireless "OpenWrt" or through the network cable to connect to OpenWrt's own network port for networking.

5G Network Speed Test

In the speed measurement part, because the Raspberry Pi comes with a Gigabit Ethernet port, and there are few USB network cards above Gigabit, we use the SpeedTest For Python tool to perform speed measurement by the commands. Connect to the terminal of OpenWrt and enter the commands one by one to measure the speed:

## OpenWRT
opkg update   
opkg install python3
opkg install python3-pip
pip install speedtest_cli 
speedtest      # or use speedtest_cli
When the SIM8202G module is registered to the 5G network and has a good signal, it connects to OpenWrt's hotspot (5.8G) through the cell phone, and the cell phone can measure the speed up to about 100 megabytes, the actual speed measurement may be different, for reference only.

Raspberry Pi minicom Serial Port Debugging

1. Insert the module into the Raspberry Pi and set the S_TX and S_RX of the dipswitch to ON.
5G Network Speed Test09.png
2. Install minicom, minicom is the serial port debugging tool for Linux.

Use minicom to open ttyUSB2:
 sudo minicom -D /dev/ttyUSB2

Send to enable the UART serial port:

AT+CCUART=1

3. Open ttyS0 via minicom - ttyS0 is the serial port of the Raspberry Pi 3B/3B+/4B, and the default baud rate is 115200.

sudo minicom -D /dev/ttyS0

4. Raspberry Pi 2B/zero, the user serial device number is ttyAMA0; you can use the following command line to confirm that serial0 is the selected serial device number, as follows:

ls -l /dev/serial*

RM520n-gl faq90.png

FAQ

Support

If you require technical support, please go to the Support page and open a ticket.