I'm developing an Arduino project (but this is not important). For this project I need to communicate (radio control) to my Arduino from my PC. The idea is to send the message or the instruction to my smartphone (cheap Android), which is connected to the internet over 3g. Then the phone will communicate to Arduino thank to the audio port (jack audio), sending a frequency controlled pulse, that is quite easy to do.
The problem is the communication between the PC and the smartphone.
Somebody has an idea of how to achieve that, eventually creating a simple application, or better, directly from the opened smartphone browser (android froyo 2.2)?
Which is the best server technology to use, and the faster, considering the tipical 3g ping?I haven`t found any source on the web, so I hope in your answers.
The microcontroller can be, with Wifly and this firmware https://dl.dropboxusercontent.com/u/101922388/WiflySanUSB.zip , a server (switching the led signal through 192.168.1.195/YT in adress bar) or also a client (the AD converter value is inserted in google databank).
I believe this could solve your problem: htpp://www.muzzley.com
Download C#/java sdk/nodejs and build your app in your computer (and connect it to arduino has you would like)
http://www.muzzley.com/downloads
Build your own widget to run on the side of the smartphone through this widget: http://www.muzzley.com/documentation/widgets/webview.html
note: you do not need to worry about the smartphone app. It's already done. Just build your own interface
How it will work
[SMARTPHONE 3g/4G] ---> [Computer with app] ---> arduino
I hope it helps.
Related
I am trying to make a android app which can make connection with Arduino nano 33 IOT device.
I realized that Arduino nano 33 IOT has BLE module on it, so I used <ArduinoBLE.h> to advertise the device.
When I was making android app which can make connection with Arduino nano 33 IOT, I tried two different ways. first one is use classic bluetooth(BluetoothAdapter), and the second is use BLE bluetooth(BluetoothLeScanner).
But it is a little confusing which one I have to use. If I use classic, the App can search device but connect. If I use BLE, the App cannot even Search devices.
I asked a question on stackoverflow one week ago, and a kind person answered me that I have to use BLE.
So I tried it, but it is still not working...
is it ok to use classic version to make connection with BLE? or not?
You can use either BLE or classic Bluetooth on the Arduino nano 33, however, my recommendation is to use BLE as well. This is because you'll find more resources online on how to develop and use BLE, and also your application will end up using less power (hence the name BLE).
I would start with the Arduino BLE page itself which you can find here:-
https://docs.arduino.cc/tutorials/nano-33-ble-sense/ble-device-to-device
The copy the peripheral example which you can find on the page above. After that, as a sanity check, I would use the nRF Connect app on Android or iOS to make sure that the peripheral example is working as ukBaZ suggested. If everything is working by then, then you're good to start developing the Android app.
The Android app isn't going to be straight-forward but luckily there are a lot of resources that can help you get started, including the following:-
The ultimate guide to Android BLE
BLE programming on Android tutourial
Making Android BLE work
After that you should hopefully be able to connect and talk to your Arduino nano from an Android app. Remember that your Android app has to be the central that connects and reads the data, while your Arduino nano has to be the peripheral that advertises and hosts the data.
I have mostly a general question, so I'm sorry if this is too broad. But I am working on plan for a robot and I wanna connect devices together.
Basically, I want to have an Android device connect to an Arduino Uno via Bluetooth, and then the Android Device connect to either another Android, or to a Bluetooth controller. The reason for this is that I want the main Android device to be used as a controller, and feed instructions to the Android device connected to the arduino, and that device to the arduino, and carry out that instruction. But is that even possible? If not, how can I work around it? And if it is possible, any examples?
Summary:
*Android Device to Android Device to Arduino via Bluetooth
*First device as a controller, second as a brain to arduino
*First communicates with second, second communicates with arduino
Yepp bro it's possible i did with some other development board other than arduino
but the important thing is concept and it's same for all developement boards.
In my project i created a connection between an android mobile & robot and then controlled its movement through an App like picking up an object using robotic arm and its motion.
I am coding an application in Android Studio that uses analog inputs from an arduino. I am trying to send analog input from an Arduino Pro mini to an Android App. However, I cannot connect straight to the phone (USB port isn't available). The method I've thought of is to connect both the phone and Arduino to PC and read the Analog input using Android Studio and Use my phone to run the application instead of an emulator. Would this work in real time.
Is it possible to have the Android Studio run the app and the app still reads information from the Arduino real time? The application reacts to analog inputs from the Arduino. So I need to find a way to access the arduino in android studio and run the app through android studio in place of its emulator
I can't find any sources so if anyone has a clue please help me. Thank You!
You should post this to the Arduino StackExchange forum: http://arduino.stackexchange.com.
A couple things:
Android Studio is just for developing Android apps, it's not going to help you read data from the Arduino. You would need to write a separate app for the PC that would moderate between the Android and Arduino. Not fun.
When you say "USB port isn't available" I assume you mean the host port. Actually, many newer Android devices are able to be a USB host, so you would just need the right dongle to be able to connect the two. Then you would use the classes in package android.hardware.usb like UsbManager to connect to the Arduino.
Another thing you might think about is getting a BlueTooth shield for your Arduino and connecting to the Android with BlueTooth.
Hey! Wanna be a real Evil Genius(TM)? Write some code to flash the LED on the Arduino like Morse Code or Navy signaling, then write some Android code to read the video from the camera and turn the LED flashes back into data! Impress your friends! Put it on your resume!
Just some random ideas to get you going. I think the folks on the Arduino StackExchange forum can be more help.
As a part of feasibly study. I need to choose between Android or iOS for integrating it with an embedded system.
Basically, that embedded system will have an AVR or a PIC Microcontroller. I want to establish a communication between a mobile and that particular system.
Need some wireless technology for communication (bluetooth,wifi,internet etc..)
Micro Controllers have communication ports like UART, USART etc..
It really depends on the kind of communication you need.
I particular, if you have a normal WIFI connection and your controller can work with receiving & sending your data via wifi, you may go iOS or Android.
If however you need some kind of free format serial communication, you need to go Android, serial cable via USB.
recarding other factors, I guess it really is just a personal taste issue.
Could you give more info on how & what needs to be communicated and what kind of communication device you have between your phone and the device itself.
Not sure if this is similar to what you have in minde, but you might look at this: http://www.arduino.cc/ being probably the best known example in this context.
Using some serial to bluetooth module would be the most easier to implement.
I would go with Android unless your target audience are photographers. Seriously. Also, with iOS you need to be careful. For instance you want to use BlueTooth, but not all iOS devices will connect to, say, the Bluetooth protocol for a keyboard. (Ah! You didn't know there were more then one Bluetooth protocol did you?) And I don't think any iOS device will let you connect using the Bluetooth serial port protocol.
With Android you can jump in and start flying immediately by using the (or a copy of) the PIC 24F based IOIO board. And if you are an Android / Eclipse developer (I think) you can down load and use the IOIO JAVA / Android libraries. I have been told this makes programming the IOIO board just about as easy as programming an Arduino. Especially if you are well versed in JAVA, Android and the Eclipse editor. Add to this the IOIO board can be a host to the Android (i.e. connected by wired USB) or host to some Bluetooth modules (i.e. connect to the Andoid's bluetooth radio).
If you don't want to go it along you can buy the Microchip Android Development Kit (ADK) board which is also a PIC 24F based "USB wired" using AOA protocol to connect to an Android. I say "not going it alone" as I would expect you can then get limited support from Microchip w.r.t. their hardware (the ADK board), software (Android) and firmware (PIC ADk board). This solution, however, does not have built in Bluetooth support. I am guessing you can add it, it's just not part of the ADK software/firmware that Microchip put together.
I am new to embedded programming and I am given a project to establish Bluetooth communication between an Android tablet and an ARM development board with Bluetooth capabilities.
Please tell me whether this project can be done or not ??
If it can be done then how should I approach it ??
Thanks
Check out this page: http://www.amarino-toolkit.net/
They are using the arduino board with a bluetooth component to connect to android. You can check the source code of their library to see how they establish and use the connection here:
http://code.google.com/p/amarino/
If what you want is a simple and robust communication method over Bluetooth then SPP is definitely the way to go.
The only issue could be the bandwidth, but if the throughput of a traditional serial cable connection is enough for your application then there certainly won't be any problems there. IIRC then most modules have > 1 Mbit throughput using SPP.
Some information about using SPP on Android is here.
But we need a little bit more information to give suggestions about what you need to do on your ARM kit. Maybe you could post a few details about its type, which Bluetooth module is in use there, how it is connected to the ARM MCU etc.
If you're lucky then your kit's BT module can function as a serial cable replacement and you can treat it as if the Android device is connected to your MCU's UART. Of course prior to that, some configuration is needed over some interface (could be the same UART, depending on module type) to establish a Bluetooth connection.
Oh and to answer your first question: yes, it certainly can be done :)
I haven't worked with Android to ARM board via bluetooth but I have done some work communicating between an Android device and an Arduino using bluetooth. I tried to document what I learned in a series of examples. There are several that might be helpful.
http://digitalhacksblog.blogspot.com/2012/05/arduino-to-android-basic-bluetooth.html
http://digitalhacksblog.blogspot.com/2012/05/arduino-to-android-turning-led-on-and.html
http://digitalhacksblog.blogspot.com/2012/05/android-example-bluetooth-simple-spp.html
The first two examples show how to setup communication via bluetooth from an Android device to an Arduino with a bluetooth board. I would expect that to get some initial connectivity between the Android and the ARM the Android side of things would be the same.
The third example shows how to setup a simple spp client and server between an Android device and a PC running windows.
Hope this helps.