I'm new to the world of GPS. Please help me understand the following:
1) Why GPS chip is required? If the GPS antenna is enough to transmit and receive data, any normal processor could do the decoding of the received GPS data.
2) Does NaviLink 6.0 has its own GPS stack? Doesn't Android has its own GPS stack?
3) NaviLink 6.0 integrates A-GPS, Bluetooth 2.1, FM Tx/Rx on a single chip. Why do you require a chip for bluetooth for FM and Bluetooth? Is FM antenna not enough? Is a separate chip required for Bluetooth too?
it's possible, and it's called "Software GPS" (there is even an open source project)
however, the CPU resources required are really big, and therefore its not really an option for hand-held mobile devices.
also, the sampling rate need to be very high, ad you need A/D converter, which also complicate things
Related
I'm looking for a device who has the capability to be a GPSR tracker and have the same features like ELM327 OBD II has. The features I'm talking about are:
Engine RPM
Calculated Load Value
Coolant Temperature
Fuel System Status
Vehicle Speed
Short Term Fuel Trim
Long Term Fuel Trim
Intake Manifold Pressure
Timing Advance
Intake Air Temperature
Air Flow Rate
Absolute Throttle Position
Oxygen sensor voltages/associated short term fuel trims
Fuel System status
Fuel Pressure
...over 4,000 - 15,000 additional values.
I've found some devices but none of them has this features...
Since you did not mentioned any platforms, I write 3 opportunities you have and you can spread it further!
1) You can use Arduino Uno or Raspberry Pi with Arduino kits.
For instance, combining Raspberry Pi and Arduino geolocation tracker (GPRS + GPS) kit and a CAN Bus Module, you can get what you want. There are many good examples and libraries for C++ and Python. For a rough idea look at Cooking Hacks website, Realtime GPS+GPRS Tracking example and CAN Bus Module Tutorial for Arduino and Raspberry Pi.
2) Alternative is using a mobile device (cellphone) using a Bluetooth or WiFi CAN Bus (eg. ELM327) and write an app to save the GPS data through the Built-in GPS module and OBD data via ELM327. Then you can send your data using mobile data.
3) I've seen devices such as TK228 OBD-II GPS Tracker But I don't have any idea how useful they are and how they work!
I have tested 1 & 2. There are some bottlenecks using Raspberry Pi but Android + a CAN Bus module worked for me perfectly.
Cheers!
i have found this device which has elm327 and gsm both functions
https://www.alibaba.com/product-detail/obd-gps-tracker-elm327-obd2-scanner_62198702445.html?spm=a2700.7724857.normalList.95.15d42a92zLl08q
May be it will work for you it will drop the data into the system itself by IMEI number of the obd device
I have a custom ps2 keyboard(8x8 matrix) interfaced with AT89C51ED2 microcontroller, now I need to change it to USB interface. I have been studying about the basics of USB HID class communication(USB HID class specs, USB complete, Beyond logic) and have come to know little bit about the theory behind it.
But I am not able to understand the firmware part, I read a demo keypad application by Microchip which had given a sample source code, but I am not able to understand in the code how data(key pressed) is sent to the IN endpoint and how the host reads that through polling. I know that endpoint is a buffer from which data is sent to host, but Is it one of the registers of the micro-controller and how do I use it in my code?.
And I have been searching the suitable micro-controller with USB support, but no supported demo's are available, any suggestions will be helpful
The AT89C51ED2 datasheet does not mention hardware support for USB, so the answer is no: an endpoint does not correspond to a hardware register. Instead, an endpoint would refer to some software buffers in the RAM of the chip, and some data to keep track of the endpoint's state. Every bit of every USB packet must be handled by the firmware of the device, and endpoints are an abstraction that live entirely in the firmware of your device.
Note: I am assuming that the keyboard doesn't have some kind of USB interface chip, and that the data lines of the USB cable connect more-or-less directly to the microcontroller.
If you can't find the source code for the keyboard, you might look into using an open-source AVR software USB implementation. Here are some useful links:
https://www.obdev.at/products/vusb/
http://www.fischl.de/usbasp/
Please note that you are undertaking an advanced project, and if you are not familiar with AVRs, USB, microcontrollers, reverse engineering, and embedded development/debugging, it might be useful to start with something simpler first.
I have an Arduino Pro Mini and a USB cable with just wires from one side. Is it possible to connect these wires directly with Arduino? I mean, +Data to Rx, -Data to Tx, +5v to one of the numbered pins and ground to GND.
No, in fact you could damage your Arduino doing this.
The RX and TX pins are for Serial (which run at higher voltages than 5volts)
Your best option would be to buy a USB to Serial convetor and then use a MAX232 chip (it is a chip that converts TTL logic (5volts) to RS232 (3 to -25 volts).
Or you could try using the v-usb library. Google v-usb online.
Hope this helps.
Yes, but not as you think, there is a raw voltage and regulated voltage but why run the risk of wiring incorrectly.
The best is use USB device between FTDI.
Here is a simple pin connection to make programming easier in photos. (quality of photos may not be best but you get the idea from them) I don't show how I add the blue to the pins but that is shrink tubing heated.
This makes easier programming of your Arduino this can be attached to a programmer quickly and effectively.
You can get this from Sparkfun for very cheap FTDI
I am planning on doing a small arduino project and would like to know if what I'm thinking would work with a regular arduino board. I'm thinking of buying an Arduino Uno for my project, along with an IR LED and an IR sensor. So here's what I want to go with this:
I want to point the LED towards the sensor, so that the sensor is always detecting light. Then', I'll start "cutting" that light (say, with with my hand) several times. I want the arduino program to time the intervals between the times the light is "cut" and send these times to my computer via USB, so I can process this data.
I've seen many people talk about serial communication between an arduino board and a computer, but I'm not sure how that works. Will it use the same usb connector I use to upload programs to the board, or do I have to buy anything else?
EDIT: tl;dr: I guess my question, in the end, is twofold:
1) Am I able to "talk" to my computer using the built-in USB connector on the board, or is that used solely for uploading programs and I need to buy another one? and
2) Is this project feasible with an Arduino Uno board?
Thanks for the help!
Yes, your project is very feasible.
You use the built in USB connector to both program the device and communicate with it. Check out some examples on the Serial Reference Page
For reading the sensor, you'll want to use either a digital or analog input. For a digital input, you'll likely have to external components to control the light threshold, but it will provide a simple yes or no if something is in front of it. With an analog input, you can use a threshold in code to determine when your hand passes.
Timing can either be done on device with the Millis() function or on the connected computer.
I've got quite a fun challenge / work assignment. I'm to monitor a couple of 5V light bulbs (warning lights) on a machine standing far out in no man's land. I'm looking for an affordable device with an input which allows me to hook into the light bulb circuit to tell whether it's lit or not.
Requirements:
GPRS
Inputs for at least two light bulbs
Programmable in C or something similar.
Bonus (not required, but it would be kind a nice):
Waterproof casing / chassis (I could make this my self, but it would be nice if I didn't have to)
Option to add other sensors like humidity, temperature and gps.
Any tips?
I'd recommend an arduino
Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.
Arduino can sense the environment by receiving input from a variety of sensors and can affect its surroundings by controlling lights, motors, and other actuators. The microcontroller on the board is programmed using the Arduino programming language (based on Wiring) and the Arduino development environment (based on Processing). Arduino projects can be stand-alone or they can communicate with software on running on a computer (e.g. Flash, Processing, MaxMSP).
there's an article here on hooking one up with gps
http://www.arduino.cc/playground/Tutorials/GPS
and for more information on the arduino platform in general, and where to buy
http://www.arduino.cc/
Edit: just noticed you were looking mainly for GPRS and not GPS - doh, however, quick look on google brings up this: http://www.libelium.com/squidbee/index.php?title=New_GPRS_module_for_Arduino_%28Hilo_-_Sagem%29 which is a GPRS module for the arduino :]
Have you looked at Arduino?
in fact, what you are asking already exists: many companies which produces electrical component for the industry provides a rail-mounted GPRS modem for remote signaling.
here is one example, made by phoenix contact
another one from another company
the tele-control range of product from wago
telit is well-known for its GSM chips, and provides a complete module with GPRS and programmable in python.
you can find some fancier systems including GPS and linux-based, here for example
there are countless other solutions...
I would buy the Terminus from Janus RC it is based on a telit module. It is a cell modem with 9 GPIO and you can program it using python.
Interface
9 Bi-directional CMOS I/Os
Power Monitor
1 ADC
ITU-T V.24 serial link through UART
Python Script Support
Integrated Python script interpreter (V1.5.2+)
2 MB of non-volatile memory
1.2 MB of RAM reserved for Python engine usage
Powerful built-in libraries makes accessing hardware easy