End-to-End communication between two networks - router

I studied your article (CoAP) in https://www.rfc-editor.org/rfc/rfc7228.
we are developing Home automation Solution with IoT enabled devices.
I have following doubts to provide the seamlessly solution for Home Automation.
1. I have some appliance with Wi-Fi enabled controllers
2. These controllers are connected to One Standard Router (ex:- CISCO,TP-Link, D-Link). All appliance connected to one router through Wi-Fi.
3. These appliance controlled through local handheld devices by using our proprietary protocol with in the Home network.
Now, we want to give a one feature like operate these appliance by using Handheld device from Remotely.
Internet is enabled to this Router & also register one domain name.
But our problem is how to send commands or data from remote devices through Internet to home appliances.
Note:-
1.I don’t want to develop or place controller between IoT devices &
Remote handheld devices.
2. Request is initiated by remote handheld device only.
I hope, any body can guide to me for better solution.
Thanks in advance

Even if it's not a programming question I would like to make some references that can help you with decisions:
AllSeenAlliance AllJoyn Framework SmartHome Working Group. I think, it will guid you how to develop better solution.
HomeOS by Microsoft Research

Related

Device Wifi Setup Walkthrough

Most electronic home goods today are able to be setup through a webpage to connect the device to a home network. Usually there is some sort of bluetooth or wifi direct finding mode to access the device and then using a webpage or app the device is given the SSID/password for a wifi network and then you're off to the races. What is that tech called? I would like to replicate the setup experience with a generic IoT device running linux. I just don't know what that process is called to start digging into how to do it.
Bluetooth and Wifi-direct specifications are (consumer-usage-wise) public-domain knowledge, just setup a temporary open server and accept any connection after each hard-reset, and do what you have to do like here (BT) and here (Wifi-direct). There are other proprietary technology like TI CC3000, which usually relates to specific hardware solutions.

LAN web server for testing my websites on my phone?

I am a front end web developer.
I would like a web server on my local wifi network for testing my websites on my phone. I am aware that there are several options out there but witch one would be best for quick testing of multiple websites (also a GUI would be preferable)
Thanks
What you want to do is pretty complex. You have to create and configure a DNS server then you have to configure your phone to get this DNS, etc.
If your phone is an android the best solution is to use your USB Cable and put your phone in dev mode, then you can debug your site with chrome directly on your phone.
how to: https://developers.google.com/web/tools/chrome-devtools/remote-debugging/
For iPhone i don't know if is possible. But the common solution is to use the simulator.

Bonjour - one server multiple clients - ios iPhone

Im developing an app where one iOS device act as "server", and other devices are acting like clients.
Im getting hard time with understanding if I can make this using Bonjour
If I make an example:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
All devices have same app installed. All users are connected to the same WIFI.
User must login into app, and when it does, chat rooms are populated from CMS (web server) from internet.
All of them see e.g. all "chat rooms". But at the beginning chat rooms are all read only. Anyone can browse these, but nobody can write into them.
When administrator (user with admin privileges) opens one of the chat rooms; all clients are now able to write into "open" chat rooms.
Of course when one user writes something down, the other users see the newest comment from him.
Administrator should see all clients in chat room but clients cannot see each other.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
All samples which I have found (WiTap, videos from WWDC,...) are using two devices only. I've installed WiTap on 4 devices. And I can establish connection and working "sample" game with two devices.
Can Bonjour service be used in such way that multiple cients are connected to one "server"?
Any hints are very welcome!
Yes, Bonjour can be used like that: for example Apache on Mac OS X has mod_bonjour so that web browsers can find a web server on the local network. That can mean having one server but multiple browsers: exactly the situation you describe.
One limitation is that the way Bonjour is configured in iOS means that the server and clients need to be on the same local network. It doesn't sound like the situation you describe is compatible with using Bonjour in that way, but then I also don't think you need to. You can use the DNS name of your chat server in the app, so any app can discover the server. The server can also be responsible for discovering which clients are connected and allowing people to find each other (indeed, I guess that's what the chat rooms are for).
This is a good place to start. http://mobileorchard.com/tutorial-networking-and-bonjour-on-iphone/ I have build the same Server and client with the help of chatty. But you will face one problem in iOS5 only, when the iphone will go to sleep mode, the socket connection lost. I am not able to solve this problem. So, looking for help. :)

Communication between iOS app in one Wi-Fi network w/o server

I need to communicate my app with 2 devices. A restriction is that I can't use a server but all iOS devices will be in one Wi-Fi network. What options do I have? How I can send a message to another copy of my app running on another device?
I dont know whether its a correct approach or not but as you cannot use server,so the approach i can think of is we can create a socket connection using TCP/IP or UDP(based on reliability) for data exchange.
I dont think you can communicate between 2 devices running the same application without having some kind of server application in-between.
Even if you could find the other device over the WIFI I dont think you can tell if the other device is running the app or not.
I think you may be referring to MultipeerConnectivity
The Multipeer Connectivity framework provides support for discovering
services provided by nearby iOS devices using infrastructure Wi-Fi
networks, peer-to-peer Wi-Fi, and Bluetooth personal area networks and
subsequently communicating with those services by sending
message-based data, streaming data, and resources (such as files).
Source: https://developer.apple.com/library/ios/documentation/MultipeerConnectivity/Reference/MultipeerConnectivityFramework/
Apple Sample:
https://developer.apple.com/library/ios/samplecode/MultipeerGroupChat/Introduction/Intro.html

How does a windows phone sockets game work ? Bluetooth? XBOX LIVE api ?

Must a game be client server which then requires me to stand up a server? If so, can I do that on a web host? Azure? ..
If not, then how do the 2 window phone clients find each other?
I am having difficulty understand the main blocks invovled in doing this and how they come together...
What about bluetooth ? From what I have read so far there is no access to the bluetooth api ?
Is there or wil lthere be any helpers from xbox live and thier api to let a indie dev set up connections ?
There are 2 options for creating a real time multiplayer game.
Devices connect over the internet or used a web based mediator to relay game data.
Devices connet via sockets over UDP.
If you choose option 1 then you can host your web based component anywhere.
If you choose 2 then there is a sample that may be of interest at http://msdn.microsoft.com/en-us/library/ff431744(v=vs.92).aspx
There is, currently, no support for working with BlueTooth in the API.