Difference between revisions of "SIM7600G-H 4G HAT (B)"
m (Text replacement - "{{#urlget:amazon|default}}=display" to "{{#ifeq: {{#urlget:amazon|0}}|{{#urlget:Amazon|0}}| default|}}=display") |
(→FAQ) |
||
Line 63: | Line 63: | ||
<div class="tabbertab" title="FAQ"> | <div class="tabbertab" title="FAQ"> | ||
==FAQ== | ==FAQ== | ||
+ | {{FAQ|What is the difference between RNDIS, NDIS, PPP, and ECM? | | ||
+ | The IP obtained by different dialing methods is different and has different characteristics. Please refer to the following table for details:<br> | ||
+ | [[File:dial-PPP-ECM-RNDIS.png|800px]]<br> | ||
+ | Below is a detailed description of the various dials: | ||
+ | *NDIS driver for Internet access (9001 mode) | ||
+ | This method must depend on the Linux system, and is suitable for application scenarios that need to be developed using Linux network socket programming. After loading the driver into the kernel, connect the SIM7600 to the motherboard with a USB cable. After the SIM7600 is turned on, the wwan0 network can be recognized. port, you can access the Internet through this network port. The bottom layer of this method depends on the USB virtual serial port of SIM7600. This dial-up method can obtain the IP provided by the public operator, and the network speed is faster. | ||
+ | |||
+ | *RNDIS (9011 mode) | ||
+ | RNDIS refers to Remote NDIS. The implementation of RNDIS based on USB is actually TCP/IP over USB, which is to run TCP/IP on the USB device, making the USB device look like a network card. This method only needs simple configuration, the motherboard will recognize the usb0 network card, and quickly obtain the usb0 network card and module or the operator's IP network access; RNDIS network speed is relatively fast, which is one of the most commonly used dial-up methods. | ||
+ | |||
+ | *ECM (9018 mode) | ||
+ | These two are the "NDIS" standard under Linux. ECM is the abbreviation of Ethernet Networking Control Model. ECM meets the requirements of CDC on USB. The data call established through standard CDC-ECM is routed through the router, and the obtained IP address is a private IP such as 192.168; if the kernel supports this way, no additional driver is required. All data interacting with the module through the USB bus is constrained by relevant protocols and standards, and the module reaches the module through the USB hardware to complete the interaction with the Linux motherboard. | ||
+ | |||
+ | *PPP dial-up | ||
+ | This method must depend on the Linux system, and is suitable for application scenarios that need to be developed using Linux network socket programming. After configuring and running the relevant scripts, connect the SIM7600 with a USB cable. After the SIM7600 is powered on, dial up the pppd script to identify it. To the ppp0 network port, you can access the Internet through this network port and obtain the operator's IP. The bottom layer of this method depends on the USB virtual serial port of SIM7600. | ||
+ | |||
+ | *AT command uses encapsulated TCP, MQTT, HTTP(S) | ||
+ | This method is suitable for microprocessors with limited resources, such as MCU, or for application scenarios with a relatively small amount of data, such as uploading sensor data to servers, cloud platforms, etc. through http(s), MQTT. If the network application is not complicated and the amount of data is relatively small (such as transmitting sensor data to the server and receiving control commands from the server), the function can be quickly used by using AT commands. | ||
+ | |||
+ | |||}} | ||
</div> | </div> | ||
<div class="tabbertab" title="Supports"> | <div class="tabbertab" title="Supports"> |
Revision as of 10:34, 27 July 2022
| ||
Feature
- Connected via Pogo PIN or MicroUSB connector.
- Dedicated pogo pin for Raspberry Pi Zero/Zero W.
- MicroUSB connector for other Raspberry Pi boards or PCs.
- Incorporates SIM7600G-H global band 4G module, compatible with 2G/3G/4G network with global support.
- USB HUB connector for other Raspberry Pi boards or PCs, providing USB extension and 4G network access.
- Supports dial-up, telephone calls, SMS, TCP, UDP, DTMF, HTTP, FTP, etc.
- Supports GPS, BeiDou, Glonass, and LBS base station positioning.
- SIM card slot, supports 1.8V/3V SIM card.
- Onboard audio jack and audio decoder for making the telephone calls.
- 2 x LED indicators, easy to monitor the operating status.
- Control via AT commands (3GPP TS 27.007, 27.005, and V.25TER command set).
- Supports SIM application toolkit: SAT Class 3, GSM 11.14 Release 99, USAT.
- Comes with online development resources and manuals (examples for Raspberry Pi).
Test
- To test this device, you should prepare the following components:
SIM7600G-H 4G HAT (B) × 1 LTE Antenna × 1 GPS Antenna × 1 USB-A to micro-B cable × 1 4G SIM card × 1 An earphone with a microphone × 1 (optional)
- Insert the activated 4G SIM card and the earphone(optional) to the HAT when the HAT is power off, and then connect it to the PC by the USB cable.
- The PWR indicator turns on after connecting.
- When the NET light starts to flash once every second, the module starts to work.
- Check the Device Manager of PC, the several COM ports will be recognized:
- If the COM ports are recognized with an exclamation symbol, you should install the SIM7600X Driver manually.
- Connect the 4G HAT to Windows PC (Hereafter we use Windows 10 PC as example))
- Unzip the driver file --> Double-click the exe driver file with the left mouse button --> Select the installation path --> NEXT --> Wait for the installation to complete --> Restart the computer --> Complete the driver installation.
- After installation, all the devices should be recognized normally as below:
NET Working Status
Reference of indicators
AT Commands for Testing
AT Command | Description | Return |
---|---|---|
ATE | ATE1: Echo mode on ATE0: Echo mode off |
OK |
AT+CGMI | Request manufacturer indentification | OK |
AT+CGMM | Request model indentification | OK |
AT+CGSN | Request product serial number identification | OK |
AT+CSUB | Request porduct version | OK |
AT+CGMR | Request firmware version | OK |
AT+IPREX | Configure buad rate of model | +IPREX:OK |
AT+CRESET | Reset model | OK |
AT+CSQ | Query signal quality | OK |
AT+CPIN? | Query SIM card status | +CPIN:RRADY |
AT+COPS? | Query provider information | +COPS:OK |
AT+CREG? | Query network registation status | +CREG: OK |
AT+CPSI? | Query UE system information | |
AT+CNMP | Select Network Mode: 2: Automatic |
OK |
For more information about the AT command, you can refer to AT command manual.
Dial-up Networking
【Note】You must use a SIM card with GPRS networking enabled and haven't been out of service.
Dial-up Networking with Windows PC
- Connect the SIM7600G-H 4G HAT (B) with the 4G SIM card to your win10 PC. After installing the driver, the PC will automatically recognize the module.
- If a Windows PC still cannot access the Internet, you need to start NDIS dial-up manually.
Open the SIM7600 AT port and send the command:
AT$QCRMCALL=1,1
Then press 'Enter'. At this time, NDIS dialing will take effect, and the PC can connect to the network.
- If you still can't connect automatically, you can use PPP dial-up. The operation steps are as follows:
GPS Debugging
- Plugin the GPS antenna and place the 4G HAT in an open outdoor (note that it cannot be tested in rainy weather). It takes about 1 minute to receive the positioning signal after power-on.
The test commands and screenshots are as follows:
AT+CGPS=1 //Open GPS AT+CGPSINFO //Print GPS information to the serial port AT+CGPS=0 //Close GPS
Make Calls and Answer
- Insert the SIM card, connect the LTE antenna, and connect the USB interface of SIM7600E-H 4G HAT to the PC. Then press the PWRKEY to power on the board.
- Check whether the indicators blink correctly (PWR's and NET's flashes).
- Send AT commands as below:
Commands | Description | Return |
---|---|---|
AT+CNUM | Phone number (only supported by some SIM cards) | +CNUM OK |
AT+CSDVC | AT+CSDVC=1: Handset output AT+CSDVC=3: Speaker output |
OK |
AT+CLVL=? | Check volume level | OK |
AT+CLVL=2 | Volume level set to 2 | OK |
ATD<phone_number>; | Make calls | OK |
AT+CHUP | Hang up call | OK |
AT+CLIP=1 | Phone ring | OK |
ATA | Answer call | OK |
Voice Output Mode and Volume Adjustment
AT+CSDVC=1 //Switch to earphone AT+CSDVC =3 //Switch to speaker AT+CLVL =? //Query the volume range. If it returns +CLVL: (0-5), it means that the volume is adjustable from 0 to 5 AT+CLVL=2 //Set the volume to 2, return to OK
Answer the phone
Display the serial port of incoming call: RING Send "ATA" //Answer the call Send "AT+CHUP" //Hang up the call
Audio Parameter Debugging
AT+CACDBFN=? +CACDBFN: (Handset_cal.acdb,Handset_tianmai.acdb) // It is recommended to consider setting this set of parameters OK
- In the initialization phase of the module startup, before making a call, add the following
AT^PWRCTL=0,1,3 // Improve TDD noise effect OK
- During the establishment of a voice call
VOICE CALL:BEGIN // Module call establishment and execution to improve call effect AT+CECM=1 //Echo suppression processing OK AT+CECH=0x500 //Improve the volume effect of the mobile phone OK
For more details, please check the file of "SIM7X00_Audio_Application_Note".
Send the Massage
- 1. Plug the SIM card, connect the LTE antenna and connect the USB interface of the 4G HAT to PC, and power on the device.
- 2. Check whether the indicators blink correctly: the PWR indicator is always on, and the NET indicator is flashing.
- 3. Send AT commands as bellow:
AT+CMGF=1 //Set the massage mode to TEXT;
- 4.Enter AT+CMGS="phone number" and then press <Enter> to set the recipient's mobile phone number, then this command will return: ">". And then you can enter the content to be sent, such as "Send message test!", and don't need to check 'AddCrLf'. After editing the message, send the information in HEX format, enter 1A in the send box, and then click SEND. After sending successfully, the module will return +CMGS: 15. You can see in the picture below:
【Note】: 1A is the key value of "CTRL+Z", which is used to tell the module to perform the sending operation. You can also send 1B that is "ESC'" to cancel the current operation.
Receive the Massage
- 1. Send a message with your phone, such as "This is a receive test for SIM7600X!" to the module.
- 2. When receiving the information, the serial port will automatically report the information, "SM", 20, which means there are 20 messages in the SM, and the message just sent is the 20th message.
- 3. Read the message:
AT+CMGR=20 //Read the 20th information (AT+CMGL="ALL" means to read all the information);
- 4. Delete the message:
AT+CMGD=20
- 5. Convert the displayed information into text through a code converter.
Dial-up Networking with Raspbian
- When using Raspberry Pi Zero/Zero W, you can connect it to the 4G HAT through the thimble, no additional USB cable is required;
- if it is used on other Raspberry Pi boards, you can connect the 4G HAT to the Raspberry Pi through a Micro USB cable. The connection is as follows:
- And use the following method to Dial-up Networking
- Raspberry Pi networked via RNDIS
- Raspberry Pi networked via NDIS
- SIM868 PPP Dail-up Networking
- How to turn Raspberry Pi Zero W into a 3G 4G Router
Minicom Serial Debugging
- 1. Connect the HAT to your Pi through the USB cable.
- 2. Install minicom:
sudo apt-get install minicom
- 3. Execute the following command:
sudo minicom -D /dev/ttyUSB2
The default baud rate is 115200.
- 4. Take the AT synchronization test as an example, and send related commands, as shown in the picture below:
Press Ctrl+A, then press Z, the minicom can enter the setting mode, and press X to exit.
Sample Demo
- 1. Inset the module and connect to the Raspberry Pi.
- 2. Download the sample demo to /home/pi/:
wget https://files.waveshare.com/upload/4/4e/SIM7600G-H-4G-HAT-B-Demo.zip sudo apt-get install p7zip-full 7z x SIM7600G-H-4G-HAT-B-Demo.zip sudo chmod 777 -R SIM7600G-H-4G-HAT-B-Demo
- 3. Respectively enter the corresponding directory, compile and run the demo. The related instructions are shown below (Take the PhoneCall.py demo as an example):
cd SIM7600G-H-4G-HAT-B-Demo/Raspberry/python/PhoneCall/ sudo apt-get install python3-pip sudo pip3 install pyserial sudo pip3 install RPi.GPIO sudo python3 Phonecall.py
AT Command Demo
PHONECALL Demo
SMS Demo
GPS Demo
TCP Demo
FTP Demo
Jetson Nano Demo
Hardware Connection
Connect the SIM7600X 4G HAT(B) to the USB port of Jetson Nano via Micro USB cable, as shown in the picture below:
Minicom serial debugging for Jetson Nano
- Connect the SIM7600X 4G HAT(B) to Jetson Nano through the USB cable.
- Use SERIAL to log in to Jetson Nano terminal and install minicom:
sudo apt-get install minicom
- Run minicom for debugging, enter the following command in the terminal:
sudo minicom -D /dev/ttyUSB2 -b 115200
- Send AT command to test:
Press Ctrl+A, then press X to exit the minicom.
More demo programs continue to be updated...
Resources
Document
Demo
Tools
Related Application Cases
How to turn Raspberry Pi Zero W into a 3G 4G Router
Application Note
- SIM7X00 Series_GPIO_Application Note
- SIM7X00 Series_SAT_Application Note
- SIM7X00 Series_SMS_Application Note
- SMS Application notes
- SIM7X00 Series_TCPIP_Application Note
- SIM7600 Series_HTTP_AT Command Manual
- SIM7600 Series_SSL_AT Command Manual
- SIM7X00 Series_UART_Application Note
- SIM7X00 Series_GPS_Application Note
- SIM7600 Series_MQTT_ATC
- SIM7X00_Audio_Application_Note
- SIM7600_Sleep Mode_Application Note
- SIM7600 Series_LBS_Application Note
- SIM7600 Series_USB AUDIO_Application Note
- SIM7600 Series_UIM HOT SWAP_Application Note
- SIM7600M22 Series_TTS_Application Note
- SIM7600 Series_HSIC_LAN_Application_Note
- SIM7600 Series Hardware Design
- SIM7600G-H Hardware Design
FAQ
The IP obtained by different dialing methods is different and has different characteristics. Please refer to the following table for details:
Below is a detailed description of the various dials:
- NDIS driver for Internet access (9001 mode)
This method must depend on the Linux system, and is suitable for application scenarios that need to be developed using Linux network socket programming. After loading the driver into the kernel, connect the SIM7600 to the motherboard with a USB cable. After the SIM7600 is turned on, the wwan0 network can be recognized. port, you can access the Internet through this network port. The bottom layer of this method depends on the USB virtual serial port of SIM7600. This dial-up method can obtain the IP provided by the public operator, and the network speed is faster.
- RNDIS (9011 mode)
RNDIS refers to Remote NDIS. The implementation of RNDIS based on USB is actually TCP/IP over USB, which is to run TCP/IP on the USB device, making the USB device look like a network card. This method only needs simple configuration, the motherboard will recognize the usb0 network card, and quickly obtain the usb0 network card and module or the operator's IP network access; RNDIS network speed is relatively fast, which is one of the most commonly used dial-up methods.
- ECM (9018 mode)
These two are the "NDIS" standard under Linux. ECM is the abbreviation of Ethernet Networking Control Model. ECM meets the requirements of CDC on USB. The data call established through standard CDC-ECM is routed through the router, and the obtained IP address is a private IP such as 192.168; if the kernel supports this way, no additional driver is required. All data interacting with the module through the USB bus is constrained by relevant protocols and standards, and the module reaches the module through the USB hardware to complete the interaction with the Linux motherboard.
- PPP dial-up
This method must depend on the Linux system, and is suitable for application scenarios that need to be developed using Linux network socket programming. After configuring and running the relevant scripts, connect the SIM7600 with a USB cable. After the SIM7600 is powered on, dial up the pppd script to identify it. To the ppp0 network port, you can access the Internet through this network port and obtain the operator's IP. The bottom layer of this method depends on the USB virtual serial port of SIM7600.
- AT command uses encapsulated TCP, MQTT, HTTP(S)
This method is suitable for microprocessors with limited resources, such as MCU, or for application scenarios with a relatively small amount of data, such as uploading sensor data to servers, cloud platforms, etc. through http(s), MQTT. If the network application is not complicated and the amount of data is relatively small (such as transmitting sensor data to the server and receiving control commands from the server), the function can be quickly used by using AT commands.