Click here to Skip to main content
15,041,393 members
Please Sign up or sign in to vote.
4.33/5 (2 votes)
Excuse me,all my friends.

I want to do a small project as my graduation project.
It is controlling a robot car with camera by my phone.
Like this, i can see my home in everywhere, only having mobile network.

My idea:
phone←→mobile signal base station←→internet←→home network service provider←→lan router←→robot car with camera

I analyze this project.
The system can be devided into three parts. software is developed.
android phone, use java, mybe easy. and camera.
I can buy mature design and material in online shop,using Arduino or Paspberry Pi. Many design use Arduino, I don't know whether Arduino can enough do it. I think Paspberry Pi is berrer, but i can't find mature design in online shop.
I don't know how to do, but i have three idea.
① lease a public network ip. It's very expensive.
② IP camera with spk+mic, through changing the frequency of the sound, control robot car. I need buy a IP camera, but i think i can't get program interface.
③ LAN penetration and so on.
Like Pagekite, Ngrok, or get a free domain name and port number.
I think the third idea is better.
But I don't know how to do or set.
All my friends, do you have other methods?
Or plz teach me how to use Pagekite,Ngrok or other same app.
it is install in router? it is need openWRT?
Or tell me where i can get free domain name and port number.

Thank you very much!

What I have tried:

I can find free sub domains, but not have port.
Updated 4-Sep-16 23:50pm
KarstenK 30-Aug-16 10:34am
You need a public IP from your home lan router. Some static IP service like DynDNS. And think about security: login credentials and encryption (maybe https)
johannesnestler 30-Aug-16 13:47pm
funny idea and sounds doable. I think about a VPN Connection, don't know if this could work though... Like karsten I had used DynDNS to make a "fixed" IP from outside my network in the past...

1 solution

For testing you can do the following without spending any money or a learning curve with some Dynamic service.

Open the port on the home router you wish to use, something like 5505
using something like What's My IP Address?[^] you can get your IP address or host name. Now as long as your router or line doesn't reboot or reconnect that will be (semi) static.

Armed with these two you now have a way to connect to your home network from the internet.

InetAddress a = InetAddress.getByName("your_host_name_from_the_site_above");

   String port = 5505 ;
   String ip = a.getHostAddress();

If your router reboots or drops the line you will need to change the host name again.

Some routers allow for dynamic serving/setup, I'm afraid you will have to google how to open ports or dynamic setup for your specific router.


This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900