Display video stream over http on xamarin.forms - xamarin.forms

I'm streaming raspberry pi's pi camera over pi's local ip address with specific port. (eg: 192.168.1.111:8000/stream.mjpeg)
I can see the stream over xamarin.forms webview but I want to display it on Xamarin.Forms app with local media players for both iOs and android. Thus I can add control buttons for camera under the videoview. since it is live streaming I dont need forwards or backwards button functionallity.
I definitely lookup at least 5 pages per google search for all the keywords I have but there is nothing I find useful.
Any clues, starting points are appreciated too.

Related

Accessing IP Camera stream in browser

I am trying to access stream of ip camera in browser, I can access it via its dedicated mobile app but unable to access the ip in browser. I don't have in depth network knowledge. But I guess there must be a way to achieve this if there is a way to identify the protocols used by camera. I am using hdwificampro, any direction to proceed.
Is there a checklist to follow to find this out?
What is the camera brand?
The first step is to discover the ip address and port of the camera. Usually, each camera manufacturer offers a software tool that is able to scan your network to retrieve the IP address of the camera.
For example, with a Uniview camera, you would use their EZTool, as described here: https://rtspplayer.com/?p=238
If the camera is ONVIF compatible, you could be able to discover the camera using ONVIF Device Manager: https://sourceforge.net/projects/onvifdm/
Finally, once you get the ipaddress, you only need to type it in your browser, using this format: http://ipaddress:port/

how get the images from the flying drone to the phone or cloud

we are doing a project on image processing using a camera,raspberry pi3 and a gsm module. Above mentioned things are with a flying drone. I can send a notification message to a mobile using gsm module if required object detected on the cam. But we store that image to view on a webpage or through a mobile app easily. while it's flying it can't connect to the internet. So can you suggest a solution to get those images when it is inside our home wifi range.(any how we can get the images from sd card but i need to get those as soon as possible it detected the wifi) . Thanks in advance
You could consider using "tethering", a.k.a. "Personal Hotspot" in Apple parlance, on your mobile phone.
Basically, you would enable the Personal Hotspot on your iPhone and allow your RPi to connect to it via Wifi. You would have to check your setup, but my iPhone takes IP address 172.20.10.1 for itself and dishes out IP addresses to clients which are the same but with the 1 replaced by a small number under 13.
You can see from here how to setup your RPi to automagically connect to your Hotspot whenever in range. You could also consider fixing a static IP address when on that network, so you know where the RPi will show up for sure.
You would then ensure that Apache, or maybe lighttpd which is lighter weight, is running on your RPi.
Then, your app on the RPi would store its image as image.jpg in Apache's DOCUMENT_ROOT directory, probably /var/www/html/image.jpg but check.
Now, on the iPhone, start Safari and browse to:
http://172.20.10.N/image.jpg
where N is a small number. You should see your image and be able to save it to DropBox or Photos or iCloud Drive for others to see.
Of course, once your RPi is connected to your iPhone's hotspot, it can FTP or ssh copy the image to any website or other server on the Internet it has access to itself.
I have understood your question also I have cheapest solution to build your project. you will be needing 3 modules
ESP8266 (Wifi module)
SD card logger
Camera module(go with your choice, try ESP8266(But I have not tried it))
Combining all these can get your work done. But most instructing part is When connected with wifi it should transmit video to webpage or app and when not connected should log video to SD card
Below is my try to solve your problem, if you have any doubts feel free to ask your question.
ESP8266 is an WiFi module, you can connect it with an hot-spot or an router, similar to any WiFi device's on successful connection it throws 200,OK failing will throw 404 or so. Technically just like any TCP devices it will work. You can connect, disconnect, send and receive data continuously using software(using code you write).
0-code for camera unit starts
1-try connecting WiFi && start the camera and start logging into SD card //InCase if WiFi module takes longer time than usual to connect, this will prevent data from losing
2-if connection failed - continue writing to SD card
3-else(connection made) - start streaming the data && stop the SD card logging and save the file and create a new empty file so that we can save on next connection out without wasting data.
4-check for connection status in regular interval (goto step2).
5-on any external inputs(like click an image)
most important thing: code for your camera interface should work independent from the flight controller code.
-NandhaFrost

How do I program this BLE location tag?

I bought one of these:
https://www.aliexpress.com/item/Smart-finder-Key-finder-Wireless-Bluetooth-Tracker-Anti-lost-alarm-Smart-Tag-Child-Bag-Pet-GPS/32806261079.html
As far as I can tell it is a BLE (Bluetooth Low Energy) location tag.
I downloaded the app for it onto my iphone, and the app instantly recognised it and connected to it. The iPhone app seems to know how far away the tag is - it has a little map of the local area and says how many feet away. I was able to set the device name via the app, but I'm not sure if that set it locally or on the tag itself. The iPhone app also has a "find" button - when you press it, the tag beeps.
So I want to know how I can program this thing myself. I want to be able to identify it when it is nearby, connect to it and make it beep. I've searched for quite a while but not come up with much.
I'm assuming (wrongly/rightly?) that there is some general standard or approach for talking to these BLE location devices and carrying out the basic functions with them - but what is that standard - where is the documentation?
Does anyone have any idea how to program these BLE location tag devices?
BLE devices typically communicate using GATT, either using standard GATT services, or custom ones. The command to make it beep is probably implemented using a custom GATT service.
For finding out the distance to the beacon, typically the RSSI is used. This is a measure of the received power. It needs to be compared to the output power at the emitter. Usually beacons will put their output power in advertisement data, so it can be used without connecting to them. Here since the app is also able to send commands to the beacon, chances are it keeps a connection to it and has a custom GATT protocol to retrieve the output power.
Here is what I would suggest:
Read up on BLE, especially advertising and GATT. For instance read this for advertising and this for GATT. The full BLE spec is available here but should be used for reference and not introduction
Sniff the communication between your device and your phone. You can see this other answer of mine to get started
Replicate the communication protocol in you own app. For that you'll need to use your target platform's BLE libraries. For instance for iOS it is CoreBluetooth

IBeacons with proximity and clickable button

I am trying to find informations about IBeacons, plus bluetooth Dash Buttons and google delivers contradictory results.
Is there a IBeacon's with an button to click. And an interface on the connected device to react on the click event?
I need if possible to have the proximity and click event.
Is this even possible with IBeacons/BLE specifications?
All kind of informations are welcome.
Thanks
IoT buttons like Amazon Dash and Bluetooth LE beacons like iBeacon have fundamental differences:
Amazon Dash connects to the internet over WiFi to make a web service call on button press, and requires configuration with your WiFi network. Other IoT buttons work similarly, although some connect to the internet via a nearby mobile device using Bluetooth. You must write some code and deploy it to a cloud server to do something whenever somebody taps the button.
Bluetooth LE beacons like iBeacon are transmit only Bluetooth LE devices that do not connect to the internet, but simply sent out a bluetooth packet with a unique identifier. These devices are much simpler, and rely on another bluetooth-enabled computer within 40 meters to be listening (typically a mobile phone). You must write an app on the mobile phone then does something when it detects the beacon transmission is detected.
Most Bluetooth LE beacons are always transmitting, although it is possible to buy ones that are click-on click-off like the RadBeacon Dot. This could provide similar functionality to a Amazon Dash if a mobile app is running nearby that can forward the detection to a similar cloud sever as used for an Amazon Dash solution.

How to extend Sony Remote Camera API access point range?

Just for reference the Sony Remote Camera API only works by using a 1:1 Wifi Connection
The Wifi signal strength of my Sony DSC-HX60V camera already drops after a few meters distance. But I want to be able to remotely control the camera over a range of 50 meter. There is no way that the onboard Wifi can achieve this range.
So now Iam looking for a solution to this problem. If it helps a local Wifi router exists that covers the whole range:
A normal Wifi repeater seems to be the best option, but according to a Forum Post using a repeater does not work, because the repeater acts a client and the camera can only connect to one client at the same time. Did someone got it to work with a repeater?
Additionaly I was thinking about using a Raspberry Pi with a second Wifi adapter that connect to the local Wifi and manages the API requests.
Any other ideas?
Disclaimer:
Even tho this Question may be more Hardware and Network related and thereby fits more into the SuperUser Network. A working Network connection does not necessary imply that the API is working aswell. This is why I posted this Question here
If you have a router which can work in 'client mode' that should be able to make a 1:1 connection with the camera, and then present that link over ethernet - you may have issues with network addresses and/or discovery if your main network is a different IP range to what the camera offers/DHCP's.
Some of the Sony cameras support 'multi-wifi' where the camera connects to an external device (normally the LiveViewRemote, but can be a router). Unfortunately the HX60 (and presumably any of the Play Memories SmartRemote app based ones) does not seem capable of this.... maybe the QX1 is an exception as it's supposed to work like this.
This connection connection is managed via WPS, and once connected the RemoteAPI works well. Works for my AS100.
If you are looking to set up a RaspPi, I can confirm that it works with this Python library:
https://github.com/Bloodevil/sony_camera_api
https://www.youtube.com/watch?v=xR3gAfu4Hfw

Resources