This guide details setting up an SMS gateway with the WIZnet Pico board, combining Raspberry Pi Pico and W5500 Ethernet in Arduino IDE. The WIZnet Pico, acting as a WebServer, accepts phone numbers and messages, and sends them as SMS via LTE Cat.M1 module using 3GPP AT Commands. This project is a practical example for those interested in Arduino-based networking and telecommunications, providing both technical insights and hands-on experience in IoT and communication technology.
More detail: https://bit.ly/3GKGVN6
STEP 1. Setting Up the Arduino IDE EnvironmentSetting up the environment to use Ethernet with Raspberry Pi Pico.
- WIZnet Github: https://github.com/Wiznet/arduino-pico
- Getting Start Arduino: The Arduino Raspberry Pi Pico/RP2040-Ethernet V2.1.1 - Hackster.io
This project requires two serial communication ports: one for standard debug messages and another to connect with the LTE Cat.M1 Module.
Default Serial settings for Raspberry Pi Pico by Earle Philhower's Arduino Board Package are detailed below. In this project, Serial (USB Port, for Debug) and Serial2 (for LTE Cat.M1 Module) are used.
STEP 3. Implementing a WebServerThe WebServer in this project simply receives and stores phone numbers and messages. An HTML source to input these details on the WebServer hosted by Raspberry Pi Pico was created using ChatGPT.
To use the LTE Cat.M1 Module, 3GPP-defined AT Commands were utilized. Note that each module manufacturer may support different commands.
For this project, the commands used are shown below, along with the data flow diagram.
Based on the above content, you can implement a simple WebServer (Ethernet) to LTE Cat.M1 SMS Gateway using W5500-EVB-Pico(Raspberry Pi Pico+W5500), Arduino IDE, and an LTE Cat.M1 modem. The code below is a basic example of the WebServer to LTE Cat.M1 SMS Send function. It involves the Raspberry Pi Pico receiving phone numbers and SMS messages from clients connected to the WebServer and sending these SMS messages to mobile phones through the LTE Cat.M1 modem. This code utilizes the Arduino IDE's Ethernet Library and 3GPP-defined AT Commands. You can view the operation in the following video.
- [Result Video]
More detail: https://bit.ly/3GKGVN6
Comments
Please log in or sign up to comment.