Passing on IP camera through raspberry pi - linux

I've been having problems with a project of mine. I had a raspberry pi connected to webcams but I found that this was too much load for the RPI. This is why I decided to purchase and use an IP camera. The only problem though, is that the IP camera does not get wifi reception where the it should be placed but I have a powerful Directional antenna which I can attach to the RPI. I want the RPI to route internet traffic from the camera plugged into ethernet, over the wifi. I'm not one hundred percent sure how to do this but so far I have giving the wifi priority over the Ethernet and set up a dhcp server so that the camera gets an ip address.
In my current setup, when I am hard-wired into the Raspberry pi, I can connect to the camera (on 192.168.2.10) but outside, I can only connect to the web server which is also running on on the RPI. I'm not sure if the port forwarding of the camera works but I want to be able to access the webserver on 192.168.1.117 (this works) and I want to see the camera on 192.168.1.117:10 (this does not work). To try to do this, I followed this tutorial but I cant seem to get any results after finishing it.
Any help is greatly appreciated! thanks.

You may want to try UV4L with the mjpegstream driver. It turns your IP camera into a (virtual) Video device available on your RPi. An example is here (in step 3 pass the URL of your IP camera stream).

Related

Port forwarding using Raspberry Pi

I installed a PPP (Point to Point Protocol) in my Raspberry pi in order to connect with another Linux based card using serial port (with USB-RS422 cable). The PPP is well installed and configured, so from the raspberry pi I can ping the Linux card, my goal is to access the Linux card through the raspberry pi, I active the port forwarding in my raspberry pi also I added a route in my PC (Windows based).
For information, my PC is under my company network, the raspberry is under an IoT device network managed also by my company. Please have a look at the below diagram to well understood the situation.
enter image description here
My Question is : Do you have any idea to how can I access the based Linux
Card through the raspberry pi? Should I use nftables for that? if yes how? any other suggestions?
To clarify more, I changed the design, which means I connect my raspberry pi to my pc using ethernet cable and tried to ping the based card through the raspberry pi, it works well, means that I could ping the based card from my pc. Please have a look at the below picture:
enter image description here

Raspberry Pi Local Network serving website with node and controlling analog ouput

I imagine the following setup:
A Raspberry Pi creates a local wifi network with a fixed ssid and pw
When connected to the network with any device and going to a set ip address, it opens a website served from the Raspberrys Node server. (Static would also be ok)
The served Website should be able to control Pin outs of the Raspberry, to control other circuits (GPIO).
What would be the right tech stack to do that and what hardware do I need?
Thanks!
This setup would work to drive the outputs of the Pi. You would need the Raspberry Pi, a Micro SD card (Assuming it is a modern Pi), A USB power plug and some way to connect the outputs. A few jumpers and a breadboard would do the trick but there are also breakout modules available,
You can then write your own software for the Pi or use something pre-made like, http://webiopi.trouch.com/

How to p2p_connect to device with WiFi Direct without MAC Address? (Raspberry Pi and Android)

I have an Android tablet and A Raspberry Pi and I want to established a connection between them automatically when the tablet sends a request to the Pi.
I followed an Android application example here and start discovering any nearby devices. (https://www.youtube.com/watch?v=qnY97iBxp30)
At the same time i run sudo wpa_cli and p2p_find 20. The Android application detects the Pi, and I try to establish connection with the Pi which will display
<3>P2P-GO-NEG-REQUEST TABLET_MAC_ADDRESS dev_passwd_id=4
Normally I would just p2p_connect TABLET_MAC_ADDRESS pbc to successfully connect them together but I find it inefficient if I were to swap to another mobile device.
Are there any other ways to connect the tablet without writing the tablet mac address? For example connecting to that specific device ssid when they send a P2P-GO-NEG-REQUEST to the pi?
TL;DR Nope.
If we look at the OSI ISO 7 layer model for network communication we can see that the Media Access Control (MAC) address is vital for identifying which device is which within a wifi network.
You could try setting up a bluetooth connection or a token-ring, but I suspect that would be more effort than you are looking for.
With IPv6 your devices could use neighbour discovery to automate past the MAC entry to the Internet Protocol, and its possible to connect between devices using their link-local address (fe80::some:thing)
Wifi carries packets of data, that have addresses. By analogy, if I tell you which town I live in, but don't write my building address on the packet, you are going to have a hard time delivering it.

Why volumio.local was able to access the raspberry since it connected to local network

After setting up volumio on raspberry, an interest feature was that you can use 'volumio.local' as the address to access the webpage hosted by raspberry, and there was not much to worry whether the ip address changed every time the raspberry connected to the local network. I was wondering how did volumio do that and how to setup an custom address for an raspberry to do the same.
It uses a system called Bonjour, which can locate devices and services on a local network using multicast Domain Name System (mDNS). See this Wikipedia article.

Alternate ways to log into BeagleBone Black when static IP is unknown

I am attempting to access my BeagleBone Black but I am having some issues and I'm needing some help.
I messed around with my BBB almost 2 years back and I statically set the IP address for eth0. Unfortunately, I don't recall what I changed it to. If I knew the network, I could probably figure it out but I haven't the slightest clue what it could be.
I am running Windows 10 on my laptop and I have a USB to USB-mini running to the device which provides to it power and a connection.
I have installed the latest drivers, PuTTY, and WireShark. I made sure the drivers were imported, ran WireShark for DHCP requests/ARP broadcasts, LL DNS updates, or SSH port references but I wasn't seeing anything on that particular interface on my laptop (ran as promiscuous and nonpromiscuous).
I read that the default IP address for the beaglebone.local is 192.168.7.2 but I wasn't able to reach it via ICMP, HTTP, or SSL.
I assumed the USB connection provides either an Ethernet-over-USB connection or a serial connection (UART through USB), so, I have both the USB connected and the Ethernet cable connected.
To see if I could just use a serial connection with PuTTY (Serial-to-USB), I opened Device Manager to see which COM port it was using. The odd thing is that COM ports aren't listed in Dev Manager, not even by default when nothing is connected. There also wasn't section for Unknown Devices.
I figured at this point, it wouldn't hurt to download the latest release of Debian for BeagleBone. I wrote the .img to a 32GB MicroSD card and held down the USER/BOOT button while I applied power (as per the instructions).
Still no luck and I'm now out of ideas.
I only have a laptop at my disposal, currently. I don't have immediate access to a monitor, mouse, and keyboard so I wouldn't be able to view what is happening internally. The LED0 is giving me the standard heartbeat flash (2 consecutive flashes followed by a longer off period).
Does anyone have any suggestions?
TIA

Resources