|
WeMos D1 Mini |
x 1 | |
|
18650 Battery and Holder |
x 1 | |
|
GY-NEO6MV2 |
x 1 | |
|
SIM800L_MODULE |
x 1 | |
|
Slideswitch |
x 1 | |
|
Pushbutton |
x 1 | |
|
3.7v to 5v Step Up |
x 1 |
|
arduino IDEArduino
|
|
|
Soldering Iron Kit |
GPS Mobile Beacon
Building a GPS Emergency Beacon: A DIY Tutorial
Welcome to our latest DIY project: creating a GPS Emergency Beacon with a provided PCB. This device, ideal for hikers, adventurers, or anyone needing a compact emergency locator, sends a message with your GPS coordinates to a predefined contact at the press of a button. Let's dive into the assembly process, using our "Wireless RFID Card Copier" project as a reference point for our tutorial style.
Disclaimer
This GPS Emergency Beacon is designed for emergency situations. Use it responsibly and in compliance with local laws and privacy regulations. Ensure you have permission from your contacts to send them emergency messages.
Applications:
- Emergency Locator: Ideal for outdoor enthusiasts to send their location if they find themselves in distress.
- Educational Tool: Great for learning about GPS, GSM, and IoT technologies.
- Travel Companion: A helpful gadget for solo travelers in remote areas.
Building Guide - GPS Emergency Beacon:
Gather Your Tools and Materials
- Provided custom PCB designed for this project
- Wemos D1 Mini microcontroller
- GPS Module (e.g., Neo-6M)
- GSM Module (e.g., SIM800L)
- Push-button
- Micro USB cable (for programming and power)
- Soldering iron, solder, flux
- Tweezers or small pliers
Assembly
- Prepare Your Workspace: Choose a well-lit, clean area to work in. Safety first!
- Mount the Wemos D1 Mini: Fit the Wemos D1 Mini into its designated slot on the PCB. Ensure a snug fit and solder it into place.
- Attach the GPS Module: Locate the specified area on the PCB for the GPS module. Align it carefully, ensuring that all pins are correctly positioned. Solder each pin to secure the connection.
- Install the GSM Module: Similar to the GPS module, place the GSM module onto its spot on the PCB. Double-check the orientation and solder it.
- Place the Push Button: This button will act as your emergency signal trigger. Position it in its labeled area on the PCB and solder.
- Power Configuration: The Wemos D1 Mini can be powered via the micro USB port, which also serves as the connection for programming.
- Programming the Wemos D1 Mini
- The core of your GPS Emergency Beacon is the software that ties all components together.
- Install necessary libraries in the Arduino IDE: for handling GPS data, GSM functions, and any other required utility.
- Connect the Wemos D1 Mini to your computer using the micro USB cable.
- In the Arduino IDE, select the Wemos D1 Mini board and the appropriate COM port.
- Write or paste the code that handles GPS reading, button press detection, and sending the SMS with the coordinates.
- Upload the code to the Wemos D1 Mini.
Conclusion
With this project, you've created a powerful tool that can provide peace of mind during your adventures. It's an excellent opportunity to learn about integrating different technologies like GPS, GSM, and microcontrollers. Enjoy your new GPS Emergency Beacon, but remember to test it responsibly in a safe environment before taking it on your adventures. Happy tinkering and safe travels!
#include <SoftwareSerial.h>
#include <TinyGPS++.h>
// GPS Module on Software Serial Port
SoftwareSerial gpsSerial(D5, D6); // D5 (RX), D6 (TX)
// GSM Module on a different Software Serial Port
SoftwareSerial gsmSerial(D7, D8); // D7 (RX), D8 (TX)
TinyGPSPlus gps;
const int buttonPin = D1; // Pushbutton connected to D1
void setup() {
pinMode(buttonPin, INPUT_PULLUP);
Serial.begin(115200); // Begin Serial for debugging
gpsSerial.begin(9600); // GPS Module baud rate
gsmSerial.begin(9600); // GSM Module baud rate
// Initialize GSM Module
initGSM();
}
void loop() {
// Read data from GPS
while (gpsSerial.available() > 0) {
gps.encode(gpsSerial.read());
}
// Check if button is pressed
if (digitalRead(buttonPin) == LOW) {
// Wait for a valid GPS signal
if (gps.location.isValid()) {
String message = "Emergency! Location: Lat " + String(gps.location.lat(), 6) + ", Lon " + String(gps.location.lng(), 6);
sendSMS(message);
delay(20000); // Delay to avoid multiple SMS due to button bounce or multiple presses
} else {
Serial.println("Waiting for GPS signal...");
}
}
}
void initGSM() {
Serial.println("Initializing GSM module...");
// Typical AT command sequence to initialize GSM module
gsmSerial.println("AT"); // Check communication with GSM module
delay(1000);
gsmSerial.println("AT+CMGF=1"); // Set SMS Text Mode
delay(1000);
gsmSerial.println("AT+CNMI=2,2,0,0,0"); // Notifications for new SMS
delay(1000);
Serial.println("GSM module initialized.");
}
void sendSMS(String message) {
Serial.println("Sending SMS...");
gsmSerial.println("AT+CMGS=\"+1234567890\""); // Replace with your phone number
delay(1000);
gsmSerial.println(message); // The SMS text
delay(1000);
gsmSerial.write(26); // ASCII code for CTRL+Z to send the SMS
delay(5000); // Wait for the SMS to be sent
Serial.println("SMS sent.");
}
GPS Mobile Beacon
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(1)
- Likes(4)
- Engineer Oct 01,2024
- Engineer May 08,2024
- Engineer Jan 05,2024
- Inaki Iturriaga Nov 17,2023
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by Inaki Iturriaga
- GPS Mobile Beacon Building a GPS Emergency Beacon: A DIY TutorialWelcome to our latest DIY project: creating a GPS Eme...
- Wireless RFID Card Copier. Wireless RFID Card CopierIn today's digital world, security and accessibility are of paramount impor...
- Piezo Alert System. Within the fast-evolving sphere of security tools and home automation, creativity often paves the wa...
- Wifi Weather Station - Sensors board WiFi Weather Station - Sensor unitIn our digital era, many electronics projects integrate diverse se...
- RC Receiver Build Your Own RC ReceiverHarnessing advanced electronics and precise control systems, the RC Receiv...
- Universal RC Controller Build Your Own Universal RC RemoteHarnessing the power of custom PCBs and wireless communication, th...
- Continuous GPS Tracker This compact and efficient tracker provides real-time location updates, making it ideal for surveill...
- Air Quality Monitor Welcome to our DIY tutorial on assembling an Air Quality Monitoring Device. This project is perfect ...
- Automatic Watch Winder Automatic Watch WinderIn the realm of luxury timepieces and watch aficionados, an automatic watch is...
- Handheld GPS Within the swiftly advancing realm of portable technology and travel essentials, innovation often sh...
- Dual Motor Controller for Model Robotics In the thrilling world of robotics and DIY engineering, innovation continues to soar to new heights....
- Altitude Indicator with Beeper for Rocketry Altitude Indicator for Model RocketryIn our ever-advancing technological landscape, countless projec...
- Wifi Weather Station - Display unit WiFi Weather Station - Display UnitIn this technologically advanced age, countless electronics proje...
- Positon Breakout Board Position Sensors Breakout Board In today's era of advanced technology, many electronics projects req...
- Ambient Sensors Breakout Board In today's world, electronics projects often require the integration of multiple sensors to collect ...
- Infrared Launch Controller IntroductionHave you ever wanted to remotely launch a rocket, drone or other device using infrared t...
- Altimeter Datalogger with Display. Building TutorialAltimeter Datalogger with Display.Components needed:BMP280 sensorI2C to 16x2 displa...
- Remote Igniter + 3D printed Case. Remote IR Igniter.Build an Infrared remote ignitor for model rocket testing and launching!This guide...
-
-
-
-
-
-
3D printed Enclosure Backplate for Riden RD60xx power supplies
154 1 1 -
-