any difference between DLNA and UPnP? - upnp

I know the DLNA is subset of UPnP. I read this post : What's the difference between UPnP AV and DLNA?
But, i still can't understand clearly. Are there any features inside DLNA? how to define this device is DLNA or UPnP? Why make people confused about DLNA & UPnP?
Please advice!!

There are two main differences, I would say: scope and organisation.
UPnP's scope is limited to the UPnP standards and protocols. As long as a device has the protocols done right, it is UPnP compatible. But that's not the whole truth, as for instance, the media may be incompatible. The result is that the end user expects the system to work, but it does not.
DLNA on the other hand does not limit to UPnP standards as it places requirements for ALL standards in use. UPnP AV happens to be one of those standards but others are included, for instance:
media (ensuring media in devices is compatible, and devices recognise is media compatible instead of trying and failing)
mediaservers (exact requirements to HTTP headers and timeouts)
etc
As an organization, UPnP is essentially a collection of protocols and a number of people working on developing that protocol. DLNA on the other hand (as the name suggests) is an alliance of companies that saw that they need to do something that their devices start talking to each other - without errors.
A rough analog to mobile phone world:
UPnP: phone has correctly implemented GSM/3G stack
DLNA: you can actually call from one phone to another and have a conversation :-)
From this analogue you can assume that DLNA specs are more complex.

Related

CAN-bus bootloader standards

I'm developping an open source OTA update system for a few MCUs of a certain project. I wonder if there is some "standard" protocol for CAN-bus based bootloaders. Everything I saw online and in Application Notes from the chip manufacturers seem to be using their own brand of communication and thus their own specialized upload software too (mainly for demonstration for ANs).
My question is, am I missing something? Is there some standard way of doing this I'd rather adhere to, or should I just roll my own like they do and call it a day?
Features I'm interested in for the protocol side besides the obvious ones: checksumming, digital signatures, authenticated encryption.
Based on your tag, despite I do not see this from your question, I assume for now that you want to develop a boot-loader for automotive ECUs, which have a CAN connection.
The relevant protocols, which provide the services, are ISO 14229-3 or SAE J1939/73, with the first one much more common to my experience.
For development purposes, also ASAM MCD-1 XCP has support for that.
However, these are just the communication services and does not include usual usage patterns, which differ a lot across the OEMs.
For security, the German OEMs put a document together called "HIS Security. Module Specification", which I unfortunately did not find any more on the web.
They also have a blueprint for the design of a boot-loader.
However, this is anyway somewhat outdated, as boot-loaders today often are at least partially based on AUTOSAR, like the applications.
Last from them, you could also get a document partially specifying how the services above are used for flashing an ECU.
If you need further input, feel free to ask.
However, you will need yourself access to the non-free industry standards and recommendations.

PLC Programmable Logic Controller Protocols

I'd like to integrate a PLC with a computer. Set outputs and read inputs. I've looked at Modbus and its simple although if I want to act on the change in a input I would need to poll the input to detect the change. Are there any open and common protocols used by PLC's that would push/update on sensor/input change rather than requiring polling?
OPC UA (Unified Architecture) is an open protocol standard implemented on many PLCs with many PC client implementations available. It supports both "subscription" and "event" mechanisms, in addition to polling and other communication services.
Open and common, and also simple to implement, I don't think there are.
You should look for terms like "report by exception" and "unsolicited reporting". DNP3 for example has this feature, it's widely used in electrical applications, but it is not simple to implement, nor is it open.
Depending on your controller, maybe you can look at MQQT, there is support for Arduinos and RPi's, and also industrial controllers like WISE-5231
The two previous answer's are decent. As Nelson mentioned, you haven't specified which controller you are using. You also haven't mentioned what on the computer you'd like to integrate with the PLC. Beckhoff's TwinCAT PLCs can use MQTT, OPC-UA as well as a host of other protocols. They also offer libraries to use their ADS protocol.
As part of ADS, you can either set up an ADS server on your machine (it's very easy) and have your PLC's write to the server. The more typical way is to subscribe to variables/structure in the PLC using this ADS mechanism from within your program's runtime. An event will be fired when the variable struct changes (you can specify how much it should have changed by, if an analog value).
The method you pick is probably dictated by your architecture. If you have many PLCs, I would set up an ADS server in your computer, if you have a handful, subscribe from your program. Of course, you can mix and match these approaches too.
Here is a page of examples: https://infosys.beckhoff.com/english.php?content=../content/1033/tc3_adssamples_net/html/tcsample_net_intro.htm&id=8269274592628480035

What options are there for a IP camera to webRTC/ORTC gateway? Onvif compatible or not

There was some discussion on this topic here but not specific to my questions. You can consider this as an extension to the question asked there. Googling gives only two possible solutions: Kurento and Janus. The questions I have are:
Are there other options, opensource or otherwise?
Among these options, can someone share some experience based upon actual use?
Is there a list of IP Cameras which are compatible with such gateways? Or
What specific features must an IP camera have to be able to use such a WebRTC gateway?
Is is correct to say that if webRTC indeed takes off, then webRTC support for IP cameras is just a matter of time, which will get incorporated in standards such as Onvif?
I do not need an application per se but just the bare minimum so that other WebRTC components can be plugged in to create an application. The issue is not just about codec conversion but about some related signalling (as distinct from the WebRTC signalling which is anyway not standardized). This is discussed nicely on Kurento here.
I have also read about IP Camera standards, in particular Onvif. I am not looking for any compatibility with this standard which is a different issue.
I did take a look at arguably the most popular opensource software for CCTV cameras: Zoneminder but that is a very bloated software, a full-fledged application and does not have any support for streaming camera video/audio over webRTC.
Kurento has been reported to work well with RTSP camera feeds in many occasions. You can check the official mailing list for that. There's a demo here, if you are interested on how it would be done. There's a pull-request that you'll need to include, and though it could be outdated, the demo works just fine still, for letting you know how to do that.
Disclaimer: I'm part of the Kurento project.

Is it possible to implement Proximity not by using NFC but using any other functionality that can transfer messages

I am reading articles about Proximity on Windows Phone. I have the following ideea. I have an app that can exchange small messages between two phones through encoded audio. Can I use proximity and replace NFC support with my app that transfer messages using sound. I need only an advice if the NFC usage in proximity can be replaced with any other functionality that can intentionally send certain messages. I want to know if it;s a good ideea to pursue my concept.
Thanks
Unfortunately for you, Windows Phone OS is not a LEGO constructor where you can replace core system services with your own implementation.
At least not with any documented API.
And if you'll use some undocumented APIs, forget about the windows store.
You can probably do that if you're representing an OEM company that builds windows phone devices.
If you're an individual, what you're trying to do might be possible with Android OS. Search for something like "android building custom ROM".
P.S. I think it's a great idea to pursue your concept.
I really miss the simplicity of IR ports in devices.
Very likely, your acoustic pairing could do the job just as good, while requiring no extra hardware.

Object Oriented module/definition for networking devices/topology?

Is there any module/definition available for a class/schema for representing the topology, connection, access details etc of networking devices ? The intent is to use this for automation, and to manage routers/servers as objects rather than as tcl keyed lists/arrays which gets unwieldy.
Look at SNMP (Simple Network Management Protocol). Most network devices and services, from IIS to Cisco routers, provide some sort of SNMP interface that may provide the capabilities for which you are searching. Specific implementations and capabilities vary between vendors and devices, but the protocol is standardized and very widely implemented.
The word topology in the context of communication nework refers to the way in which how devices are connectd over a network. Its important types are
BUS
RING
STAR
etc
Look into MIB2 (SNMP based). You should note there exists 10's of different MIBs to representing various networking technologies / solutions. You can even devise your private MIB to suit your needs.
You should refer to relevant IETF drafts explaining the nomenclature used in MIBs (when I find the reference, I'll post it).
I could also suggest you perform searches on keywords such as "OSS", "Network Management", "NMS".