It seems like I can find close to what I need everywhere but not exactly what I need. Hopefully someone here can help. I'm trying to construct a GPS device that sends its location over wifi to a server, something like GPSGate (which exepts TCP/UDP over port 30175). Even a text file on a server I might be able to work with.
Its for a fleet tracking project at my work that my boss has put me up to. 50+ vehicles all with wifi already in the vehicle. I have purchased an Arduino Uno, Ublox Neo-6m, and a ESP8266 01. I've wired them to the arduino and been able interact with them, I'm just not quite sure where to go from there. Most of the tutorials I find online are for a wifi shield or a gsm shield.
I've seen some tutorials that lead me to believe I can accomplish what I want with just the gps module and the esp with nodemcu flashed onto it. I'm not quite understanding how to "tell" the arduino to use the esp to send the GPS data I'm collecting. I used the following tutorial to set up the gps.
This is my first project with Arduino, any help anyone could provide would be greatly appreciated. Thank you in advance.
Yes, for most WiFi products, an ESP8266 - which is far more powerful than the basic Arduinos - is what you want, using an Arduino as well would add little or no benefit.
What puzzles me is how WiFi would be useful in a vehicle outside of your own Wireless Access Point range?
I assume that the wifi in the vehicle is connected to the internet.
Nevertheless, this will be a very, very difficult project for someone who has never worked with Arduino before. On top of limited memory and speed, unless you are a very good programmer, you will be working with library code written for the most part by amateurs; poorly documented and often quite buggy. On top of that, you will need to be doing database management and display via the web.
Every vehicle has a Verizon MiFi Jetpack in it, for each driver's laptop. So the esp would be connecting as a client. I assumed having a server set up, like GPS Gate or openGTS, it would just be a matter of forwarding the nmea stings to the server.
ieee488:
If I knew how to do this, I wouldn't be helping you and your company with free code. It is a commercial venture. Your boss can afford to pay.
It's not commercial, it's for law enforcement. If it were as easy as having the money to buy something that is the avenue I would be taking. I was asked, if possible, to find a way to know where are people are, with the equipment we have access too, or in a way that would not strain an already tight budget. Which is probably smaller than you would think.
I'm not asking for free code, I'm willing to learn, just asking if someone can point me in the right direction.
You probably could do all this with a GPS module and an esp8226 module, but I don't know much about the latter. So my suggestion would be to buy an Arduino with a wifi shield, download the appropriate library and see if you can connect to the vehicle's wifi.
If that works, connect a GPS to the serial port (assuming it is not in use by the shield) and upload NMEA sentences to your server.
You might want to snoop around in the ESP8266 forums - I think you might be able to do everything you want with just the ESP8266 since you don't need a lot of IO pins etc.
You would only need parts of the NMEA string. I have not had a chance to play with the ESP8266 gadgets I just recently got from Sparkfun. Had to clean the computer room first. Then, I found several more layers under the first. Sigh. Real soon now
Please I need help with this same issue too. It seems esp8266 cannot work at the same time as the gps module because while the esp8266 is running the arduino acts as a usb while for gps module to also run, it will need it's serial port which is already In use by the arduino.
Please someone HELP!!!
while the esp8266 is running the arduino acts as a usb
So, you have an ESP8266 and an Arduino (UNO, Mega, etc.)?
Hook the GPS to the Arduino using AltSoftSerial. You could send the raw NMEA (or parsed data) to the ESP8266 over Serial, if that is how the ESP8266 is connected to the Arduino.