I'm relatively new to android development, but not to programming. I'd like to be able to use an Android Tablet with a mag-stripe reader, either via bluetooth or USB interface. Is Android capable of reading the serial input from the gun? If so, can anyone point me to the libraries I would need to write classes for this input?
Thanks in advance
Square uses an audio jack mag-stripe reader. You could use a similar device like this: http://www.idtechproducts.com/products/mobile-readers/112.html
I think the easiest way to build your skimming gear would be to use a standard serial usb dongle/chip (such as one from ftdi) that already has a serial driver for linux. There are a lot of good magnet card readers that talk RS-232, and programming against a serial device is a piece of cake compared to writing a usb-driver without documentation.
Related
I looked around and I have a hard time finding an answer to my question. We have an app written with Xamarin. I see SerialPort class being exposed. Not sure what it means in terms of Android. We will be using this application with custom made tablets in our device. We can have usb 3.0s but our hardware team would like to implement UART or RS 232 ports instead. We have a microcontroller which will communiucate with our tablet. Is this even possible or are we stuck witb adding a usb/serial converter in the middle. Thanks for the insight
I am new to using the RPi and just got the A+ model which I have been using to generate different types of data from external sensors. I was wondering if it is possible to send this data it is gathering to an android device in real-time, and if so the best method? I want to be able to notify the user (through a an app made with the Ionic framework) when the data enters a particular range etc.
And also is it possible to do this whilst the user is walking around with both the devices in hand?
The short answer to the question is: Yes, you can ;-)
The longer answer is much longer, since there are many ways to do this.
The one I personally would choose as the simplest is classic Bluetooth (not LE) using the SPP profile, which basically makes the BT link a serial connection between the RPi and the phone.
On this serial link you invent you own streaming protocol suitable for the data you want to transfer.
On the RPi side you install a module such as this: https://www.sparkfun.com/products/12577
(There are many alternatives, but the RN42 module is very foolproof...)
Don't know the level of your hardware skills, you might need something more plug and play if you feel uncomfortable hooking up the 4 wires needed for 3.3V power and serial communications between the Pi and the BT Module...
On the phone side you install https://github.com/don/BluetoothSerial, which gives you an API reachable from Ionic where you can receive the BT data stream.
With that and a bit of coding on both sides you are good to go.
I've used a Raspberry Pi in combination with an Android smartphone & Lego NXT.
Communication was achieved using Bluetooth on Raspbian. I used a cheap $1 USB Bluetooth dongle. The Bluetooth stack had to be compiled for Raspi, which may not be necessary anymore. Steps can be found here: Bluetooth error: Native Library bluecove_arm not available
Bluetooth seems most logical to me.
I'm at work at the moment, hence the lightweight answer, if you'd like to discuss this further then please leave a comment and I'll be happy to provide more verbose response.
You can upload the data to any cloud services. You can use Xively/Box. Xively is specially made for real time data collection.
To connect RPi to Xively, refer this: https://xively.com/dev/tutorials/pi/
For Box, refer this: http://www.sbprojects.com/projects/raspberrypi/webdav.php
You can then use Xively API in your android app. You can see GitHub for this
Google app store already has some apps for you, if you want to use
It might look a little complex. But its really simple once you follow the above methods.
I´ve been reading a lot about NFC, card emulation and etc.... I found two very helpful posts about this issue:
Android and Symbian NFC mobile development questions and answers (FAQ)
http://forum.xda-developers.com/showthread.php?t=1281946
Reading them I realized that it is quite complicated to write an application to make a payment.
Since I just want to see "something" working I'd like to ask the more experienced people if using the patch provided at xda-developers forum (second link above) would be enough just to write an appication that would open some door ou register/authorize someone´s entrance at an event (provided that I have a NFC device to properly interact with my phone, of course).
Thank you all
Payment is mostly impossible since you don't have the keys for the JavaCard card manager, better forget about it. Additionally, to write a Visa, etc compatible payment applet, you
need access to their specs, which means signing NDAs, paying money, etc.
Apparently the Mifare chip has stock keys, so you can modify it. So if you have a reader, and a device (door, etc.) that uses Mifare cards, you might be able to get it work. The thread also mentions that you might be able to clone your transport card. But:
you need to build your own firmware and flash it on a rooted phone
you may need to port the patches to whatever is the current GB version (2.3.7) or use exactly the same (old) tag
You need to do a lot more reading :)
In my opinion, you shouldn't bother with trying the patches on XDA Developers, especially if you are considering using Android 4.0 ICS. Android 4.0 already has built-in functionality on the Nexus S and Galaxy Nexus phones to enable card emulation. Drawback: you need a rooted phone to make it all work (see e.g. How to obtain NFCEE_ADMIN permission on rooted phone? for an example of someone succeeding).
A perhaps simpler approach is using NFC peer-to-peer communication ("Android Beam") with an external reader. This can work with any Android NFC device using a simple app to push the necessary data to the reader. Provided the reader support peer-to-peer communication, this is far the easiest solution. It would require some development work on the reader side, though, see http://code.google.com/p/ismb-npp-java/wiki/NppFromPhoneToACR122 for an example of this approach.
I'm a C/C++ programmer with good windows and linux development experience and I also know a bit of java too. Recently, a client asked me to develop an Android app for him, wich, will most likely run on a Samsung Galaxy S or Galaxy S II, with Android 2.3, that basicaly consists in connecting a standard smartcard reader on the USB port of the device and using it to access the smartcard.
I have programmed smartcards before, but I have no experience with android. So my questions are:
Is it possible to do what I need in this hardware and O.S.?
Will I have to write my own driver to interface with the USB?
Going into more detail, I need to at least be able to execute APDU commands with the cards.
Something like the PC/SC standard. Are there any solutions in this subject already implemented?
Any ideas of where to begin?
Thanks in advance.
Short answer: not really.
Long answer: you might need to use custom firmware (Android build) to do this. Here's a project that does this, although their focus is on using embedded chips not external readers. They have a PC/SC implementation for Android.
Android has USB host support since 3.1, not sure if that is sufficient to implement a reader driver, so you can talk to your card: http://developer.android.com/guide/topics/usb/host.html
Even if you do though, you will need to somehow bridge it to your PC/SC stack.
Please open source it if you implement it :)
Did you test to connect a external smartcard reader to connect to a android device. What where results?
Greetings,
Wouter
i want to have some knowledge on porting android on linux devices. I am a web and android developer but now i want to port android on some hardware which you could suggest is easy for the beginners to start with.
I don't feel like buying a mobile phone this time i want to make a mobile phone :)
Please help me achieve this goal.
regards
Abhishek Talwar
Well, what you're asking is pretty complex.
Do you want to BUILD your own cellphone from scratch?
This would take a lot of knowledge and development time. You could get some GSM development boards to experiment with that. Something like these:
http://www.sparkfun.com/search/results?term=gsm&what=products
You could get an Arduino and use one of the arduino linux ports. The arduino could handle the gsm module and an lcd screen.
This is extremely complicated though.
If its android porting you're interested in, I suggest just getting a mobile phone and then porting android to it. It WILL be complicated and you better get something you can easily develop for. Windows Mobile phones would be my suggestion as there are a lot of active programs to port android to those.