I am newbie. I am having jennic nodes jn5148 ek010 and i am using jennet stack.I am using eclipse and provided libraries on win 7 . I wanted to know that whether wireless interface between these nodes , using jennet, is possible ,if yes then how?
Your question is not clear. So please, update your post to clarify what you actually mean.
Some background to the JN5148 boards is that they communicate via the IEEE802.15.4 protocol:
JN5148 product page
The IEEE802.15.4 standard provides a MAC and a PHY layer: Wikipedia reference. You can use this MAC layer directly or you can use Zigbee, which allows an application interface to the wireless communication: Jennic's implementation of Zigbee
If your question is whether you can communicate from your JN5148 to your PC directly, this is only possible if your PC supports IEEE802.15.4, which it probably doesn't. Otherwise you can always connect one dedicated node to your PC and communicate via a serial interface.
If your question is whether you can connect your nodes to the internet, then the answer is yes. 6LoWPAN is the version of IPv6, which can be communicated over IEEE802.15.4 or other low-power wireless communication: Wikipedia reference. In order to connect your 6LoWPAN network to the actual IPv6 internet you need an 6LoWPAN gateway as described here: Designing a 6LoWPAN Gateway
If I did not answer your question, please clarify what you want to know.
Related
I think I have a fundamental misunderstanding of how networking and peer-to-peer applications work, I would be really appreciative if someone could help clear things up for me.
I am designing a small peer-to-peer file sharing application, and it seems like I can't connect to a device on another network without forwarding a port from the router to that device. This seems rather tedious; if everyone using the application has to forward a port to their device it would make the application unpractical. Is there some way that p2p apps communicate with each other directly, or are p2p applications actually just a set of server and client applications working together to form a network?
In other words, do I need to forward a port on one machine and use it as a server initially, then as the network grows larger just hope that others will do the same? Or is there something I don't know / don't understand about how p2p communication works?
I would like to make an application for iOS devices that would communicate with a special type of remote device using HTTP POST requests. The problem is that this device would actually act in the role of a client, while iOS device has to be the server accepting the requests. The next problem, host name and port has to be configured statically at the device sending the requests.
While I'm aware it's possible to give it a try using Dynamic DNS services and UPnP/IGD or NAT-PMP to overcome the problem with iOS device being behind the NAT router, I was wondering whether using Bonjour could simplify the problem in some way. I'm quite a newbie in networking so I'm looking for the direction and want to avoid research of Bonjour if it's not going to bring me anything.
Any other idea of how to solve the problem is appreciated as well.
I had a think about this. IMHO you can't guarantee you'll always be able to expose an iOS based service over a WAN (although it's possible) so this isn't practical.
The best solution I suggest is using uPNP to open the device behind a router to the outside world, then have it send an iOS push notification to the iPhone with the details (hostname, ip, port, etc).
The iPhone would then would then have to set up some kind of persistent connection with the firewalled device to receive data.
Bonjour is a good system to discover and connect to services/clients, but only on your local network. I don't think it is a good idea to try it over the internet.
I'm trying to do a sort of network discovery using the iPhone.
By that I mean I want for example a list of all the computers in the LAN that the iPhone is connected by wireless, and the list should contain the ip's and MAC addresses of any powered on computers that may be in the LAN.
What's the best approach on this?
(any code would be appreciated)
Thanks
Consider trying to implement netstat on the device. You'll want to use reachability to ensure that you're only checking when the device is on a LAN.
Depending on the network, consider using Apple's bonjour service to discover services running on networked computers.
http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/NetServices/Introduction.html
Like Jeremy said above, you could look into using Bonjour. I'm not too familiar with Bonjour, so I'm not sure if it will pick up on every machine on a LAN, or if it will only pick up devices that have published services via Bonjour, like printer sharing or SMB file shares.
That said, it's probably a good place to get started, as the Apple docs have some good code samples. In particular, you may be interested in the NSNetServices and CFNetServices Programming Guide: CFNetServices - Browsing For Services article. There's a code sample there ;-)
I'd love to be able to mod the iPhone tcp/ip stack to route packets over the accessory port either serial or better yet USB or Firewire...
The applications I'm researching wouldn't be able to use WiFi, 3G or bluetooth...
Custom apps could be written to use the serial port available via the accessory port, but it would be nice to support generic apps that need network access.
I haven't tracked down much info relating to this, anyone have thoughts??
About the only way this could work would be to Jailbreak the device, and do some quite low level hacking. OS X supports NKEs (Network Kernel Extensions) that would allow you to introduce a new network interface. I don't know if the iPhone OS has these (as there's obviously not much information on it - it's supposed to be a black box). Even if it did, you'd have to make your KE lie and claim to be e.g. the Wifi device, as many applications will probe for network availability by searching for the Wifi interface.
Basically, I think this is an untenable idea. You can use the External Accessory APIs to allow your custom apps to use your dongle as a network service provider, but you can't use it to provide a new network interface. If you want this kind of open, extensible platform, then the iPhone is not really the right platform.
So I have a project I am working on, and I would basically like to send a basic yes/no command from the iPhone to a wifi enabled device that is also connectedto the network on the same router. This other device is not a computer, so I am wondering if I can still use Bonjour? In order to use Bonjour, do both of the communicating devices need to have some sort of a script installed and running that is allowing them to communicate? What would be the best way to connect to this device that is connected to the router, and then to send information/commands to it? I could really use some help finding a direction, because once I identify which tools I need to use, I can research them out and get it done (maybe). If anyone could offer any insight/suggestions whatsoever, it would be greatly appreciated!! Thanks in advance
Bonjour is a local service discovery protocol based on multicast DNS. Even if your device supports it you still need some piece of software on the device to listen to your commands.